As the complexity of Cloud Computing is reaching clouds, we are posed with problems that never existed before and deployment is being one of them. Of course, one could always go for Virtual Private Servers (VPS) or (opting for more modern means) cloud services such as AWS, Azure or GCP. These providers have fulfilled their promise of easing the process of deployment to an extent, but the ever evolving nature of cloud has rendered it still hard to navigate through.

These platforms, that we could call Big Cloud Providers have gotten complex to the point it must be proven that we are worthy of their services (of course, by taking some exams; I just made it over-dramatic…) Even the simplest of them, GCP is hard to know around.

So, bye-bye BCPs…

Now, coming back to our good old VPS Providers (such as Digital Ocean, Linode, Vult…), they still demand the knowledge of additional skills like linux and sysadmin, so let’s outright label them as not-simple.

With the Big Cloud Providers and VPS Providers out of spectrum, I’ve run down three providers which I deem good enough for these times’ use:

  • Netlify and/or Vercel (for hosting JAM stack or serverless apps)
  • Hostman (for both front- and back-end apps)
  • Heroku (for back-end apps)

Netlify and/or Vercel

Netlify is a popular front-end hosting platform. I know what you’re thinking, and yes, I have a reason to include something such as this here in this article; the reason being that they are one of the major innovators of a new trend in web development, namely, JAM (JavaScript, API and Markup) or more popularly known as JAMstack.

Also, it is one of the easiest solutions for using serverless.

That is not even the tip of the iceberg, however. Netlify uses serverless functions, powered by AWS Lambda, for backend usage matters.

Authentication of users can easily be enabled with Netlify Identity.

_And don’t get me started about CI tools and CDN…oh, sure, I must get started! Well, it acts as an abstraction layer to host, so easy that a simple drag-and-drop is all you require. Github (and other git repositories) Integration is a given feature, so all it takes for the entire application to be built and hosted in the CDN is a _git push.

Advantages:

  1. The Vendor Lock, yes. It is not a thing for most of the services (in fact, all of the ones except their extra services) in Netlify, so migrating from it should not be much of a problem. Also, their services like git gateway, identity and CMS, all of them are open source, so you could rehost them if required.
  2. It’s one of the easiest solutions for using serverless functions. You just have to write the code and put it in a folder and netlify will take care of the rest. And even for non serverless needs (Frontend Hosting, etc.), you only have to set it up for around 5 minutes and that’s it. You don’t have to worry about anything else.
  3. It is, as mentioned earlier, one of the best options there is for JAMstack.

Disadvantages:

  1. Serverless, serverless and serverless — Netlify doesn’t support anything other than serverless functions. Although it might be a really convenient way for abstracting backend infrastructures, it has its limitations (long cold boot time, etc.).
  2. Even if you plan to use serverless, there is no inbuilt support for persistent data. Meaning, you still need to use external services (AWS S3, Cloudinary, etc.) if your website has user uploaded data/ database.
  3. You cannot deploy real time applications as they need an event messaging system, which is not possible on Netlify.
  4. The pricing could get a bit awry. Simply put, it’s terrible. Given that it has a very generous free plan, once you get to the premium block, the cheapest plan for $45 all the way up-to $290 doesn’t quite add up…there are other cheaper alternatives.

Hostman

Hostman uses containerized systems that run on top of AWS, GCP, Azure… but still implements them differently, in quite an easy manner. I mean, not having to write ConfigFiles( “Procfiles” as in heroku), sure is easy, isn’t it?

For most developers working with Python, Go, Node.JS, Scala or Clojure, Hostman is the ideal choice for hosting and deployment.

For deployment infrastructure, it uses a container that is running on top of AWS and DigitalOcean, which has a wide flexibility, i.e. this provider here supports horizontal as well as vertical scaling, which is a point one must not miss while talking about Hostman. Also, like Netlify, ‘push-to-deploy’ is an option here as well, so once you push the code to Github, it gets automatically updated.

Additionally, it has an automated alert system where you get emails (or through your preferred platform) in case of any failure in the CI/CD. Also, in such cases, the backup version of the application is used, so one up for you here, Hostman!

Not that it has no flaws, it has plenty, let’s break it down below:

Advantages

  1. It supports 7 locations, be it in India, Europe or America. This helps reduce latency.
  2. It has a very fair pricing model — cheaper than heroku, for comparison. Also, to add to the list, it gives a free SSL certificate to all users and websites (YAY!!!). Plus, it has CDN and is free for Front-end apps.
  3. I talked about configuration above as well: the 22 languages and frameworks require no additional configuration (not even the config-files.)
  4. It has a built in CI/CD tool that is very easy to set up; once set up, you can just sit behind and relax.
  5. Unlike Heroku, it has permanent storage, so no need to join additional forces with AWS or other storage services.
  6. You can run SSH into the container directly from the website.
  7. Deploying 3 websites is free, for webapps you’ll have 30-days trial

Disadvantages

  1. No CLI support. A big hole they busted, but it is what it is.
  2. Also, SQL supported readily are MySQL, MongoDB and PostgreSQL. (Limited, aren’t they?)
  3. Unlike heroku it has no support for 3rd party extensions.

#azure #gcp #aws

What’s there except AWS, Azure or GCP?
1.10 GEEK