How the creep happens
Cloud makes it easy to start something and very easy to forget it. A developer spins up a bigger machine to debug a problem. A test environment gets cloned for a demo. Backups pile up because nobody set an expiry. Each item is small; together they can make up a surprising share of the invoice.
The good news is that most of it can be fixed without touching your application code.
The 7 fixes, in the order we do them
- 1Find what’s running for no reason.Unattached disks, old snapshots, idle load balancers, stopped-but-still-billed IPs. Your provider’s cost explorer will list them; deleting them is pure saving.
- 2Right-size your servers.Look at CPU and memory over the last month. If a machine never goes above 20%, drop it a size or two. Do it one at a time and watch for a week.
- 3Switch off non-production at night.Dev and test environments rarely need to run 24×7. A simple schedule that stops them evenings and weekends cuts their cost dramatically.
- 4Commit for steady workloads.For servers and databases you know you’ll run all year, reserved instances or savings plans are significantly cheaper than pay-as-you-go.
- 5Move old data to cheaper storage.Set lifecycle rules so logs, backups and files you rarely open move to archive tiers automatically, and expire after a set period.
- 6Watch data transfer.Moving data between regions or out to the internet is easy to miss. Keep services that talk to each other in the same region and use a CDN for public files.
- 7Tag everything and set budget alerts.Tag each resource with a project and an owner, then set alerts at sensible thresholds. Surprises become emails instead of invoices.
If nobody owns a resource, nobody will ever turn it off.
Make it a monthly habit
A one-off clean-up helps, but the creep comes back. Put a 30-minute review in the calendar once a month: open the cost explorer, sort by biggest increase, and ask “do we still need this?” for the top five lines. That small routine does more than any tool.