Same App, Four Ways to Host It

One app = frontend + backend + database + storage. The SAME app can be built four valid ways — providers combine, they don't compete on one line.

Same App, Four Ways to Host It One app = frontend + backend + database + storage. The SAME app can be built four valid ways — providers combine, they don't compete on one line. One VPS · frontend + API + DB + files · One VPS — one machine, you manage it · any language One VPS frontend + API + DB + files any language Vercel · frontend + API functions · Vercel + managed DB · JS/TS · hosts backend Vercel frontend + API functions JS/TS · hosts backend Managed DB · Supabase · Neon · D1 · Vercel + managed DB · connect, don't run Managed DB Supabase · Neon · D1 connect, don't run Pages · frontend · All Cloudflare — one platform · JS/TS only Pages frontend JS/TS only Workers · backend · All Cloudflare — one platform Workers backend D1 + R2 · SQL + object storage · All Cloudflare — one platform D1 + R2 SQL + object storage Vercel / Pages · frontend · Vercel/Pages + VPS (your default) · managed CDN, zero-ops Vercel / Pages frontend managed CDN, zero-ops Your VPS · API + Postgres + files · Vercel/Pages + VPS (your default) · you own the data Your VPS API + Postgres + files you own the data SQL calls query HTTPS API calls One VPS — one machine, you manage it Vercel + managed DB All Cloudflare — one platform Vercel/Pages + VPS (your default) Legend Frontend Backend Database Cloud

It's capabilities, not brands

  • • Every app = frontend + backend + database + storage (± auth)
  • • A 'server' is just one box that happens to hold them all
  • • Cloudflare & Vercel are PLATFORMS — each runs a backend, not 'just frontend' or 'just functions'

Providers compose — pick per layer

  • • Frontend host + a place for data = the common split (the last three)
  • • Vercel runs its OWN backend; you don't chain it to a CF Worker
  • • Each layer talks to the next over HTTP — mix by best-fit

Choose when (+ language)

  • • One VPS — full control, your own DB, ANY language (Go/PHP/…)
  • • Vercel + managed DB — ship fast, scale to zero · JS/TS (Node)
  • • All Cloudflare — edge, one platform, no DB to run · JS/TS only
  • • Vercel/Pages + VPS — managed frontend + a backend you own, ANY language (your default)