Hook
Tuần trước, hàng loạt khách hàng AWS – từ startup nhỏ đến tập đoàn lớn, bao gồm không ít công ty crypto – đã giật mình khi nhìn vào bảng ước tính chi phí (Cost Explorer). Thay vì những con số vài chục nghìn hay vài trăm nghìn đô, họ thấy một dãy số dài: hàng tỷ, thậm chí hàng nghìn tỷ USD. Chỉ trong vài giờ, các hội nhóm FinOps và diễn đàn Reddit dậy sóng với hashtag #AWSBilling. Nhưng điều kỳ lạ là: không ai bị trừ tiền thật. AWS sau đó xác nhận đó là lỗi ước tính, không ảnh hưởng đến hóa đơn cuối cùng. Tuy nhiên, với tôi – người đã theo dõi các sự cố hạ tầng suốt 24 năm qua – đây không chỉ là một “lỗi hiển thị” đơn thuần. Con số kể một câu chuyện khác.
Context
AWS là nền tảng đám mây lớn nhất thế giới, phục vụ hàng triệu khách hàng, trong đó có các sàn giao dịch, layer-2, and giao thức DeFi. Hệ thống tính phí của AWS vốn nổi tiếng phức tạp: nó gồm hàng ngày dịch vụ, hàng nghìn pricing SKU, and nhiều loại giảm giá (reserved instances, savings plans). Để giúp khách hàng dự báo chi phí, AWS cung cấp trang “Cost Explorer” – nơi hiển thị chi phí ước tính dựa trên dữ liệu gần thực tế. Bảng ước tính này có nhiệm vụ cung cấp cái nhìn sơ bộ, không thay thế cho hóa đơn chính thức cuối tháng. Tuy nhiên, khi ước tính sai lệch đến mức phi lý, niềm tin vào dữ liệu bị xói mòn ngay lập tức. Vấn đề ở đây không chỉ là kỹ thuật mà còn là tâm lý: với các công ty crypto – nơi văn hóa “trustless” là kim chỉ nam – chứng kiến nhà cung cấp hạ tầng quan trọng mắc lỗi cơ bản đến vậy là một hồi chuông cảnh tỉnh.

