Chi phí thật và giới hạn gói miễn phí
Cái gì miễn phí, cái gì không, chỗ nào tiền tăng bất ngờ, và cách tính giá bán cho khách mà không lỗ.
Biết chi phí là điều kiện để báo giá đúng. Rất nhiều người làm một mình báo giá theo cảm tính rồi tháng thứ năm mới phát hiện mình đang bù lỗ cho hạ tầng.
Giá và hạn mức của Cloudflare đổi vài lần mỗi năm. Dùng bài này để hiểu cấu trúc chi phí — cái gì tính theo cái gì — rồi kiểm số cụ thể tại developers.cloudflare.com trước khi ký hợp đồng.
Cái gì miễn phí thật
Gói Free của Cloudflare không phải bản dùng thử. Nó là gói dùng được cho app thật:
| Sản phẩm | Gói Free cho gì |
|---|---|
| Pages | Không giới hạn lượt truy cập, không giới hạn băng thông |
| Workers | ~100.000 request/ngày, 10 ms CPU mỗi request |
| D1 | Vài GB lưu trữ, vài triệu lượt đọc/ngày |
| KV | Hàng trăm nghìn lượt đọc/ngày, lượt ghi ít hơn nhiều |
| R2 | ~10 GB lưu trữ, và truyền ra miễn phí vĩnh viễn |
| DNS, HTTPS, CDN, chống DDoS cơ bản | Không giới hạn |
Một app nội bộ 50–200 người dùng thường nằm trọn trong gói Free. Đây không phải nói quá — đó là trường hợp phổ biến.
Cái gì phải trả tiền
| Thứ | Vì sao cần | Mức |
|---|---|---|
| Workers Paid | Bỏ trần request/ngày, CPU rộng hơn | ~5 USD/tháng, đã gồm hạn mức lớn |
| Durable Objects | Không có trong Free | Nằm trong Workers Paid |
| Queues | Không có trong Free | Nằm trong Workers Paid |
| Tên miền | .com ~10 USD/năm · .vn ~750k–850k đ/năm |
Theo năm |
| Claude API | Nếu app có tính năng AI | Theo lượng chữ |
Kết luận thực dụng: 5 USD/tháng mở khóa gần như mọi thứ bạn cần. Đó là khoảng 130 nghìn đồng — rẻ hơn một bữa ăn trưa cho hai người, và rẻ hơn VPS nhỏ nhất.
Bốn chỗ tiền tăng bất ngờ
1. Lượt GHI vào KV. KV đọc rất rẻ, ghi đắt hơn nhiều và hạn mức ghi ở gói Free thấp. Nếu bạn dùng KV làm bộ đếm cho mỗi request (ví dụ đếm trần rate limit) thì mỗi lượt truy cập là một lượt ghi. Một app 200 người dùng có thể vượt hạn mức ghi trong vài giờ. Chữa: chỉ ghi khi giá trị thật sự đổi; gộp bộ đếm theo phút thay vì theo request; bộ đếm chính xác thì dùng Durable Object.
2. Số thao tác R2, không phải dung lượng.
R2 tính theo hai thứ: dung lượng lưu, và số thao tác. Một trang danh sách tải 50 ảnh thu nhỏ là 50 thao tác đọc. Nhân với 200 người × 20 lần mỗi ngày = 200.000 thao tác/ngày.
Chữa: đặt Cache-Control: immutable cho ảnh (CDN phục vụ lại, không đụng R2), dùng ảnh thu nhỏ cho danh sách, gộp nhiều ảnh nhỏ thành một nếu được.
3. CPU, không phải số request. Giới hạn hay chạm là thời gian CPU mỗi request, không phải số lượt. Nhớ: chờ cơ sở dữ liệu không tính là CPU. Thứ tốn CPU là tính toán — vòng lặp lớn, xử lý ảnh phía máy chủ, mã hóa, phân tích văn bản dài. Chữa: đừng xử lý ảnh trong Worker (nén ở phía trình duyệt); đừng lặp qua hàng chục nghìn dòng trong một request.
4. Chi phí AI theo lượng chữ. Đây là khoản duy nhất tăng theo mức độ người dùng thích tính năng của bạn. Một trợ lý được dùng nhiều là một hóa đơn lớn. Chữa: bốn lớp chặn ở Nhúng AI vào app — trần theo người theo ngày, chặn đầu vào dài, nhớ lại câu đã hỏi, ghi nhật ký từng lượt.
Hai điều tôi thấy có giá trị thật khi chào app cho doanh nghiệp vừa và nhỏ:
(a) Chi phí bắt đầu bằng 0. Khách sợ "phí hằng tháng" hơn sợ phí làm app — một hóa đơn 500 nghìn/tháng phải qua một cuộc họp, 0 đồng thì không ai hỏi. Bạn có thể giao app, để khách dùng thật vài tháng rồi mới tính chuyện nâng gói khi đã có giá trị chứng minh được.
(b) Chi phí tăng theo mức dùng, không theo bậc thang dốc. Không có chuyện "vượt 1 người dùng là nhảy lên gói 50 USD" như nhiều nền tảng. Với khách đang thử nghiệm, điều này rất dễ nói chuyện.
Cái không nên làm: hứa với khách "miễn phí mãi mãi". Khi app lớn lên nó sẽ tốn tiền, và lúc đó bạn ở thế khó. Cách nói đúng: "Hiện tại chi phí hạ tầng nằm trong gói miễn phí. Khi vượt, khoảng 5 USD/tháng. Em sẽ báo trước khi tới ngưỡng."
Tính giá bán cho khách
Chi phí thật của bạn gồm ba phần, và phần hạ tầng là phần nhỏ nhất:
1. HẠ TẦNG 0 – 200 nghìn/tháng ← phần nhỏ nhất
2. THỜI GIAN số giờ × đơn giá của bạn ← phần chính
3. BẢO TRÌ sửa lỗi, đổi nhỏ, hỗ trợ ← phần hay bị quên
Phần 3 là phần làm người mới lỗ. Bạn báo giá cho việc dựng app, rồi dành 6 tháng sau đó sửa lỗi miễn phí vì "khách nhờ chút thôi".
Ba cách định giá, chọn theo tình huống:
| Cách | Khi nào hợp | Rủi ro |
|---|---|---|
| Trọn gói cho phạm vi đã chốt | Phạm vi rõ, khách biết mình muốn gì | Khách đổi ý liên tục → bạn lỗ |
| Trọn gói + phí duy trì hằng năm | App chạy lâu dài, có người dùng thật | Phải cam kết hỗ trợ thật |
| Theo giờ | Phạm vi mơ hồ, vừa làm vừa định hình | Khách khó duyệt ngân sách |
Cách thứ hai là cách bền nhất với app doanh nghiệp: một khoản dựng ban đầu, cộng phí duy trì theo năm bao gồm hạ tầng, sửa lỗi, và một số giờ thay đổi nhỏ. Nó làm cho bạn có động lực để app chạy tốt, và khách biết rõ sẽ trả bao nhiêu.
Một số dịch vụ của Cloudflare có điều khoản hạn chế việc bán lại (cung cấp hạ tầng của họ như sản phẩm của bạn cho bên thứ ba). Làm app cho khách và vận hành trên tài khoản của bạn thì bình thường; nhưng mô hình kiểu "em bán cho anh 100 tài khoản gọi video" có thể vi phạm.
Cách an toàn khi làm nền tảng cho nhiều khách: dùng tài khoản/khóa của chính khách hàng, bạn làm phần ứng dụng. Đọc kỹ điều khoản của dịch vụ cụ thể trước khi xây mô hình kinh doanh trên nó.
Theo dõi chi phí hằng tháng
Ba việc, mỗi tháng 10 phút:
- Dashboard → Billing — xem thật sự tốn gì. Đừng đoán.
- Workers → Observability — đường nào gọi nhiều nhất? Thường có một đường chiếm 60% và nó là chỗ tối ưu đáng giá nhất.
- Nhật ký AI của bạn (nếu có) — tổng số chữ tháng này, ai dùng nhiều nhất.
Và đặt cảnh báo ngân sách trong phần Billing. Nó không chặn chi tiêu, nhưng nó báo cho bạn trước khi hóa đơn thành chuyện lớn.
Đọc project này và ước lượng chi phí hạ tầng hằng tháng, giả định:
- 150 người dùng, mỗi người mở app 8 lần/ngày, 22 ngày/tháng
- Mỗi lần mở gọi những đường API nào (đọc trong mã, đừng đoán)
- Mỗi ngày tạo khoảng 200 bản ghi mới, 50 ảnh tải lên
Tính ra:
1. Số request Workers/tháng → còn trong gói Free không?
2. Số lượt đọc và GHI vào KV/tháng (ghi mới là chỗ đắt)
3. Số thao tác R2/tháng và dung lượng tích lũy sau 12 tháng
4. Nếu có AI: số lượt gọi và ước lượng số chữ
Nêu rõ giả định nào bạn phải tự đặt ra. Chỉ ra ĐƯỜNG API TỐN NHẤT
và cách giảm nó. Không cần tra giá hiện hành — chỉ cần đếm số lượng.
Đếm số lượng là phần AI làm tốt (đọc mã, nhân chia). Tra giá thì bạn tự làm trên trang chính thức, vì giá đổi.
Và tôi thấy ngại, vì "có 3 ngày thôi mà". Người kèm hỏi tôi một câu: "Nếu thuê công ty phần mềm, họ báo bao nhiêu?" Tôi đi hỏi: 60–120 triệu, 2 tháng.
Rồi anh ấy nói tiếp: "Khách không mua số ngày của em. Khách mua việc họ hết phải làm bằng tay."
Tôi vẫn giữ giá thấp vì mới làm, nhưng tôi đổi cách nói. Thay vì "app này em làm 3 ngày", tôi nói "app này thay cho việc 2 nhân viên ngồi nhập Excel mỗi ngày 1 tiếng". Khách gật ngay, và không ai hỏi tôi làm trong bao lâu.
Một điều nữa tôi học muộn: ghi rõ phí duy trì ngay từ báo giá đầu, kể cả khi là 0 đồng cho năm đầu. Nếu để sau mới nói, khách thấy như bị phát sinh.
- Đủ: cấu trúc gói Free, cái gì phải trả tiền, bốn chỗ tiền tăng bất ngờ, ba cách định giá, theo dõi hằng tháng.
- Cố ý không đưa bảng giá chi tiết: giá đổi vài lần mỗi năm; học cấu trúc thì dùng được lâu, học con số thì lạc hậu sau 6 tháng.
- Rủi ro còn lại: bài này nói về chi phí hạ tầng. Chi phí lớn nhất của bạn là thời gian của chính bạn, và nó không hiện trên hóa đơn nào. Nếu một app ngốn 10 giờ hỗ trợ mỗi tháng, nó đang lỗ dù hạ tầng 0 đồng.
- Mở Dashboard → Billing, xem tháng này bạn thật sự tốn bao nhiêu.
- Chạy đề ước lượng ở trên, tìm ra đường API tốn nhất của app.
- Đặt cảnh báo ngân sách.
- Viết một báo giá mẫu cho app của bạn, gồm đủ ba phần: dựng ban đầu, hạ tầng, và phí duy trì hằng năm. Kể cả khi chưa có khách — viết ra để biết mình đang bán cái gì với giá nào.