"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.

code
  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 sysadmin

How it works

Published list prices, which move. Check the vendor's pricing page before you commit.

Zero usersRoughly a thousand usersWhat you actually pay for
Vercel, NetlifyFree hobby tierAbout 20 USD per seat per month, plus bandwidthBuild minutes and bandwidth
Railway, RenderFree or about 5 USDRoughly 7 to 25 USD per serviceMemory and uptime per service
Hetzner, DigitalOceanAbout 4 to 6 EUR per monthThe same 4 to 6 EURThe machine, whether busy or idle
Cloudflare WorkersFree tierAround 5 USD per month plus requestsRequests 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

  1. 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.
  2. Ask for the deployment cost before you build. Give your AI assistant your package.json and ask which services this project will need at runtime. The answer names the bills.
  3. 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.