FinOps and Cost-Aware Engineering
Overview
Cloud makes it easy to spend money. Cost-aware engineering makes cost a first-class non-functional requirement alongside performance and reliability.
When to Use
- Architecture decisions with significant cost implications
- Investigating or reducing cloud spend
- Setting up cost visibility and allocation
Practices
- Tag resources for allocation and ownership
- Make cost data visible to the teams that create the spend
- Prefer architectures that scale to zero or scale efficiently
- Right-size resources and use appropriate storage/compute tiers
- Set budgets and alerts for unexpected spend
- Review the cost of reliability and performance choices explicitly
Principles
- The cheapest architecture that meets requirements is often the best starting point
- Optimization without measurement is guesswork
- Cost efficiency is a continuous practice, not a one-time project
Verification
- Teams can see the cost of what they run
- Major cost drivers are understood and owned
- Cost regressions are noticeable