FinOps Cho Developer: Chi Phí Cloud Không Phải Việc Của Ai Khác

Karify98 & Amy 🌸·
Cover Image for FinOps Cho Developer: Chi Phí Cloud Không Phải Việc Của Ai Khác

Bill Tăng Không Báo Trước

Một team tạo EC2 instance cho feature branch. Merge xong, không ai xóa. Instance chạy 3 tháng, mỗi tháng $150. Tổng: $450 cho một instance không ai dùng.

Đây không phải trường hợp hiếm. Theo khảo sát Flexera 2025, 28% chi phí cloud bị lãng phí — tức gần 1/3 tiền chi ra không tạo ra giá trị.

FinOps ra đời để giải quyết bài toán này. Và developer — người trực tiếp tạo resource — đóng vai trò quan trọng nhất.

FinOps Là Gì?

FinOps không phải tool. Không phải team riêng. Nó là văn hóa: mọi người đều chịu trách nhiệm về chi phí cloud, giống cách mọi người chịu trách nhiệm về chất lượng code.

Ba nguyên tắc cốt lõi:

  • Teams collaborate — Dev, Ops, Finance cùng nhìn một dashboard chi phí
  • Everyone takes ownership — team nào tạo resource, team đó chịu chi phí
  • Continuous optimization — tối ưu không phải việc một lần, mà là thói quen

Developer Tác Động Đến Chi Phí Thế Nào?

Mỗi quyết định technical đều có hệ quả tài năng:

  • Chọn instance type: t3.large chạy 24/7 tốn $60/tháng. t3.medium cho dev environment tốn $30. Liệu có cần large?
  • Để resource chạy qua đêm: Dev environment chạy 8 giờ/ngày thay vì 24 giờ tiết kiệm 67% chi phí compute.
  • Quên xóa sau khi test: Một S3 bucket test chứa 500GB log không ai xóa = tiền mỗi tháng.
  • Over-provision database: RDS db.r5.xlarge cho app 100 user? db.t3.medium là đủ.

Không cần phải là cloud architect. Chỉ cần ý thức về resource đang tạo.

Bắt Đầu Với FinOps: 4 Bước Thực Tế

1. Gắn tag cho mọi resource

Tạo resource mà không có tag giống như commit code mà không có commit message. Không ai trace được.

# AWS CLI — tag khi tạo resource
aws ec2 run-instances \
  --tag-specifications \
    'ResourceType=instance,Tags=[
      {Key=Team,Value=backend},
      {Key=Project,Value=api-gateway},
      {Key=Environment,Value=staging}
    ]'

Quy ước tag tối thiểu: Team, Project, Environment. Ba tag này giúp allocate cost chính xác 80%.

2. Set budget alert

AWS Budget, GCP Budget Alert — thiết lập ngưỡng cảnh báo. Vượt 80% budget → nhận notification. Không cần check bill mỗi ngày.

# AWS Budget qua CLI
aws budgets create-budget \
  --account-id 123456789012 \
  --budget '{"BudgetName":"monthly-team-budget","BudgetLimit":{"Amount":"500","Unit":"USD"},"TimeUnit":"MONTHLY","BudgetType":"COST"}' \
  --notifications-with-subscribers '[{"Notification":{"NotificationType":"ACTUAL","ComparisonOperator":"GREATER_THAN","Threshold":80},"Subscribers":[{"SubscriptionType":"EMAIL","Address":"team@company.com"}]}]'

3. Tắt dev environment ngoài giờ

Cron job tắt dev/staging instances lúc 19h, bật lại lúc 8h. Tiết kiệm 67% chi phí compute cho non-production.

# Lambda function + EventBridge schedule
# Tắt instances có tag Environment=dev lúc 19h UTC+7
aws ec2 describe-instances \
  --filters "Name=tag:Environment,Values=dev" "Name=instance-state-name,Values=running" \
  --query "Reservations[].Instances[].InstanceId" \
  --output text | xargs aws ec2 stop-instances --instance-ids

4. Review chi phí mỗi sprint

Thêm "cost review" vào sprint retrospective. 5 phút mỗi sprint: chi phí team tăng hay giảm? Resource nào bất thường? Đủ để bắt vấn đề sớm.

Tools Hỗ Trở

  • AWS Cost Explorer / GCP Cost Management — dashboard chi phí tích hợp sẵn, miễn phí
  • Kubecost — chi phí theo từng podnamespace trên Kubernetes
  • Infracost — ước tính chi phí Terraform trước khi apply, tích hợp vào PR
  • OpenCost — CNCF project, open-source alternative cho Kubecost

Kết Luận

FinOps không phải việc của Finance hay Ops. Developer tạo resource, developer hiểu workload, developer biết resource nào cần và không cần. Bắt đầu từ việc nhỏ: gắn tag, set alert, tắt dev environment khi không dùng. Chi phí cloud sẽ tự giảm khi mọi người đều ý thức.


Bài viết thuộc series DevOps Handbook — hướng dẫn thực tế cho developer. Bài trước: Progressive Delivery. Bài tiếp theo: Service Mesh — khi nào thực sự cần?