Werner Vogels' 7 laws for treating cost as a non-functional requirement — from day 1, not as an afterthought.
Werner Vogels' 7 laws for treating cost as a non-functional requirement — from day 1, not as an afterthought.
Lesson outline
In 2023, Amazon CTO Werner Vogels published "The Frugal Architect" — a set of seven laws for building cost-aware systems. He was not talking about startups pinching pennies. He was talking about systems at scale where architecture decisions directly translate to multi-million dollar line items.
The framing was simple: cost is not an operations problem or a finance problem. It is an engineering problem. And the best time to fix a cost problem is before you have one.
Why Vogels wrote this
He had watched teams build systems with no cost awareness, ship them to production, and then be shocked when the AWS bill arrived. By then, the architecture was locked in. Rewrites are expensive. The solution: make cost a first-class non-functional requirement alongside reliability and performance.
Laws I–IV: Design, measure, and simplify
Laws V–VII: Rightsize, optimize at every layer, and never sacrifice sustainability
Most cloud cost problems are not random. They fall into predictable patterns:
Common cost anti-patterns
The developer who burned $72,000 in one weekend
A common story: developer tests a data processing job locally, it works fine. Deploys it to AWS, forgets a loop condition. The job runs 10,000 times over the weekend processing 500GB of S3 data. Monday morning: $72,000 AWS bill. Fix: budget alerts set to fire at $100, $500, $1000 thresholds. Law V in practice.
According to the Frugal Architect, when should cost be considered in the architecture process?
Here is how to apply frugal architect principles in a real architecture review:
Cost questions to ask in every architecture review
01
What is the estimated cost per month at current load? At 10× load? Does cost scale linearly with traffic, or does it spike?
02
What are the top 3 cost drivers in this design? Are they proportional to the business value delivered?
03
What is the cost/unit? (cost per API call, cost per user, cost per GB processed)
04
What happens to cost if there is a bug that creates unexpected load? Are there budget alerts and automatic circuit breakers?
05
Are non-production environments automatically shut down? What is the cost delta between prod and non-prod environments?
06
Is there a caching layer to reduce upstream costs? Are data transfer costs accounted for (cross-AZ, egress)?
07
Is there an observability plan for cost — tagged resources, per-service dashboards, anomaly alerts?
What is the estimated cost per month at current load? At 10× load? Does cost scale linearly with traffic, or does it spike?
What are the top 3 cost drivers in this design? Are they proportional to the business value delivered?
What is the cost/unit? (cost per API call, cost per user, cost per GB processed)
What happens to cost if there is a bug that creates unexpected load? Are there budget alerts and automatic circuit breakers?
Are non-production environments automatically shut down? What is the cost delta between prod and non-prod environments?
Is there a caching layer to reduce upstream costs? Are data transfer costs accounted for (cross-AZ, egress)?
Is there an observability plan for cost — tagged resources, per-service dashboards, anomaly alerts?
Cloud architecture and senior engineering interviews — especially at companies with significant AWS/GCP/Azure spend. Demonstrates maturity in thinking about system design trade-offs.
Common questions:
Key takeaways
What does "cost/unit" mean and why is it the key metric?
Cost per transaction, per user, per API call, or per GB processed. It tells you whether costs are scaling proportionally with the business value being delivered, or growing faster (which breaks the business model at scale).
What is Law II of the Frugal Architect?
"Systems that last align cost to business revenue" — costs should scale proportionally with revenue, not faster. Design cost/unit into the architecture from day one.
Ready to see how this works in the cloud?
Switch to Career Paths for structured paths (e.g. Developer, DevOps) and provider-specific lessons.
View role-based pathsSign in to track your progress and mark lessons complete.
Questions? Discuss in the community or start a thread below.
Join DiscordSign in to start or join a thread.