Cloud bills grow quietly. No single decision was expensive; a hundred small ones were. Here's the audit we run in the first session with a new client. It needs read-only billing access and about ninety minutes.
1. Idle environments (20 minutes)
Group spend by environment tag. Staging, QA and demo environments often run 24/7 at production size. Scheduling non-production to shut down nights and weekends typically cuts those costs by around 65%.
2. Oversized compute (25 minutes)
Pull average and peak CPU and memory for your top 20 instances or node pools. Anything peaking under 40% is a right-sizing candidate. AWS Compute Optimizer and Azure Advisor will do most of the math for you.
3. Forgotten storage (20 minutes)
List snapshots, unattached volumes and old backups by age. It's common to find years of daily snapshots of servers that no longer exist. Set lifecycle policies so this can't recur.
4. Data transfer (25 minutes)
Egress and cross-region or cross-zone traffic is the line item nobody models. Look for chatty services talking across availability zones, and for assets served directly from storage instead of a CDN.
Then make it stick
- Enforce tagging (owner, environment, cost center) at creation time.
- Set budgets and anomaly alerts per account.
- Only commit to Savings Plans or Reserved Instances after right-sizing.
- Review the bill quarterly, with an engineer and someone from finance in the same room.
