Vòng lặp vô hạn trong Durable Object khiến lập trình viên ôm hóa đơn Cloudflare 10.811 USD
Một lập trình viên đã phải trả hóa đơn Cloudflare lên tới 10.811,41 USD chỉ vì một alarm của Durable Object chạy vòng lặp vô hạn, tạo ra 6 nghìn tỷ lượt đọc/ghi. Cloudflare không có giới hạn chi tiêu cứng, và yêu cầu hoàn tiền chỉ nhận được phản hồi từ bot.

Vòng lặp vô hạn trong Durable Object khiến lập trình viên ôm hóa đơn Cloudflare 10.811 USD
Một lập trình viên đã phải trả hóa đơn Cloudflare lên tới 10.811,41 USD sau khi một alarm của Durable Object rơi vào vòng lặp vô hạn, tạo ra khoảng 6 nghìn tỷ lượt đọc và ghi chỉ trong một dự án. Câu chuyện được chia sẻ trên chuyên mục "Serverless Horrors" và nhanh chóng thu hút sự chú ý của cộng đồng lập trình viên.
Điều đáng nói là Cloudflare không có giới hạn chi tiêu cứng (hard spending limit) cho tài khoản này, nên vòng lặp cứ thế chạy cho đến khi hóa đơn được gửi tới. Tác giả cho biết đã thanh toán đầy đủ và không được hoàn tiền.
Chuyện gì đã xảy ra?
Theo chia sẻ của tác giả, nguyên nhân nằm ở một alarm của Durable Object được tạo ra trong quá trình "vibe coding" — tức là lập trình dựa nhiều vào sự hỗ trợ của AI mà thiếu kiểm tra kỹ lưỡng.
Cụ thể:
- Một alarm trong Durable Object tự lên lịch lại chính nó mãi mãi, tạo thành vòng lặp vô hạn.
- Vòng lặp này thực hiện khoảng 6 nghìn tỷ lượt đọc/ghi, đẩy chi phí vượt xa mọi dự tính.
- Cloudflare không có cơ chế chặn cứng khi chi phí vượt ngưỡng, nên hệ thống cứ tiếp tục tính tiền cho đến khi hóa đơn được phát hành.
Tác giả thừa nhận: "Vibe coding đã phản bội tôi."
Phản hồi từ Cloudflare và quyết định của tác giả
Sau khi nhận hóa đơn, tác giả đã cố gắng xin giảm chi phí nhưng không thành công:
- Ticket hỗ trợ chỉ nhận được các phản hồi tự động từ bot, lặp đi lặp lại trong vòng lặp.
- Nhân viên Cloudflare liên hệ qua X (Twitter) và các kênh khác chỉ nói rằng họ có thể "xem xét", nhưng không có hành động cụ thể nào.
- Cuối cùng, tác giả đã thanh toán toàn bộ 10.811,41 USD và gọi đây là "bài học đắt giá thứ hai trong đời".
Quyết định sau cùng: chuyển toàn bộ dự án rời khỏi Cloudflare sang VPS tự vận hành (self-hosted).
Bài học cho lập trình viên Việt Nam
Câu chuyện này là lời cảnh tỉnh cho các nhà phát triển, đặc biệt là những ai đang sử dụng mô hình serverless và các nền tảng tính phí theo mức sử dụng.
Một số lưu ý quan trọng:
- Luôn đặt cảnh báo chi phí (billing alert) và kiểm tra xem nền tảng có hỗ trợ giới hạn chi tiêu cứng hay không.
- Không tin tưởng tuyệt đối vào code do AI sinh ra — đặc biệt là các đoạn liên quan đến lập lịch, vòng lặp và xử lý sự kiện.
- Kiểm thử kỹ các alarm, cron job và cơ chế retry trước khi đưa lên môi trường production.
- Cân nhắc tự triển khai trên VPS với các công cụ giám sát và giới hạn tài nguyên rõ ràng nếu ngân sách là mối lo lớn.
Với các dịch vụ tính phí theo lượt đọc/ghi như Cloudflare Workers hay Durable Objects, một lỗi nhỏ trong logic cũng có thể biến thành hóa đơn khổng lồ chỉ sau vài giờ.
Kết luận
Sự cố này nhắc nhở rằng sức mạnh của hạ tầng serverless đi kèm với rủi ro chi phí không nhỏ. Việc thiếu giới hạn chi tiêu cứng khiến người dùng dễ rơi vào tình huống "cháy ví" mà không kịp trở tay.
Với cộng đồng lập trình viên Việt Nam — nơi serverless và các dịch vụ cloud đang ngày càng phổ biến — đây là bài học thực tế đáng để ghi nhớ trước khi giao phó logic quan trọng cho AI hoặc các nền tảng tính phí tự động.