Core
Vậy điều gì đã thực sự xảy ra? Tôi đã chạy query (trên giấy, dựa trên phân tích sự cố tương tự trong quá khứ) và kết quả là: lỗi này gần như chắc chắn nằm ở tầng xử lý ước tính, hoàn toàn tách biệt với hệ thống tính phí thực tế. AWS, như nhiều công ty lớn, vận hành hai pipeline song song: một pipeline “thô” để xử lý log usage và tính phí tạm thời, một pipeline “chính xác” có khâu kiểm tra, đối chiếu và phát hành hóa đơn cuối cùng. Pipeline ước tính ưu tiên tốc độ hơn độ chính xác tuyệt đối. Điều tinh tế (và đáng sợ) trong thiết kế này là: nếu có lỗi trong pipeline ước tính, dù nó hoàn toàn không ảnh hưởng đến số tiền bị trừ, nó vẫn gây ra tổn thất về mặt niềm tin và thời gian xử lý của đội ngũ tài chính.
Có ba nguyên nhân kỹ thuật phổ biến dẫn đến loại lỗi này:
- Integer overflow (tràn số nguyên): Khi một giá trị vượt quá kích thước tối đa của biến, nó có thể quay vòng hoặc trở thành giá trị âm, hoặc trở thành NaN. Một phép tính đơn giản như
số_giờ * giá_mỗi_giờnếu một trong hai biến bị hỏng có thể cho ra kết quả thiên văn. - Lỗi cấu hình: Một API trả về giá trị sai do config bị thay đổi trong quá trình cập nhật. Ví dụ: một multiplier được set thành 1e9 thay vì 1.
- Lỗi logic xử lý: Ví dụ, khi xử lý dữ liệu từ nhiều region, một vòng lặp vô tình cộng dồn giá trị gấp nhiều lần.
Trong sự cố AWS lần này, nhiều khả năng là sự kết hợp giữa lỗi cấu hình và thiếu kiểm soát tầng hiển thị. Bằng chứng: lỗi xuất hiện đồng loạt trên nhiều tài khoản, cho thấy nó nằm ở dịch vụ dùng chung (shared service layer). AWS đã sửa lỗi trong vòng vài giờ mà không cần tắt hệ thống, chứng tỏ đó là lỗi cấu hình chứ không phải bug code sâu.
Nhưng điểm quan trọng hơn: hệ thống giám sát nội bộ của AWS đã không phát hiện ra sự bất thường này. Một pipeline ước tính tạo ra giá trị 10^12 lần so với dự kiến lẽ ra phải kích hoạt cảnh báo tự động ngay lập tức. Sự im lặng của hệ thống cảnh báo cho thấy một lỗ hổng lớn trong khâu Observability – khả năng quan sát sức khỏe của chính sản phẩm AWS. Đây là điểm yếu chết người, bởi một sự cố nhỏ trong pipeline hiển thị có thể làm sụp đổ lòng tin vào toàn bộ nền tảng.
Đối với các công ty crypto, hậu quả trực tiếp là sự xáo trộn trong công tác dự báo dòng tiền. Nhiều công ty dùng Cost Explorer để lập ngân sách hàng tháng. Khi số liệu nhiễu loạn, đội tài chính phải tốn hàng giờ để đối chiếu, thậm chí có thể đưa ra quyết định sai lầm như cắt giảm chi tiêu không cần thiết hoặc bỏ lỡ cơ hội scale. Nỗi sợ “hóa đơn thật” có thể khiến startup non trẻ hoảng loạn.
Contrarian
Tuy nhiên, góc nhìn phản trực giác của tôi lại khác. Lỗi ước tính này, kỳ thực, là một minh chứng cho sự phân tách trách nhiệm rõ ràng giữa “ước lượng” và “quyết toán”. Nếu AWS đã merge hai pipeline, sai sót có thể dẫn đến việc trừ tiền thật – thảm họa thực sự. Rằng lỗi xảy ra ở tầng ước tính nhưng được phát hiện và sửa nhanh chóng cho thấy quy trình vận hành cơ bản vẫn ổn. Điều mà đường cong lợi suất đảo ngược có nghĩa là (vâng, tôi đùa) – điều mà sự cố này thực sự phơi bày là sự phụ thuộc quá mức vào bảng điều khiển của cloud provider. Nhiều công ty crypto vẫn chưa xây dựng lớp giám sát chi phí độc lập (có thể dùng open-source tool như CloudHealth hoặc tự viết script gọi API). Họ đặt trọn niềm tin vào một con số hiển thị màu xanh trên màn hình, quên rằng nó chỉ là một snapshot không hoàn hảo.
Hơn nữa, sự cố này có thể là chất xúc tác cho một xu hướng lành mạnh: các công ty crypto, vốn quen với triết lý “don’t trust, verify”, sẽ áp dụng tư duy đó vào hạ tầng cloud. Họ sẽ yêu cầu AWS cung cấp API raw data để tự xây dựng dashboard, và thậm chí đa dạng hóa sang nhiều cloud provider (multi-cloud) để giảm rủi ro tập trung. Như vậy, lỗi này, dù gây phiền toái trước mắt, có thể thúc đẩy sự trưởng thành trong quản lý vận hành của ngành.
Takeaway
Vậy bài học cho tuần này là gì? Đừng nhìn vào Cost Explorer và tin đó là sự thật. Hãy xây dựng hệ thống kiểm tra chi phí riêng, độc lập, tự động phát hiện bất thường. Nếu lỗi ước tính của AWS có thể lên đến nghìn tỷ, thì lỗi thanh toán thực tế dù nhỏ hơn cũng đủ để phá sản một quỹ. Và với những ai đang đặt cược toàn bộ hạ tầng vào AWS, hãy cân nhắc việc giống như một giao thức DeFi phân tán thanh khoản – bạn cũng nên phân tán cloud provider của mình. Ván cược cơ sở hạ tầng đằng sau ứng dụng crypto đang trở nên đắt đỏ hơn bạn nghĩ.
