Khi build app frontend hiện đại, câu hỏi Cloudflare Pages vs Vercel (vs Netlify) xuất hiện sớm. Bài này so sánh thực tế dựa trên dự án production năm 2026: pricing, performance, ecosystem.
Tóm tắt nhanh
| Cloudflare Pages | Vercel | Netlify | |
|---|---|---|---|
| Free bandwidth | Unlimited* | 100GB/tháng | 100GB/tháng |
| Free build min | 500/tháng | 6000/tháng | 300/tháng |
| Edge function | Workers (V8 isolate) | Edge Functions (V8) | Edge Functions (Deno) |
| Cold start | ~5ms | ~10-50ms | ~50-100ms |
| Next.js ISR | Hạn chế (cần adapter) | Native | On-demand revalidation |
| Pricing scale | Rẻ nhất | Đắt với traffic lớn | Trung bình |
| Ecosystem | Workers, R2, D1, KV | Postgres, KV, Blob | Identity, Forms |
* Cloudflare Pages free 500 build/tháng, 1 build at a time. Pro $20/tháng tăng lên 5000 build, 5 concurrent.
Vercel — Next.js native
Mạnh:
- Next.js team chính build → mọi feature support đầu tiên (App Router, Server Components, ISR)
- Image optimization built-in qua
/_next/image - Preview deploy mỗi PR có URL riêng
- Analytics + Speed Insights tích hợp
- Setup 5 phút, push code là deploy
Yếu:
- Đắt với traffic lớn — bandwidth $0.15/GB vượt 100GB
- Function execution charge per ms
- Lock-in cao với Next.js — middleware, ISR khó migrate
- Không có DB managed mạnh (Vercel Postgres mới, đắt hơn Neon trực tiếp)
Best for: startup giai đoạn ý tưởng đến PMF, app Next.js dưới 1M user.
Cloudflare Pages — cost-effective scale
Mạnh:
- Bandwidth gần như unlimited (free + Pro)
- Workers cold start 5ms, có thể chạy compute tại 300+ POP toàn cầu
- R2 storage không egress fee (S3 charge $0.09/GB egress)
- D1 SQLite, KV, Durable Objects — full BaaS edge
- Pricing dễ predict, không charge per-function-ms
Yếu:
- Next.js full features cần adapter (
@cloudflare/next-on-pages) — không native như Vercel - ISR phức tạp — phải implement qua KV cache
- Build minute hạn chế free tier (500/tháng)
- Image optimization phải tự build (Image Resizing $0.50/1M req)
Best for: site nhiều bandwidth (blog, e-commerce, media), edge API toàn cầu, team đã quen ecosystem CF.
Netlify — feature-rich
Mạnh:
- Forms — handle form submission không cần backend
- Identity — auth built-in
- Edge Functions chạy Deno — nhanh, modern
- Build plugin ecosystem phong phú
- Analytics server-side (no JS, không bị adblock)
Yếu:
- Build minute free chỉ 300/tháng — hết nhanh với CI
- Đắt nhất ở Pro tier ($19/seat thay vì $20 flat)
- Cold start function chậm hơn 2 platform kia
Best for: JAMstack site cần Forms, Identity tích hợp; team không muốn maintain backend riêng.
Benchmark performance thực tế
Test deploy cùng Next.js app (homepage + 1 API route) lên 3 platform, ping từ Hà Nội 2026-04:
| Metric | CF Pages | Vercel | Netlify |
|---|---|---|---|
| HTML TTFB | 45ms | 120ms | 180ms |
| API edge call | 50ms | 110ms | 250ms |
| Image (CDN cache hit) | 30ms | 40ms | 50ms |
| Build (Next.js 15) | 2:30 | 1:20 | 2:00 |
CF có nhiều POP nhất Việt Nam (HKG/SIN gần) → TTFB thấp. Vercel build nhanh nhất nhờ optimization Next.js.
Cost projection 1M page view/tháng
| CF Pages | Vercel Pro | Netlify Pro | |
|---|---|---|---|
| Hosting base | $0 (Free) / $20 Pro | $20 | $19 |
| Bandwidth (300GB) | $0 | $30 (200GB × $0.15) | $0 (100GB free) / $40 (vượt) |
| Function 5M req | ~$2 (Workers) | ~$40 (1.5M free, vượt charge) | ~$25 |
| Tổng | $0-22 | $90+ | $84+ |
Khuyến cáo thực tế
- MVP Next.js → Vercel free. Setup nhanh, focus product.
- Site nội dung scale (blog, news, e-commerce) → Cloudflare Pages. Bandwidth không lo.
- JAMstack với Forms → Netlify nếu cần Forms/Identity built-in.
- API edge toàn cầu → Cloudflare Workers độc lập (không cần Pages).
- Static export → CF Pages, ko lock-in.
Kết luận
Không có winner tuyệt đối — Cloudflare Pages vs Vercel khác use case. Vercel cho Next.js DX tốt nhất; CF Pages scale rẻ nhất; Netlify rich feature. Đa số site Alodev ship dùng CF Pages vì pricing predictable + edge nhanh. Đọc thêm CDN là gì để hiểu vì sao edge mạng quan trọng cho TTFB.