Most modern technology projects need to be running 24/7/365 to maximise their avaliability and to become a reliable service for their clients. And even if this is not the case for your project, chances are that you’ll still need some form of hosting to make your service avaliable when it’s being used. In this article, I will be covering a small range of the hosting options that are avaliable to you, and I will try to accomodate all budgets and a wide range of technical requirements and skill levels.

Just before I get started, I would like to encourage you to look into some form of shared hosting if you want to run a small website or service with minimal hassle. The hosting providers I’ll be covering will all give you full access to a VM as well as (potentially) other options.

It should also be noted that all of the hosting solutions I mention could be used to host the following (and a lot more too):

  • Websites
  • Apps
  • APIs
  • Databases
  • SaaS
  • IoT

If you want to jump straight to a specific section, choose an option here:

📌 Hyperscalers, alternate cloud and self-hosting

The three options that I’ll be covering are hyperscalers (like Google Cloud, AWS and Azure), alternate cloud providers (such as Linode, DigitalOcean and Vultr) and finally self-hosting (RaspberryPi and buying your own server). All of these options will provide you with a different experience and set of features, so you should definitely compare them all to find out which one best suits your needs.

Image credit: Linode

📈 The big 3: Hyperscalers

The big 3 (the biggest of the hyperscalers) are the largest hosting providers you’re going to find. They consist of Google Cloud, Amazon Web Services and Microsoft Azure. They promise scalability, reliability and global coverage. Hyperscalers are good when it comes to hosting very large projects, or mission critical applications as they can handle pretty much any workload.

So they’re great right? Not always. I see lots of people who really don’t need to use them jumping straight in and setting up their project on Google Cloud or AWS. And in itself there isn’t anything wrong with this, but the hyperscalers have high prices and low levels of customer support for free. Their pricing is also very unpredictable and varies across their datacenters, which makes calculating your monthly bill a real headache.

Pros to Hyperscalers:

  • Lots of datacenters
  • Lots of different services
  • Very fast
  • Downtime is a rarity

Cons to Hyperscalers:

  • They’re expensive
  • Pricing is unpredictable (there are lots of horror stories about people being charged $10ks more than they expected)
  • Support will likely cost you extra
  • They tend to favour lock-in services over open cloud (although they do support plenty of services that you can migrate to other providers)

So if you like the sound of using a Hyperscaler, then you can take a look at their websites below:

I do strongly recommend reading into other options before settling on using a hyperscaler, and being careful with monitoring your costs if you do choose one.

✂️ Alternate Cloud

Alternate cloud companies tend to have a much smaller selection of services avaliable than hyperscalers, avaliable in a smaller range of different datacenters. However, they almost always have very predictable pricing and included support. Alternate cloud providers usually care more about you as a smaller customer than a hyperscaler would, which is shown by faster and more helpful support replies as well as much simpler service management.

A common reason people don’t use alternate cloud providers is because they think that they can’t scale, but this is untrue. You can scale quite comfortably on pretty much any alternate cloud provider and shouldn’t bump into any issues unless your project gets really massive really quickly.

Pros to alternate cloud:

  • Cheaper than Hyperscalers
  • Better support experience (usually)
  • Decent global coverage
  • Simpler to use

Cons to alternate cloud:

  • Hardware might not be upgraded as frequently
  • Less services avaliable than a hyperscaler
  • Not as suited for large enterprises as a hyperscaler

Alternate cloud providers are my personal preference when it comes to hosting pretty much anything because they’re cheap, reliable and fast but come without any of the stresses of a hyperscaler. If you’d like to have a look at some alternate cloud providers, then you can check out the links below:

🏠 Self-hosting (BYO server and Raspberry Pi)

For most use cases, I would recommend steering clear of self hosting for a few major reasons. It is a security risk, it is expensive and it requires a lot more technical expertise than renting a server from another provider. However, it gives you ultimate control over your services and you fully own your hardware, so you couldn’t have your account suspended, for instance.

Using a Raspberry Pi is an awesome way to achieve cheap self-hosting. It’s not very powerful, but you’ll pay somewhere in the region of $30 once and then you’ll have a small ARM-based server that you can keep and run in your home forever. I recommend using Raspberry Pis for testing, learning linux, and hosting small, closed services like Discord bots.

Pros to self-hosting:

  • You own the hardware outright.
  • You have complete access to everything, no restrictions or rate limits.
  • You don’t have to worry about following someone’s ToS.
  • You are free to upgrade or replace your hardware at any time.

Cons to self-hosting:

  • If something goes wrong, you’re on your own. No included support or provided engineers are ready to help you fix your problem.
  • If you need to scale, it’s going to take a long time and lots of money.
  • If a component fails or needs upgrading, you need to pay for the replacement and then cope without it until you can get it replaced.
  • It is very expensive (RaspberryPi-type devices are an exception to this).

If you want to try out self-hosting, then I recommend taking a look at the following websites for finding hardware for your server(s):

⛱ Conclusion

There are loads of cloud providers and hosting solutions out there, and I have only covered a few of the most popular ones in this article, but I hope that you can take something useful away from this and that you can now make an educated decision on what the best choice for your project is. I would also like to stress the fact that this is more hosting for people who like getting technically involved with their infrastructure. There are lots of good providers that will manage your infrastructure for you and free you up to work on your project, I might cover them in future. If you have any questions, suggestions, or feedback, then please leave a comment on this post and I’ll get back to you when I can.