Back to blog
Comparison & Stack Picks
11 min read

Cloudflare Workers vs Vercel vs Supabase: Cost & Latency for Global SaaS

An honest comparison of three popular hosting platforms — pricing, free tiers, cold-start latency, China access, database options and lock-in — with concrete monthly bills.

"Should I deploy my SaaS on Cloudflare, Vercel or Supabase?"

The three overlap but lean differently — Cloudflare is "compute + edge + database in one shop," Vercel is "the best Next.js runtime," Supabase is "Firebase alternative / Postgres-as-a-Service."

Here's the EasyStarter team's take from the angle of an indie developer shipping global SaaS.

TL;DR

  • Lowest cost: Cloudflare (early SaaS can genuinely run at $0/month for months)
  • Best DX: Vercel (git push and forget)
  • Easiest database experience: Supabase (Postgres + Auth + Realtime + Storage)
  • Most stable in mainland China: Cloudflare (the other two are inconsistent)

1. Pricing model

Cloudflare Workers

  • Free: 100k requests/day, 10ms CPU/request
  • Paid: $5/month for 10M requests, $0.30 per extra million
  • D1: 5GB storage + 5M reads + 100k writes (free)
  • R2: 10GB free, $0 egress
  • Defining trait: per-request pricing + zero egress fees

Vercel

  • Hobby: free, personal non-commercial only
  • Pro: $20/user/month (every collaborator adds another $20)
  • Function execution: 1M GB-Hours
  • Bandwidth: 1TB included
  • Defining trait: usage-based above limits; bills can jump an order of magnitude when moving Pro → Enterprise

Supabase

  • Free: 500MB DB, 1GB storage, 50k MAU
  • Pro: from $25/month, 8GB DB, 100GB bandwidth
  • Defining trait: per-project pricing; free projects pause after 7 days of inactivity (a real footgun)

2. Real monthly cost — 10k MAU SaaS

Assumptions: 50k API requests/day, 500MB database, 20GB static assets, 100GB monthly bandwidth.

PlatformComputeDatabaseBandwidth/StorageTotal
CloudflareWorkers FreeD1 FreeR2 Free$0
VercelPro $20External (e.g. Neon $0-19)1TB included$20-40
SupabaseEdge Functions FreeSupabase Pro $25100GB included$25

Note: Vercel + Supabase together is a common combo — that's $45+/month. Cloudflare alone covers everything for $0.

3. Cold start latency

PlatformCold start P50Cold start P95Notes
Cloudflare< 5 ms< 20 msV8 isolate, effectively none
Vercel Edge50-150 ms300-500 msEdge runtime
Vercel Node300-800 ms1-3 sLambda cold starts
Supabase Edge50-200 ms400-800 msDeno Deploy-style

For low-traffic SaaS (< 1 request/minute) cold start directly hits the first-byte experience. Cloudflare's V8 isolate model effectively has no cold start — clean win.

4. Mainland China access

PlatformCDN nodesChina P50 latencyChina availability
CloudflareHK / Japan80-150 msStable
VercelHK / Singapore150-400 msFrequently blocked
SupabaseAWS Singapore200-500 msFrequently times out

Vercel's *.vercel.app subdomains are very unreliable inside China — you must bind a custom domain + own CDN before launching. Supabase on AWS is basically unreachable from China. Cloudflare is the most reliable of the three, especially after the 2024 mainland routing changes.

5. Database options

PlatformDefault DBTypeRelationalRealtimeFull-text
CloudflareD1SQLiteYesNoFTS5
CloudflareHyperdriveAny PGYesDependsYes
VercelExternal----
SupabasePostgresPostgresYesYesYes

If you want one-stop "Realtime + Storage + Auth," Supabase is the fastest onramp. If you want to squeeze cost and performance, Cloudflare D1 (or external PG via Hyperdrive) is the better fit.

6. Lock-in risk

Framework lock-inPlatform lock-inData exit difficulty
CloudflareMedium (Workers API)MediumD1 → SQLite dump trivial
VercelStrong (Next.js + SDK)StrongDepends on external DB
SupabaseWeak (standard Postgres)Mediumpg_dump trivial

Vercel has the strongest lock-in — Next.js + Vercel SDK + Edge Config makes a port to Cloudflare a major rewrite. Supabase has the weakest, because it's vanilla Postgres underneath.

7. Three canonical architectures

A) Pure Cloudflare (EasyStarter default)

TanStack Start → Cloudflare Workers

                Cloudflare D1 (Drizzle)

                R2 / KV / Queues

Cost: $0/month entry, capped at $5/month under 100k MAU. Best for: indie devs shipping global SaaS at minimum cost.

B) Vercel + external services

Next.js → Vercel

        Neon Postgres / PlanetScale

        AWS S3 / Vercel Blob

Cost: $20-50/month entry. Best for: existing Next.js teams, multiple collaborators, indifferent to $20-50/mo.

C) Supabase one-stop

Any frontend → Vercel / Netlify / anywhere

             Supabase (DB + Auth + Storage + Realtime)

Cost: $25-50/month entry. Best for: Realtime collaboration features, minimum backend code.

8. How to choose, by question

  • Lowest monthly cost → Cloudflare (the other two start at $20+)
  • Realtime collaboration (multi-user docs, etc.) → Supabase
  • Must use Next.js App Router + RSC → Vercel
  • Users in mainland China → Cloudflare
  • Team doesn't want to learn new tools, git push and done → Vercel
  • AI / Agent / long-running jobs → Cloudflare Durable Objects + Queues

9. Is "edge" a gimmick?

All three sell "edge compute" but the differences are real:

  • Cloudflare is edge-native — your code literally runs in the data center nearest the user
  • Vercel Edge is a constrained subset of Next.js middleware / edge runtime
  • Supabase Edge Functions run on Deno Deploy, with far fewer nodes than Cloudflare

For indie developers, the real win of edge is database latency, not compute time — and only Cloudflare puts compute and the database (D1) on the edge.

Closing thought

These three aren't mutually exclusive. Many teams end up with:

  • Static + CDN: Cloudflare
  • App: Vercel
  • DB: Supabase

But for indie developers, fewer pieces is better. EasyStarter bets on "pure Cloudflare" — the goal is for a SaaS to only pay for the domain until it hits 10k MAU.

If you want to see a SaaS that's actually built on Cloudflare, the web deploy docs are the shortest path.

EasyStarter is a production-ready SaaS starter for web, API, and mobile teams.

© 1970 easystarter.dev. All rights reserved.