You have lots of options these days to host websites or servers. Some make sense for students and hobbists and others only make sense for enterprise or well funded start-ups.
This page considers Hosting a website to mean not something like Squarespace, Wordpress.com, or Wix even if those might be the solutions you actually need. The point of this page is more about services which let you host your self-made or self-managed website.
tl;dr: If you just want a website I would start with Github Pages to run a static website. If you want a server for yourself I would start using Tailscale to access a computer at home and share it with others via Node Sharing.
For hobbists: From there I would look at OVH/Hetzner or a cheap provider like RamNode. Then maybe Digital Ocean. I would only use AWS if you’re already familar or understand it’ll be harder and cost more so you can learn it better.
For applications/companies: From there I would graduate to Digital Ocean and if that isn’t good enough I’d look at AWS.
The cheapest hosting possible these days is the variety of static website hosting options.
- AWS S3 + Cloudfront
- Github Pages
Almost all of these are free (or at least start out free) and can handle Reddit and Hacker News spikes of traffic easily.
Of these Github Pages is usually the best to start off with because it gives you a nice domain of
<your-username>.github.io, handles converting your website from markdown, includes HTTPS, and allows you to easily move to a custom domain later on. Not to mention almost all Static Website workflows start with a git repo hosting the source files to generate the website so you’ll probably need a Github account anyways.
Netlify is also good and easy to use if you do not want to use Jekyll, which is the only generator Github Supports without setting up Github Actions to build the site for you.
Vercel and Firebase are other options which I haven’t used, but are known to work well and cheaply.
S3 + Cloudfront is the most complicated to setup of the bunch, but if you’re using AWS already can make a lot of sense. S3 and Cloudfront start off extremely cheaply and can scale to very high amounts of traffic.
Often you’re looking for an OpenVZ VPS which provides extremely small amounts of RAM, CPU, and storage, but can start at $15/year and lets you run a linux server that can do whatever you want.
Places like RamNode, which I use, provide options like this and are great for running private services behind a VPN like git, wikis, and etc.
Moving up you have things like OVH, Hetzner, Fly.io, and Digital Ocean which provide very cheap servers, but not quite $15/year cheap. These are often good enough for 80-90% of applications and hobbist would run and if configured correctly can handle spikes of traffic from Reddit/Hacker News especially if serving static files.
This often requires a step up in complexity from simply SSHing into a linux server and editing config files to possibly manging a linux config AND cloud config or using Serverless tech.
This includes AWS, Azure, and GCP, but also things like Fly.io, Vercel, Linode, and Digital Ocean.
Lots of providers out there which provide dedicated servers in data centers to do whatever you want. Unlike most though there is Equinix Metal which provides on-demand access to bare-metal servers which is pretty neat.