· cloudflare / workers / edge
Cloudflare Workers năm 2026 — khi nào nên lựa chọn
Cold start gần bằng không, 330+ PoP, $5/10M request. Workers lý tưởng cho API gateway và AI inference—nhưng không ghim GDPR region và 128 MB là rào cản cứng.
Bởi Ethan · Cập nhật 9 tháng 6, 2026
2.569 từ · 13 phút đọc
Workers phù hợp cho API gateway, auth middleware, edge caching, và AI inference khi độ trễ thấp và phạm vi toàn cầu quan trọng hơn sự linh hoạt của runtime. Câu chuyện về giá ở quy mô lớn khá thuyết phục — 10 triệu request với $5/tháng, các request vượt mức tính thêm $0.30/triệu. Nền tảng edge này đã trưởng thành đáng kể vào năm 2026. Nhưng nếu bạn cần yêu cầu lưu trữ dữ liệu theo vùng, native Node.js addon, hoặc hơn 128 MB bộ nhớ mỗi isolate, Workers sẽ chặn bạn trước khi kịp deploy.
Bài này dành cho ai
Developer TypeScript đang cân nhắc nơi chạy API logic, lightweight backend, hoặc AI inference cho user base toàn cầu. Nếu dự án của bạn yêu cầu tính toán chỉ trong EU theo quy định GDPR, hoặc phụ thuộc vào các package được biên dịch bằng node-gyp, bạn có thể dừng đọc tại đây — Workers không giải quyết được vấn đề đó.
Cloudflare Workers là gì
Workers chạy JavaScript hoặc TypeScript bên trong V8 isolate — không phải container, không phải VM. Một isolate là một execution context nhẹ bên trong V8 engine. Cold start nhanh hơn nhiều so với container — tài liệu của Cloudflare mô tả isolate khởi động nhanh hơn khoảng một trăm lần so với một Node process, và việc pre-warm trong quá trình TLS handshake còn giảm độ trễ cảm nhận thêm nữa. Không có container nào cần khởi động. Việc cách ly giữa các request được V8’s security model đảm bảo, không phải ranh giới process của OS.
Mạng lưới có hơn 330 điểm hiện diện (PoP) trải khắp hơn 100 quốc gia. Theo mặc định, request được định tuyến đến PoP gần nhất. Cloudflare tuyên bố 95% dân số thế giới có kết nối Internet nằm trong vòng 50ms của một PoP. Con số này khả tín dựa trên quy mô mạng lưới, nhưng độ trễ thực tế của người dùng phụ thuộc vào nhà mạng và vị trí địa lý — không chỉ riêng khoảng cách đến PoP.
Workers ra mắt năm 2017 như một lớp scripting edge cho CDN. Đến năm 2026, nó đã trở thành một nền tảng tính toán đầy đủ: D1 (SQLite tại edge), R2 (object storage tương thích S3 với egress miễn phí), Durable Objects (entity có trạng thái với tính nhất quán mạnh), Queues, Workflows, và Workers AI (GPU inference tại edge). Nền tảng đã đạt ngưỡng mà một backend thực sự có thể hoàn toàn sống trong hệ sinh thái Workers.
Những điểm mới trong năm 2026
Bốn bản phát hành từ tháng 9/2025 đáng chú ý nhất.
Cải thiện tương thích Node.js (Birthday Week, tháng 9/2025). Cloudflare bổ sung node:fs, node:https, node:dns, node:net, node:tls (một phần), và node:crypto. Hỗ trợ process.env nâng cao cũng ra mắt cùng lúc. Đây không phải tương thích Node.js hoàn toàn — native addon và bất cứ thứ gì dùng node-gyp vẫn không hoạt động — nhưng khoảng cách với các npm package thuần JS đã thu hẹp đáng kể.
Dynamic Workflows (1 tháng 5, 2026). Durable execution với khả năng định tuyến đến code do tenant cung cấp trong thời gian thực. Trường hợp sử dụng điển hình là SaaS multi-tenant: hàng triệu workflow definition riêng biệt với chi phí idle tối thiểu. Trước đây, bạn phải định nghĩa trước mọi workflow shape lúc deploy.
Anthropic Claude Managed Agents trên Cloudflare (19 tháng 5, 2026). Một quan hệ đối tác chính thức giữa Anthropic và Cloudflare, nơi Cloudflare cung cấp môi trường sandbox để thực thi code cho Claude agent — các tool call của agent chạy trên hạ tầng Cloudflare trong V8 isolate hoặc sandbox dựa trên microVM — trong khi vòng lặp lý luận của agent vẫn chạy trên hạ tầng của Anthropic. Với các nhóm xây dựng backend AI-native, đây là một tích hợp có giá trị: code thực thi ở cấp tool chạy tại edge, gần với data và API của bạn.
Containers GA (Paid plan, 2026). Container tương thích Docker chạy bên trong mạng lưới Cloudflare. Giới hạn mỗi container: 4 vCPU, 12 GiB bộ nhớ, và 20 GB disk (xem giới hạn hiện tại). Đây là một runtime khác với Workers isolate — nó mở khóa các workload cần quyền truy cập OS-level hoặc binary gốc. Chỉ dành cho Paid plan và được định giá riêng.
Workers Builds cũng GA vào tháng 9/2025 với disk tăng lên 20 GB (tất cả các plan) và 4 vCPU (Paid). Cold start giảm thêm 10× nhờ cải tiến optimistic routing được công bố cùng lúc.
Workers làm tốt nhất điều gì
API gateway và middleware. Một Worker đứng trước origin của bạn có thể xử lý xác thực auth header, rate limiting, A/B routing, và biến đổi request trước khi request chạm đến backend. Độ trễ thêm vào dưới 5ms tại hầu hết PoP. Đây là pattern Workers xử lý từ ngày đầu và vẫn là điểm mạnh nhất.
Authentication middleware. Xác thực JWT, kiểm tra session, và thêm CORS header đều nằm trong ngân sách CPU của isolate. Thư viện như jose cho JWT hoạt động ngay từ đầu. Pattern điển hình: Worker xác thực token, gắn claims vào header chuyển tiếp, origin nhận request đã được xác thực sẵn.
Edge caching với Cloudflare Cache API. Workers có quyền truy cập trực tiếp vào CDN cache của Cloudflare qua Cache API. Bạn có thể cache response tùy ý dựa trên bất kỳ phần nào của request — không chỉ URL. Với các ứng dụng nặng về nội dung có personalization hoặc giá theo tiền tệ, điều này linh hoạt hơn đáng kể so với một CDN rule thông thường.
Lightweight SSR. Render một component React hoặc Solid nhỏ phía server, phục vụ HTML kèm hydration script — Workers xử lý điều này mà không tốn thêm overhead đáng kể về độ trễ. Các framework như Astro, Hono, và Remix đều có adapter chính thức cho Workers. Giới hạn cần lưu ý là 128 MB bộ nhớ: nếu SSR của bạn cần load lượng lớn data vào bộ nhớ, bạn sẽ chạm ngưỡng.
AI inference qua Workers AI. Workers AI chạy GPU inference (Llama, Mistral, Whisper, các model phân loại ảnh) trên mạng lưới GPU của Cloudflare mà không cần quản lý hạ tầng. Catalog model hẹp hơn so với gọi trực tiếp OpenAI hay Anthropic, nhưng inference diễn ra trong cùng execution environment với Worker — không cần thêm một HTTP hop riêng.
Workers gặp khó khăn ở đâu
Giới hạn 128 MB bộ nhớ. Đây là giới hạn cứng mỗi isolate cho cả Free và Paid plan. Giới hạn này không tăng được. Nếu bạn cần load dataset lớn vào bộ nhớ, xử lý file nặng, hoặc chạy ML inference vượt ngoài Workers AI, bạn bị chặn. Containers (chỉ Paid) dỡ bỏ giới hạn này, nhưng với điểm giá khác và semantics khởi động container thay vì sub-millisecond như isolate.
Không ghim được vùng cụ thể. Workers định tuyến đến PoP gần nhất. Bạn không thể chỉ định “chỉ chạy ở eu-west-1.” Với các ứng dụng có yêu cầu lưu trữ dữ liệu theo GDPR — xử lý phải diễn ra trong biên giới EU — đây là rào cản không vượt qua được. Enterprise plan có thể yêu cầu routing cụ thể, nhưng không tự cấu hình được. D1 có primary region và read replica, nhưng việc chọn region cho primary còn hạn chế và không chi tiết như menu region của AWS.
Không có native Node.js addon. Bất kỳ package nào biên dịch binary gốc qua node-gyp sẽ không chạy được. Điều này bao gồm thư viện xử lý ảnh như sharp, công cụ PDF dùng libpdf, và một số thư viện cryptographic. Cải tiến tương thích Node.js năm 2025 giúp ích cho các package thuần JS đáng kể, nhưng bức tường native addon vẫn chưa thay đổi. Nếu stack của bạn phụ thuộc vào các package này, hãy tìm hiểu polyfill trước khi đưa ra quyết định.
Giới hạn 10ms CPU của Free plan. Free plan thực tế không dùng được cho việc phát triển thực sự. 10ms CPU mỗi request nghĩa là bất cứ thứ gì vượt quá thao tác chuỗi đơn giản sẽ thất bại. Paid plan với 30 giây mặc định (tối đa 5 phút) mới là nơi Workers trở thành runtime nghiêm túc. Hãy tính $5/tháng cho Paid plan tối thiểu như một chi phí phải có.
Bảng giá
Cloudflare Workers (tháng 6/2026)
| Gói | Phí cơ bản | Request | Thời gian CPU/request |
|---|---|---|---|
| Free | $0 | 100.000/ngày | 10 ms (cứng) |
| Paid (Standard) | $5/tháng | 10 triệu/tháng + $0.30/triệu | 30s mặc định, tối đa 5 phút |
| Enterprise | Thoả thuận | Thoả thuận | Thoả thuận |
So với AWS Lambda (tháng 6/2026)
Giá Lambda bao gồm phí request cộng phí thời gian chạy cộng API Gateway nếu bạn cần HTTP endpoint. Ở mức 10 triệu request:
- Lambda: ~$1 (request) + chi phí thời gian chạy +
$3.50 (API Gateway) = **$4.50+ tùy thời gian chạy** - Workers: $5 cố định (nằm trong gói cơ bản)
Ở mức 100 triệu request:
- Lambda + API Gateway: $100+ (chưa tính thời gian chạy)
- Workers: $5 cơ bản + (90 triệu × $0.30/triệu) = ~$32
AWS Lambda chiếm ưu thế nếu bạn cần: bất kỳ region nào của AWS cho tính toán, native runtime (Python, Java, Go, Ruby, .NET), native addon, hoặc tích hợp sâu với các dịch vụ AWS (SQS, SNS, DynamoDB Streams).
So với Vercel Functions (tháng 6/2026)
| Workers (Paid) | Vercel Functions (Pro) | |
|---|---|---|
| Phí cơ bản | $5/tháng | $20/tháng |
| Request bao gồm | 10 triệu | Tùy gói |
| PoP | 330+ thành phố | 126 PoP |
| Ghim vùng | Không | Có |
| Storage gốc | D1, KV, DO, R2 | External (Vercel KV via Upstash) |
| Next.js native | Tốt qua adapter | Xuất sắc (native) |
Vercel phù hợp hơn cho Next.js app khi tích hợp framework và ISR quan trọng. Workers rẻ hơn ở quy mô lớn và có nhiều tùy chọn storage gốc hơn. Xem so sánh Workers vs Vercel Edge để phân tích chi tiết hơn.
Trải nghiệm developer
Wrangler là CLI của Workers. wrangler dev chạy local preview kết nối với hạ tầng Cloudflare production thực tế (Remote Bindings, GA từ tháng 9/2025 trong Wrangler v4.36.0+). Bạn có thể kết nối với D1 database, KV namespace, hoặc R2 bucket thực trong môi trường local dev mà không cần mock.
Đây là một Worker tối giản với D1 database:
export interface Env {
DB: D1Database;
}
export default {
async fetch(request: Request, env: Env): Promise<Response> {
const { pathname } = new URL(request.url);
if (pathname === "/api/beverages") {
const { results } = await env.DB.prepare(
"SELECT * FROM Customers WHERE CompanyName = ?"
)
.bind("Bs Beverages")
.run();
return Response.json(results);
}
return new Response("Not found", { status: 404 });
},
} satisfies ExportedHandler<Env>;
Cấu hình wrangler.toml để kết nối D1 database vào env.DB:
[[d1_databases]]
binding = "DB"
database_name = "my-database"
database_id = "<your-database-id>"
Ba điều đáng chú ý. prepare() tạo câu lệnh tham số hóa. bind() đưa giá trị vào an toàn — bảo vệ SQL injection được tích hợp sẵn trong method, không phải thứ bạn phải opt vào. run() trả về { results, meta }. Binding DB được runtime của Workers inject — không cần connection string, không cần connection pool, không có pg.Pool tương đương để cấu hình.
Với migration, Wrangler v4.98.0 (phát hành ngày 5/6/2026) thêm hỗ trợ D1 migrations pattern. Pattern chuẩn là các file SQL migration trong thư mục migrations/, áp dụng qua wrangler d1 migrations apply. Local dev chạy migration với file SQLite cục bộ. Production chạy với D1.
TypeScript hoạt động từ đầu đến cuối: wrangler đi kèm tính năng tạo type (wrangler types) tạo ra worker-configuration.d.ts từ các binding trong wrangler.toml. Interface Env được type chính xác khớp với D1, KV, hoặc R2 binding bạn khai báo. Không cần viết type thủ công.
Giới hạn 10ms CPU của Free tier nghĩa là bạn không thể thực sự test ứng dụng thực tế trên đó. Bắt đầu với Paid ở $5/tháng.
Kết luận
Chọn Workers khi:
- API hoặc backend của bạn cần nhanh trên toàn cầu và bạn không muốn quản lý hạ tầng multi-region.
- Bạn đang xây dựng auth middleware, API gateway logic, edge caching, hoặc lightweight SSR.
- Bạn đang xây dựng backend AI-native và muốn inference chạy trong cùng runtime với API code.
- Bạn đang ở mức 10 triệu+ request/tháng và khoảng cách giá so với Lambda + API Gateway bắt đầu có ý nghĩa.
- Bạn muốn SQLite gốc tại edge (D1), global KV, object storage tương thích S3 với egress miễn phí (R2), hoặc entity có trạng thái nhất quán mạnh (Durable Objects) mà không cần tự quản lý hạ tầng.
Không chọn Workers khi:
- Bạn có yêu cầu GDPR hoặc chủ quyền dữ liệu buộc phải tính toán theo vùng — Workers không thể ghim vào vùng cụ thể theo cách self-serve.
- Stack của bạn phụ thuộc vào native Node.js addon (package
node-gyp). Cải tiến tương thích Node.js năm 2025 không bao phủ điều này. - Use case của bạn cần hơn 128 MB bộ nhớ mỗi request và bạn không thể chịu được giá của Containers.
- Bạn cần chạy Python, Java, Go, hoặc .NET — Workers hỗ trợ JS/TS, Python (beta), và Rust/WASM; không phải polyglot.
Deno Deploy xuất hiện một lần ở đây — V8 isolate, cold-start tương tự, nhưng hệ sinh thái hẹp hơn và mức độ áp dụng trong doanh nghiệp thấp hơn Workers trong các team TypeScript hiện nay.
Lưu ý
Các con số về cold start và độ trễ trong bài này lấy từ tuyên bố của Cloudflare và benchmark cộng đồng, không phải đo lường trực tiếp. Hãy benchmark workload của riêng bạn với wrangler dev --remote trước khi rút ra kết luận về độ trễ cho use case cụ thể của bạn.
So sánh giá sử dụng mức giá công bố tính đến tháng 6/2026. Giá Lambda đặc biệt phụ thuộc nhiều vào thời gian chạy và cấu hình bộ nhớ. Hãy tự tính toán chi phí dựa trên lượng request và p95 duration thực tế trước khi xem các bảng trên là tham chiếu chính thức.
Catalog model và giá của Workers AI đã thay đổi nhiều lần trong năm 2025–2026. Kiểm tra danh sách model và giá token hiện tại tại tài liệu chính thức trước khi xây dựng trên các model cụ thể.
Chúng tôi không có mối quan hệ affiliate với Cloudflare.
Tài liệu tham khảo
- Workers pricing
- Workers limits
- Node.js compatibility
- D1 documentation
- D1 get started
- D1 limits
- Durable Objects
- Queues
- Cloudflare Birthday Week 2025 announcements
- Cloudflare developer platform blog
- Workers blog
- workers-sdk on GitHub
- Cloudflare Containers limits
- Claude Managed Agents on Cloudflare
- How Workers works (cold starts)
- Eliminating cold starts with Cloudflare Workers