"Where should I host this?" has about six popular answers and they are not really competing for the same job. They differ in how much of the machine you are responsible for.
That is the axis worth understanding. Price follows from it, and so does the kind of bad day you get.
The idea
There are three categories. A managed platform takes your git repository and handles the build, the running process, the certificate and the scaling. A virtual server rents you a whole Linux machine and hands you the root password. Serverless runs your code only during the fraction of a second it takes to answer one request, and charges you for that fraction.
MORE MANAGED <----------------------------------------> MORE CONTROL
Serverless Managed platform Virtual server
---------- ---------------- --------------
Cloudflare Vercel Hetzner
Workers Netlify DigitalOcean
AWS Lambda Railway, Render Linode
you write you push to git you install Node,
one function they do the rest nginx, systemd,
certificates, updates
scales to zero zero config, real cheapest per unit,
automatically limits at the edges you are the sysadminHow it works
Published list prices, which move. Check the vendor's pricing page before you commit.
| Zero users | Roughly a thousand users | What you actually pay for | |
|---|---|---|---|
| Vercel, Netlify | Free hobby tier | About 20 USD per seat per month, plus bandwidth | Build minutes and bandwidth |
| Railway, Render | Free or about 5 USD | Roughly 7 to 25 USD per service | Memory and uptime per service |
| Hetzner, DigitalOcean | About 4 to 6 EUR per month | The same 4 to 6 EUR | The machine, whether busy or idle |
| Cloudflare Workers | Free tier | Around 5 USD per month plus requests | Requests and execution time |
Three things that catch people out:
- A virtual server costs the same asleep as awake. That is good news at a thousand users and bad news for a side project you abandoned.
- Managed platforms bill for bandwidth, and one large video or an image nobody resized can move you from free to a real invoice in a week.
- Databases are usually a separate bill. Supabase, Neon and Railway all have free tiers that pause or shrink after a period of inactivity.
What to do
- Match the category to your app, not to the cheapest number. A site with no login and no database is happiest on Vercel, Netlify or Cloudflare Pages. Something with a background job, a queue or a long-running process fits Railway, Render or a plain server. Anything you need to run inside the EU on hardware you control points at Hetzner.
- Ask for the deployment cost before you build. Give your AI assistant your
package.jsonand ask which services this project will need at runtime. The answer names the bills. - Start on the free tier of a managed platform if you have never deployed. Moving from Vercel to a server later is a day of work. Learning Linux administration and your app's first deploy at the same time is a week.
Where it breaks
The free tiers are real, and they are also the marketing. The cost of a managed platform is not the monthly fee, it is that the pricing model can change under you and your app is shaped around one company's conventions. The cost of a plain server is that security updates, backups, certificate renewal and the 3am reboot are now yours, and none of them appear on the invoice.
Serverless has a specific mismatch worth knowing: functions start cold, they have a hard time limit per request, and holding a database connection open across them takes extra work. A slow report generator that runs fine on a server can be impossible there.