· vercel / nextjs / deployment
Vercel năm 2026: Còn đáng dùng không cho team của bạn?
DX của Vercel vẫn là lựa chọn tốt nhất cho team nhỏ. Ở $300–600+/tháng với 5M pageviews hay 5+ developer, bài toán đã vỡ. Đây là ranh giới và ba lối thoát.
Bởi toolchew
2.711 từ · 14 phút đọc
Vercel là lựa chọn đúng cho team nhỏ. Là lựa chọn sai cho team từ 5 người trở lên hoặc ứng dụng phục vụ media ở quy mô lớn — và không như năm 2023, các con đường thoát ra nay đã production-ready. Đây là ranh giới chính xác.
Bài này dành cho ai: Bạn đang chạy Next.js trên Vercel và tự hỏi liệu hóa đơn có xứng đáng không. Hoặc bạn đang bắt đầu dự án mới và muốn biết nên chọn nền tảng nào.
Hóa đơn khiến mọi người phải nhìn lại
Một team 10 người. Một Next.js monorepo. Middleware chạy trên mỗi request. Hình ảnh chưa được tối ưu. $700/tháng trên Vercel.
Đây không phải chuyện kinh dị — đây là một team đã phát triển vượt qua ngưỡng mà các cấu hình mặc định của Vercel vẫn còn tha thứ cho. Middleware trên mỗi request? Mỗi cái là một edge request cộng CPU time. 28.000 hình ảnh/tháng qua Vercel image optimizer? Đó là một dòng chi phí riêng, không tính vào bandwidth. Mười developer? $200/tháng trước khi có một request nào được phục vụ.
Team này thậm chí không hoàn toàn rời Vercel. Họ giữ Vercel cho frontend, chuyển assets sang Cloudflare R2, thêm một VPS $20/tháng cho các API nặng về tính toán. $700/tháng thành $120/tháng — giảm 83% — mà không thay đổi bất kỳ dòng code frontend nào.
Đây là hình dạng của hầu hết các vấn đề chi phí Vercel: không phải một tính năng nổi loạn, mà là các cài đặt mặc định cộng gộp lại. Giải quyết sự cộng gộp đó, và bạn thường có thể ở lại.
Vercel thực sự tốn bao nhiêu
Hobby plan (Free): 1M edge requests, 100GB bandwidth, 1M function invocations/tháng. Giới hạn cứng — chạm vào là site sập, không bị trừ tiền thêm.
Pro plan: $20/user/tháng. Bao gồm 1TB bandwidth, 10M edge requests. Active CPU tính theo nhu cầu (khác nhau theo region). Chi phí vượt mức:
| Tài nguyên | Giá vượt mức |
|---|---|
| Bandwidth | $0.15/GB |
| Edge requests | $2 per 1M |
| Active CPU | ~$0.128/giờ (tùy region) |
| Image optimization | $0.05–$0.0812 per 1K (sau 5K/tháng miễn phí) |
Đợt cải tổ giá tháng 9/2025 đã giúp ích. Vercel đơn giản hóa billing theo mô hình credit linh hoạt, thêm viewer seat miễn phí cho collaborator không deploy, và bật Spend Management mặc định. Theo Vercel, hơn 100.000 team dự kiến sẽ có hóa đơn bằng hoặc thấp hơn trước.
Mô hình tính phí theo đầu người vẫn là vấn đề cốt lõi. Mười developer là $200/tháng trước khi có một request nào đến. Con số đó cộng gộp với mọi chi phí vượt mức từ đó trở đi.
Năm bẫy chi phí vượt mức
- Nhân theo đầu người. 10 developer = $200/tháng. Không có cách nào xử lý.
- Image optimization. Không tính vào bandwidth. Ở giá trước tháng 9/2025 ($5/1K), 28K hình ảnh/tháng tốn $135 trong một case study thực tế; ở giá hiện tại ($0.05–$0.0812/1K), cùng khối lượng chỉ tốn ~$1.40–$2.27. Dùng prop
unoptimizedhoặc chuyển sang Cloudflare Image Resizing nếu khối lượng hình ảnh quá lớn. - ISR runaway. Các khoảng
revalidatecấu hình sai âm thầm tích lũy chi phí $0.40/1.000 ISR read/write operations. - Edge middleware nhân bản. Mỗi request qua middleware = một edge request + CPU time. Kiểm tra xem middleware của bạn có thực sự cần chặn tất cả những gì nó đang chặn không.
- Không có giới hạn cứng tự động. Spend Management đã bật mặc định, nhưng bạn phải tự đặt giới hạn thực tế. Không có giới hạn, chi phí vượt mức tích lũy trong im lặng.
Câu hỏi về lock-in
Năm 2023, “đừng deploy Next.js ở đâu ngoài Vercel” còn có thể biện hộ được. Edge Middleware, ISR revalidation, image optimization, và Server Components dưới tải cao đều có hành vi Vercel-specific mà các nền tảng khác chưa sao chép hoàn toàn được.
Điều đó đã thay đổi vào năm 2026.
OpenNext + SST v3 đã production-ready. AWS adapter bắt nguồn từ SST năm 2023 và nay đã sẵn sàng cho production; Cloudflare adapter được chính team Cloudflare maintain; Netlify maintain adapter riêng của họ. Quan trọng hơn: Adapter API đã ổn định trong Next.js 16.2. Các nền tảng không còn phải reverse-engineer build output nữa — đã có integration point chính thức. OpenNext gia nhập Next.js Ecosystem Working Group vào tháng 3/2026.
Những gì SST trên AWS cung cấp, hoạt động hoàn chỉnh:
- Server Components và Server Actions
- ISR với S3 + Lambda + cache layer
- Edge Middleware qua CloudFront Functions
- Image optimization qua Lambda
- SSG và static file serving qua CloudFront CDN
Chênh lệch chi phí ở quy mô thực: ở 5M pageviews, Vercel chạy $300–600+/tháng. Các case study tự host đã có tài liệu trên AWS qua SST + OpenNext cho thấy giảm 80–95% chi phí. Khoảng cách càng lớn khi team càng đông, vì mỗi developer thêm vào tốn $20/tháng trên Vercel mà không có tương đương trên AWS.
Nhược điểm là thật: bạn cần hiểu AWS, IAM, và một công cụ infrastructure (Terraform, Pulumi, hoặc CDK). OpenNext không phải deploy một lệnh là xong. Nếu team bạn có kiến thức ops, đây đã là con đường migration thực sự first-class. Nếu bạn là hai người trước khi launch, đây là bài toán sai để giải hôm nay.
Lock-in năm 2026: Câu hỏi không phải là bạn có thể rời đi không — rõ ràng là có. Câu hỏi là liệu chi phí ops có xứng với quy mô team và lượng traffic của bạn không.
Các lựa chọn thay thế
Railway — cho team cần server thực sự
Railway chạy long-running server, không phải serverless function. Không cold start. Persistent connection hoạt động tự nhiên. Nếu bạn đang build bất cứ thứ gì với WebSocket, real-time feature, hoặc long-running job, Railway là câu trả lời đúng và Vercel thì không.
Giá: $5/tháng Hobby (bao gồm $5 usage credit), $20/tháng Pro (bao gồm $20 usage credit). Usage tính theo $0.000463/vCPU-phút và $0.000231/GB-phút RAM, cộng $0.05/GB egress.
Khi nào dùng: Background worker, WebSocket server, API không chịu được cold start, monolith không chuyên biệt cho Next.js.
Khi nào không dùng: Site thuần static, hoặc Next.js app hưởng lợi từ phân phối edge toàn cầu. Railway không phải CDN.
Railway là nền tảng thay thế Vercel duy nhất có affiliate program đang hoạt động — 15% commission trên referral revenue. Thử Railway.
Cloudflare Pages + Workers — cho traffic cao với ngân sách cố định
Không tính phí egress. Đó là điểm mấu chốt. Với ứng dụng nặng về media ở quy mô lớn, không nền tảng nào sánh được.
- Pages: Free tier bao gồm unlimited bandwidth và requests. Pro $20/tháng thêm nhiều concurrent build hơn và 5.000 build/tháng.
- Workers: $5/tháng cho 10M requests; các request bổ sung $0.30/M. Ở 100M requests/tháng với CPU trung bình 7ms, tổng chi phí khoảng $45/tháng ($32 cho requests: $5 base + $27 overage cho 90M × $0.30/M; ~$13 cho CPU: 670M billable CPU-ms × $0.02/M).
Khi nào dùng: Site nặng về static, ứng dụng high-traffic nơi bandwidth là ngưỡng chi phí, bất cứ thứ gì cần phân phối edge mà không tính phí theo GB.
Khi nào không dùng: App phụ thuộc vào Node.js-specific API (Workers chạy V8 isolate, không phải Node.js), hoặc app cần full Next.js ISR semantics mà không có OpenNext.
Để so sánh chi tiết hơn giữa Cloudflare Workers và AWS Lambda, xem Cloudflare Workers vs AWS Lambda năm 2026.
Không có affiliate program — Cloudflare không có thỏa thuận affiliate tính đến tháng 5/2026.
Fly.io — cho containerized workload
Docker-native. Fly cho bạn quyền kiểm soát thực sự về những gì đang chạy. Shared CPU instance bắt đầu từ $2.02/tháng; performance instance $32.19/tháng. Multi-region deployment là tính năng first-class, không phải add-on premium.
Khi nào dùng: App đã container hóa, team có Docker hoặc kinh nghiệm ops, yêu cầu multi-region với ngân sách kiểm soát được.
Khi nào không dùng: Team chưa có kinh nghiệm container, hoặc dự án mà workflow deploy của Vercel thực sự tăng tốc quá trình phát triển. Đánh đổi là thật — Fly cho bạn kiểm soát, không phải sự tiện lợi.
Egress: $0.02/GB ở US/EU, $0.04/GB ở Châu Á-Thái Bình Dương. Reservation block có thể giảm 40%.
Render nằm ở đâu trong bức tranh này
Render bắt đầu từ $7/tháng cá nhân, $25/tháng cho 2GB RAM professional. Không có affiliate program đã xác nhận. Đây là lựa chọn trung gian hợp lý cho containerized app giữa sự kiểm soát của Fly và sự đơn giản của Railway, nhưng không có lợi thế chi phí đáng kể ở các tầng quan trọng.
So sánh chi phí theo mức traffic
Phương pháp: Next.js app, kết hợp static và SSR page, ~10 edge request mỗi pageview (HTML + assets + API), trọng tải trang trung bình ~200KB, một SSR function invocation mỗi dynamic pageview, team 2–3 developer.
| Pageviews/tháng | Vercel | Railway | Cloudflare | Fly.io |
|---|---|---|---|---|
| 100K | Miễn phí (Hobby) | ~$5–10 | Miễn phí (Pages) | ~$3–5 |
| 500K | ~$40–60 (Pro, 2 seats) | ~$15–25 | $20 (Pages Pro) | ~$10–15 |
| 1M | ~$80–120 (Pro, 3 seats) | ~$25–40 | $20–45 (Workers) | ~$15–30 |
| 5M | $300–600+ | ~$60–100 | ~$50–80 | ~$40–70 |
Giá xác minh ngày 2026-05-18. Ước tính Vercel 5M tính theo bandwidth overage ở profile workload đã nêu.
Các điểm bước ngoặt:
- Dưới 500K pageviews, 1–2 developer: Vercel Hobby miễn phí. Khó vượt qua.
- 500K–2M, ≤3 developer: Vercel Pro có tính cạnh tranh.
- Trên 2M, hoặc 5+ developer: Vercel bắt đầu thua rõ rệt. Ở 5M pageviews, bandwidth overage một mình đã thêm $75–150+/tháng. Với 10 developer, bạn đang trả $200/tháng trước khi có bất kỳ usage nào.
Ai nên ở lại, ai nên rời đi
Ở lại Vercel nếu:
- Chưa tìm được product-market fit hoặc đây là dự án cá nhân — Hobby miễn phí và thực sự tốt
- Team 1–3 người, dưới 500K monthly pageviews
- App chủ yếu static (Next.js SSG) — overage hiếm xảy ra
- Bạn cần zero-ops: preview deployment, branch preview, instant rollback quan trọng với workflow của bạn
- Spend Management đã được cấu hình với giới hạn cứng
Rời Vercel nếu:
- Team từ 5 người trở lên — $100+/tháng trước khi có usage, và bài toán không cải thiện
- Bạn phục vụ lượng media đáng kể — Cloudflare Pages + R2 thắng về chi phí ở quy mô lớn
- Hóa đơn Vercel hàng tháng vượt $200 và đang tăng
- Bạn cần persistent connection (WebSocket, real-time feature, long-running job) — Railway hoặc Fly.io
- Bạn muốn tự host Next.js trên AWS — SST v3 + OpenNext nay đã production-ready và có thể cắt giảm 80–95% chi phí
Nếu bạn đang rời đi: ba con đường
1. Hybrid (ít phức tạp nhất, ROI nhanh nhất)
Giữ Vercel cho frontend deployment. Chuyển các nguồn chi phí cụ thể:
- Assets và hình ảnh → Cloudflare R2 ($0.015/GB lưu trữ, egress miễn phí đến mạng Cloudflare)
- API nặng về tính toán → VPS $20/tháng hoặc Railway container
Đây chính xác là những gì case study $700→$120 đã làm. Không thay đổi code frontend. Không cần kiến thức DevOps mới. Phù hợp với team muốn giảm 50–80% hóa đơn mà không cần migration toàn bộ nền tảng.
Thiết lập một lần cho hình ảnh: thay default loader của next/image bằng custom loader trỏ đến R2 bucket, hoặc dùng Cloudflare Image Resizing. Khoảng nửa ngày kỹ thuật.
2. Full migration với SST + OpenNext (tiết kiệm nhiều nhất, tốn công nhất)
- Cài SST v3 và cấu hình Next.js adapter
- Thiết lập AWS credentials với IAM least-privilege
- Deploy:
sst deploy --stage production - Trỏ domain đến CloudFront distribution output
- Xác minh ISR, middleware, và image optimization trong staging trước khi chuyển DNS
# thiết lập SST v3 Next.js tối giản
npm create sst@latest
# chọn: Next.js, AWS
sst deploy --stage production
Dự kiến giảm 80–95% chi phí ở quy mô lớn. Dự kiến 1–3 ngày công ops ban đầu và cần chăm sóc AWS liên tục. Adapter API ổn định trong Next.js 16.2 làm cho đây là con đường được hỗ trợ chính thức, không phải giải pháp cộng đồng.
3. Container hóa (thoát khỏi Next.js lock-in triệt để nhất)
Nếu app của bạn không phụ thuộc chặt vào Next.js ISR hoặc Vercel-specific edge feature, hãy container hóa với Next.js standalone output:
FROM node:22-alpine AS builder
WORKDIR /app
COPY . .
RUN npm ci && npm run build
FROM node:22-alpine AS runner
WORKDIR /app
COPY --from=builder /app/.next/standalone ./
COPY --from=builder /app/.next/static ./.next/static
EXPOSE 3000
CMD ["node", "server.js"]
Deploy lên Railway, Fly.io, hoặc bất kỳ Docker-compatible host nào. Bạn đánh đổi phân phối edge và ISR của Vercel để lấy persistent connection, hóa đơn tháng dự đoán được, và không có phí theo đầu người.
Kết luận
Vercel xây dựng danh tiếng trên deployment DX thực sự dẫn đầu. Điều đó vẫn còn đúng một phần năm 2026 — workflow preview deployment vẫn là con đường nhanh nhất từ push đến shareable URL, và câu chuyện zero-ops là thật với team nhỏ.
Nhưng mô hình chi phí phạt sự tăng trưởng theo những cách nay có thể tránh được. Đợt cải tổ tháng 9/2025 đi đúng hướng (viewer seat miễn phí, Spend Management mặc định), nhưng không sửa được bài toán cộng gộp theo đầu người hay bandwidth overage rate ở quy mô.
Chọn Vercel nếu bạn chưa tìm được product-market fit, team 1–3 người, phần lớn static, hóa đơn dưới $100/tháng. Cấu hình Spend Management với giới hạn cứng ngay ngày đầu.
Chuyển nếu bạn có 5+ developer, phục vụ lượng media đáng kể, hoặc hóa đơn hàng tháng trên $200 và đang tăng. OpenNext trên AWS nay đã production-ready; Railway là lựa chọn hiển nhiên cho bất cứ thứ gì server-shaped; Cloudflare Pages thắng cho workload nặng về bandwidth.
Câu hỏi về lock-in đã có câu trả lời: bạn có thể rời đi, và có ba con đường khả thi. Câu hỏi duy nhất là liệu chi phí ops của việc rời đi có thấp hơn chi phí định kỳ của việc ở lại không.
Nếu bạn cũng đang cân nhắc về framework, Next.js 16 vs React Router v7 phân tích cách lựa chọn framework ảnh hưởng đến tính linh hoạt khi deploy trên nhiều nền tảng.
Lưu ý
- Giá xác minh ngày 2026-05-18. Overage rate của Vercel đã thay đổi trước đây; xác minh tại vercel.com/pricing trước khi đưa ra quyết định.
- Ước tính chi phí dựa trên profile workload đã nêu. Workload nặng về media hoặc team đông người đẩy chi phí Vercel lên cao hơn so với bảng.
- Railway là affiliate link. toolchew nhận commission trên referral revenue nếu bạn đăng ký qua /go/railway. Kết luận sẽ như vậy dù không có commission — Railway thực sự thắng cho workload server-shaped.
- Enterprise pricing và DDoS ở quy mô cực đại không được thử nghiệm.