Cost per Request: Cách Đọc Cloud Cost Cho Developer

AWS Bill $4,000 — Nhưng Mỗi Request Tốn Bao Nhiêu?
Team nhận AWS bill $4,000/tháng. Manager hỏi: "Tại sao tăng 40%?" Developer check CPU, memory — đều bình thường. Chả ai biết tại sao.
Vấn đề: biết mỗi request tốn bao nhiêu mới là cơ sở để tối ưu. Không có con số đó, mọi lần tối ưu đều là đoán mò.
Cost per Request Là Gì?
Đơn giản: tổng chi phí infrastructure chia cho số request thực tế.
Cost per Request = Tổng chi phí / Số request xử lý được
Ví dụ: $4,000 / 10,000,000 requests = $0.0004/request.
Con số này là cơ sở để so sánh, đánh giá và ra quyết định.
Tại Sao Developer Cần Quan Tâm?
1. Biết "đắt" ở đâu
AWS bill gồm chục dịch vụ. Nhưng service nào "ngốn" tiền nhất?
Ví dụ thực tế:
- EC2 (app servers): $1,800 — 45% total cost
- RDS (database): $1,200 — 30%
- CloudFront (CDN): $400 — 10%
- S3 (storage): $200 — 5%
- Khác: $600 — 15%
EC2 là "hung thủ". Nhưng tại sao? Autoscale spin quá nhiều instance? Instance type quá lớn cho workload?
2. Phát hiện anomly
Tháng trước cost per request: $0.0003. Tháng này: $0.0005. Tăng 66%. Không có tăng traffic → có vấn đề.
Có thể: memory leak, query chưa tối ưu, CDN cache hit ratio giảm, deployment mới thêm logging quá mức.
3. So sánh giải pháp
Đang dùng EC2, muốn chuyển ECS Fargate. Chi phí thay đổi thế nào?
- EC2: $1,800/tháng cho 10M requests
- ECS Fargate: $1,200/tháng cho 10M requests
- Tiết kiệm: $600/tháng
Cần tính thêm chi phí migration. Nếu tiết kiệm $600/tháng nhưng mất 2 tuần dev time → chưa chắc đã lời.
Cách Tính — 4 Bước
Bước 1: Tổng hợp chi phí
aws ce get-cost-and-usage \
--time-period Start=2026-05-01,End=2026-05-23 \
--granularity MONTHLY \
--metrics "BlendedCost" \
--group-by Type=DIMENSION,Key=SERVICE
Bước 2: Đếm requests
Nguồn đếm: access log, CloudWatch ALB RequestCount, hoặc Prometheus. Đếm cả request nội bộ giữa các service.
Bước 3: Chia cho nhau
$4,000 / 10,000,000 = $0.0004/request.
Bước 4: Đặt baseline
Theo dõi hàng tháng. Khi cost per request deviation > 20% → investig ngay.
Phân Tích Theo Layer
Không chỉ có một con số chung. Cần breakdown:
- Compute: $1,800 / 10M = $0.00018/request — request xử lý nhanh (< 100ms) thì hợp lý
- Database: $1,200 / 10M = $0.00012/request — cao thì query chưa tối ưu
- Storage: $200 / 10M = $0.00002/request — log quá nhiều hoặc chưa lifecycle data cũ
- Network: $400 / 10M = $0.00004/request — CDN cache hit ratio thấp
Tips Tối Ưu
1. Đặt cost per request alert — AWS Budgets cho phép alert khi vượt ngưỡng baseline.
2. Tag resources — Gắn tag team, service, environment. Cost Explorer group by tag → biết team/service nào tốn nhiều nhất.
3. So sánh theo thời gian — Dashboard hàng tuần. Phát hiện trend sớm, investig trước khi bill bất ngờ tăng.
4. Reserved Instances cho baseline — Nếu compute cost cố định, Reserved Instances tiết kiệm 30-60%.
5. Review hàng tháng — 30 phút mỗi tháng để hiểu chi phí. Hiểu giúp ra quyết định đúng.
Kết Luận
Cost per Request không phải metric hoàn hảo. Không tính business value, không tính user experience. Nhưng nó là nền tảng để mọi tối ưu chi phí cloud có cơ sở.
Đừng tối ưu mù quáng. Tính cost per Request trước. Biết "đắt" ở đâu. Rồi ra quyết định.
Bài viết được hỗ trợ bởi AI (Amy 🌸). Nội dung đã được kiểm duyệt bởi tác giả.