warning
Warning: Prices and features of each service are no longer up to date (learn more)

Hosting

Your website needs home, preferably somewhere in the cloud. Check what options you have for different amount of monthly fee (starting from free).

Display price:

Amazon Free Tier

  • 1 GB RAM
  • 1 CPU
  • 30 GB of SSD storage
  • 750 hours of t2.micro with Linux
    AND
    750 hours of t2.micro with Windows
  • Linux and Windows hosting
  • Open Amazon

GCE Free Tier

  • 0.6 GB RAM
  • 0.2 vCPU (with bursting)
  • 30 GB of HDD storage
  • 1GB of NoSQL DB, Serverless functions, 5GB cloud storage, and more
  • Linux and Windows hosting
  • Additional $300 free credits to spend (for the first year)
  • Open Google Cloud

Heroku

  • 512 MB (1 dyno)
  • 1 CPU
  • 5 MB for DB (~10 000 rows)
  • 1000 dyno hours per month (running one website non-stop takes ~750 dyno hours per month)
  • Open Heroku

Linode

  • 1 GB RAM
  • 1 CPU
  • 25 GB of SSD storage
  • 1 TB of transfer
  • IPv6 support
  • Open Linode

DigitalOcean

  • 1 GB RAM
  • 1 CPU
  • 25 GB of SSD storage
  • 1 TB of transfer
  • IPv6 support
  • Open DigitalOcean

Amazon Lightsail

  • 1 GB RAM
  • 1 CPU
  • 40 GB of SSD storage
  • 2 TB of transfer
  • No IPv6 support
  • Open Amazon Lightsail

Linode

  • 2 GB RAM
  • 1 CPU
  • 50 GB of SSD storage
  • 2 TB of transfer
  • IPv6 support
  • Open Linode

DigitalOcean

  • 2 GB RAM
  • 1 CPU
  • 50 GB of SSD storage
  • 2 TB of transfer
  • IPv6 support
  • Open DigitalOcean

Amazon Lightsail

  • 2 GB RAM
  • 1 CPU
  • 60 GB of SSD storage
  • 3 TB of transfer
  • No IPv6 support
  • Open Amazon Lightsail

Linode

  • 4 GB RAM
  • 2 CPU
  • 80 GB of SSD storage
  • 4 TB of transfer
  • IPv6 support
  • Open Linode

DigitalOcean

  • 4 GB RAM
  • 2 CPU
  • 80 GB of SSD storage
  • 4 TB of transfer
  • IPv6 support
  • Open DigitalOcean

Amazon Lightsail

  • 4 GB RAM
  • 2 CPU
  • 80 GB of SSD storage
  • 4 TB of transfer
  • No IPv6 support
  • Open Amazon Lightsail

Linode

  • 8 GB RAM
  • 4 CPU
  • 160 GB of SSD storage
  • 5 TB of transfer
  • IPv6 support
  • Open Linode

DigitalOcean

  • 8 GB RAM
  • 4 CPU
  • 160 GB of SSD storage
  • 5 TB of transfer
  • IPv6 support
  • Open DigitalOcean

Amazon Lightsail

  • 8 GB RAM
  • 2 CPU
  • 160 GB of SSD storage
  • 5 TB of transfer
  • No IPv6 support
  • Open Amazon Lightsail

Linode

  • 16 GB RAM
  • 6 CPU
  • 320 GB of SSD storage
  • 8 TB of transfer
  • IPv6 support
  • Open Linode

DigitalOcean

  • 16 GB RAM
  • 6 CPU
  • 320 GB of SSD storage
  • 6 TB of transfer
  • IPv6 support
  • Open DigitalOcean

Amazon Lightsail

  • 16 GB RAM
  • 4 CPU
  • 320 GB of SSD storage
  • 6 TB of transfer
  • No IPv6 support
  • Open Amazon Lightsail

Linode

  • 64 GB RAM
  • 16 CPU
  • 1280 GB of SSD storage
  • 20 TB of transfer
  • IPv6 support
  • Open Linode

DigitalOcean

  • 64 GB RAM
  • 16 CPU
  • 1280 GB of SSD storage
  • 9 TB of transfer
  • IPv6 support
  • Open DigitalOcean

Amazon Lightsail

  • Amazon Lightsail has no $320 plan.
    You can instead buy an instance of Amazon EC2, for example:
    m4.2xlarge (32 GB RAM, 8 CPUs, no storage) for around $300/month
    or
    m5.2xlarge (32 GB RAM, 8 CPUs, no storage) for around $280/month
  • Open Amazon

Frequently Asked Questions

While it's possible to host your website from your own computer, it's not a good idea. So you will need to pay some company to host your project. The most common option is a cloud hosting service (basically, it's a Virtual Private Server in a cloud) - when you need a server, you start one (small or big machine - it doesn't matter). When you no longer need a server - you stop it. Two main advantages are:

  • You are billed for what you use. If you need a server with 1TB of RAM (yes, that 1024 GB of RAM!) for some heavy computations that will take 1 hour - fine - you use it for one hour and you pay for 1 hour.
  • It's easy to scale this kind of servers. If more people start visiting your website and you need a more powerful server, quite often a company will provide you with an easy to use interface where you can scale you current machine with just a click of a button.

Each company gives you a different configuration of resources. For the same amount of money, you might get more RAM in one place and more disk space in another. But which resources are the most important ones ?

Well, it depends what is the purpose of your website. If you are planning on hosting huge videos, then you will definitely need a lot of bandwidth and storage. For most cases (a typical website) this is what I would recommend:

  • Storage - just go for a faster option (choose SSD over HDD). You probably won't need that much space (you can store large files on Amazon S3, which is a crazy cheap option comparing to storing them with your hosting provider), so usually those 20-30 GB are more than enough to start with.
  • Transfer - in a typical use case (so when you are NOT planning on hosting videos or large files), the monthly data transfer that the provider gives you is more than enough, especially since browsers are caching a lot of resources. For example, this website downloads less than 300 KB of data when you visit it the first time and 2 KB on each next visit, so to use 1 TB of bandwidth, more than 3 000 000 people would have to visit it in one month.
  • CPU - having more than 1 CPU allows you to have concurrent web workers (so 2 CPUs means that your server can respond to 2 requests at the same time). For a small website, having 1 CPU might be enough for a long time (web servers are fast with responding to requests), but if you see that you use a lot of CPU frequently, increase the number of CPUs.
  • RAM - having a lot of RAM allows you to cache more stuff (and this in turn allows you to faster respond to the HTTP requests) and run some services more efficiently (like the database). When your website grows and more things happen in the background, RAM can become your main bottleneck.

If I would like to test a hobby project and could still use the Amazon or GCE free tier, then I would go for that. It's a good opportunity to get familiar with AWS/GCE infrastructure and be ready to use it for bigger projects. If the free tier is not possible and I'm fine with Heroku's Platform as a Service model, then I would go for this solution. Deploying is easy and the free plan is free forever (I sometimes find projects that have not been updated since a long time, but they still run on Heroku).

If you decide to pay some money for the hosting (or you simply can't use any of the free solutions) all the companies presented here offer equally great services and you can't go wrong choosing one of them.

There are many other hosting providers, but listing all of them here would be useless. How would you select which one is the most suitable for you, if you had to choose from 100 different companies? If you want to see more options, check the Cloud Hosting section of StackShare - they have reviews and allow others to vote on their favorite tools. If you have questions about a specific company, you can ask them on the r/Hosting subreddit page.