
What "edge" actually means
"Edge computing" became pure marketing. Let's define what matters for developers: it's the ability to execute code physically close to the user, instead of in a single distant data center. In 2026, this means running JavaScript (or WASM) in hundreds of PoPs (points of presence) around the world. Cloudflare and Vercel are the two platforms that make this most accessible.
But there are real differences in what each offers. Let's peel them apart.
Vercel Edge: what it is
Vercel has three runtimes for your functions:
- Node.js Functions — run in AWS Lambda containers, in a fixed region. Long execution time, all Node SDKs available.
- Edge Functions — run in V8 isolates spread globally. Near-zero cold start, but with restrictions (no native Node APIs, bundle limit, no
fs). - Edge Middleware — Edge code that runs before every request, ideal for A/B testing, auth, redirects.
Vercel also offers edge ISR (Incremental Static Regeneration): static pages regenerated on demand at the nearest PoP. It's a big argument for Next.js — you get SSR-like behavior with CDN performance.
Cloudflare: full stack
Cloudflare is more opinionated. Everything you run there lives at the edge by default:
- Workers — serverless function running in V8 isolates.
- Pages — static hosting with integrated Functions (essentially Workers).
- R2 — S3-compatible storage, no egress fees.
- KV / D1 / Durable Objects — edge storage.
- Vectorize — vector database for AI, at the edge.
- Workers AI — hosted models, callable from Workers.
There's no "region". No "optional edge runtime". Everything is edge.
Practical comparison
| Aspect | Vercel Edge | Cloudflare |
|---|---|---|
| Points of presence | ~100 (actually via Cloudflare!) | 300+ owned |
| Cold start | < 100ms | < 5ms |
| Next.js support | Native, automatic | Via OpenNext/@cloudflare/next-on-pages |
| Entry pricing | $20/month (Pro) | Free → $5/month |
| Edge storage | KV (limited) | KV, D1, R2, Durable Objects |
| SQL DB integration | External (Neon, Supabase) | Native D1 + Hyperdrive for external |
| Runtime | Edge Runtime (Node subset) | Workers (Node subset) |
| Build pipeline | Best-in-class | Good, less polished |
| WebSockets support | Limited at Edge | Via Durable Objects |
| Vendor lock-in | High | Medium |
Important detail: Vercel's edge network runs on Cloudflare under the hood. You're paying for a layer above when you choose Vercel.
When Vercel wins
- You use Next.js intensively and want features that only fully work on Vercel (Server Actions, advanced ISR, integrated Image Optimization).
- Small team without ops expertise — Vercel's DX is unmatched.
git pushand you're live. - Perfect preview deployments — each PR becomes a URL, with optional isolated DB, zero config.
- You need Node.js Functions with heavy SDKs (Stripe, Prisma, Sharp) — Vercel supports them natively.
When Cloudflare wins
- Cost is the deciding factor — Cloudflare is dramatically cheaper for small to medium workloads.
- Absolute latency matters — 300+ PoPs, 5ms cold start.
- You want everything in one place — DNS, CDN, R2, D1, Workers, AI, all in the same console.
- No region lock-in — data can be in any PoP, no configuration needed.
- "Edge-first" apps — real-time chat, games, live dashboards.
- Non-Next.js workloads — Hono, Astro, SvelteKit, Remix work exceptionally well in Workers.
When edge doesn't help
Edge computing isn't magic. There are scenarios where running at the edge is worse:
-
Workload depends on a fixed-region database — if every Worker call has to go to us-east-1 to query Postgres, you saved nothing. DB latency dominates.
-
Heavy session and state — if every request needs lots of logic depending on consistent state, edge gets expensive. Use central region.
-
Heavy computation — large ML model, PDF generation, image processing. Edge has limited CPU and small RAM. Use containers.
-
Strict regional compliance — if GDPR/LGPD requires data in a specific country, global edge gets in the way. Configure region affinity.
-
APIs that call slow APIs — if your Worker calls an external API that takes 2s, edge latency doesn't matter.
Hybrid pattern (what actually works)
The most common architecture in 2026 isn't "all edge" nor "all central". It's hybrid:
- Edge: static routes, auth, A/B testing, rate limiting, redirects, cache reads.
- Regional: DB writes, heavy processing, integrations with slow external APIs, background jobs.
Vercel makes this easy with the Edge Functions / Node Functions split. Cloudflare makes it easy with Workers + Hyperdrive (for Postgres) or Durable Objects (for state).
Migrating: what to expect
From Lambda + CloudFront to Workers
- Logs and metrics are simpler but less deep than CloudWatch.
- Goodbye IAM, hello API tokens. Much simpler.
- Cold start disappears as a problem.
- You'll hit the 10 MB bundle limit. Refactor SDKs.
From Vercel Node Functions to Edge Functions
- Some libs stop working (anything using
fs,crypto.createHash,child_process). - You need streaming responses to actually capture the latency win.
- ISR still works, you just need to mark the page correctly.
Conclusion
Edge computing isn't a feature, it's an architecture. You win when network latency matters and your workload is light. Vercel is the smoother path if you love Next.js and DX. Cloudflare is the cheaper, more flexible path if you're willing to learn a bit more and want full control. Both are excellent in 2026 — choose based on need, not hype.
