When to pick which
- Just a website or ? Static hosting. Done. It's free, fast, and nearly impossible to break.
- Need a little logic — a contact form, an key kept , an auth check? or functions. You stay on a generous free tier and scale to zero when nobody's using it.
- A real app with a , background jobs, or a that expects a long-running server? A platform like Railway, Render, or Fly.io. This is the sweet spot for most "actual product" projects.
- You need a specific GPU, special system software, or total control? A . Only go here when something above genuinely can't do the job, because now you are the sysadmin.
A useful rule: pick the simplest option that can do the job, and only move down a tier when you hit a real wall — not an imagined one.
What does a "real wall" actually look like? A few honest examples: your build produces a server that needs to stay running (a chat backend holding live connections), so static won't do. Or a function keeps hitting its timeout because one request does real work (resizing a video, generating a PDF), so you graduate to a container. Or your free tier's request limit is genuinely exhausted by real traffic. Notice what these have in common: each is a measurement, not a hunch. "It might get big someday" is not a wall.