The hosting landscape clarified in 2026. Three major buckets; each fits a workload shape. This post is the practical comparison.

The shapes

TypeBest for
Cloudflare (Workers, D1, R2, Durable Objects)Edge-firstGlobally-distributed apps, low-latency, Hono / TS-first
AWS (EC2, EKS, Lambda, RDS)Full controlCustom requirements, GPU, mature integrations
GCP (Cloud Run, GKE, Cloud SQL)Cleaner UX than AWSGCP-native shops
VercelNext.js-optimizedMarketing sites, Next.js apps
Fly.io / Railway / RenderContainer-friendly serverlessSmall-mid startups
Supabase / FirebaseBaaSMobile-backend, fast prototypes

Cloudflare for backend

Workers + D1 + R2 + Durable Objects + Queues = a real backend stack. Per-request pricing; no idle cost.

Best for:

  • Globally-distributed reads.
  • TypeScript-first (Hono, libsql, Drizzle).
  • Per-tenant Durable Objects.
  • Low-traffic apps (free tier covers them).

Worst for:

  • CPU-heavy (Workers have CPU time limits).
  • Large memory (128 MB default).
  • AWS-native integrations.

See Cloudflare Workers + D1 + Durable Objects .

AWS for backend

EC2 / ECS / Fargate / EKS. Mature. Expensive.

Best for:

  • Existing AWS investment.
  • GPU / specialized hardware.
  • Complex networking (VPC peering, Direct Connect).
  • Large enterprise compliance.

Worst for:

  • Cost at small scale.
  • Operational complexity for small teams.

For Kubernetes on AWS .

Vercel for backend

Vercel is great for Next.js apps. Zero-config deploy, edge functions, server actions. For backend-only services (no Next.js): Vercel is overpriced and overkill.

Best for:

  • Next.js sites and apps.
  • Designers / developers wanting deploy without ops.

Worst for:

  • Heavy backend logic.
  • Pure API services (use Cloudflare or Fly).
  • Anything where bandwidth costs matter (Vercel egress is expensive).

Fly / Railway / Render

Container-first deploys. Like Heroku but modern.

Best for:

  • Run a Dockerfile; get a URL.
  • Predictable pricing (fly.io: $1-30/month for many apps).
  • Multi-region without K8s.

Worst for:

  • Massive scale.
  • Specific cloud-native integrations.

Cost comparison

For a typical small SaaS (1M req/month, 100 GB data, 1 TB egress):

  • Cloudflare: ~$20/month (Workers + D1 + R2 + bandwidth free).
  • Fly.io: ~$30/month (small VM + Postgres + bandwidth).
  • AWS Lambda + RDS: ~$200/month.
  • AWS Fargate + RDS: ~$300/month.
  • Vercel + Vercel Postgres: ~$200/month.

For larger workloads (10M req/month, 1 TB data, 10 TB egress):

  • Cloudflare: ~$200/month.
  • Fly.io: ~$300/month.
  • AWS Lambda + RDS: ~$2000/month.
  • AWS Fargate: ~$2500/month.
  • Vercel: ~$5000/month (egress kills you).

Cloudflare is dramatically cheaper at most scales. AWS earns its cost on specialty workloads.

Lock-in

Lock-in level
CloudflareMid (Durable Objects, D1 are Cloudflare-only)
AWSMid (managed services tie you in)
VercelHigh (Next.js-tied)
Fly / RailwayLow (just Docker)

Cloudflare’s vendor-neutral pieces (Workers running plain TypeScript, R2 = S3 compat) are portable. Durable Objects aren’t.

For SQLite at the Edge Turso is the portable alternative to D1.

Decision matrix

ScenarioPick
Greenfield TS backend, low-mid scaleCloudflare Workers + D1
Greenfield Python backend, low-mid scaleFly.io Machines
Next.js site / appVercel
Big enterprise on AWS alreadyAWS
GPU / ML inferenceModal / Banana / dedicated AWS
Multi-region from day oneCloudflare or Fly
Cheapest possible for a side projectFly.io free tier or Cloudflare free tier

What I’d ship today

For a new SaaS in 2026:

  • Cloudflare Workers + Hono for the API.
  • Postgres at Neon / Supabase (managed, cheap, scales).
  • Cloudflare R2 for blobs.
  • Cloudflare D1 or Turso for tenant data (per-tenant SQLite).

End-to-end: $20-100/month for the first 100k users. Move to AWS / dedicated only when something specifically demands it.

Read this next

If you want my decision matrix as a flowchart, it’s at rajpoot.dev .


Building something AI-, backend-, or data-heavy and want a second pair of eyes? I do consulting and freelance work — see my projects and ways to reach me at rajpoot.dev .