Start with the boring stuff
Most cloud waste isn’t exotic. It’s unattached volumes, snapshots nobody deleted, and a dev environment the size of production that has been running 24/7 since someone forgot to turn it off in March. None of this makes headlines — all of it shows up on the invoice.
The checklist we run with clients
- Tag everything, then enforce it. If you can’t tell who owns a resource, you can’t have a useful conversation about it.
- Right-size after 30 days of real metrics. Guessing on day one almost always over-provisions.
- Schedule non-production environments off-hours. Dev servers don’t need to work weekends.
- Set billing alerts per team, not one global number. Shared budgets get ignored by everyone.
- Watch data transfer. Cross-AZ chatter between services quietly outgrows the compute bill.
Make it stick
Assign an owner. Put the review on the calendar, monthly. Automate the top three fixes you find. Cost control isn’t a one-off project — it’s a habit, and like most habits it only works if it’s boring and regular.