Cloud bills rarely jump because of one big decision. They creep up through dozens of small ones: a test environment nobody switched off, an oversized database, logs kept forever. These twelve checks work on AWS, Azure and Google Cloud alike, and most take less than an hour.
Compute
- Find idle resources. Look for instances, containers and load balancers with near-zero traffic over the last 30 days.
- Right-size. If average CPU and memory sit below 30 per cent, a smaller instance type will usually do.
- Schedule non-production. Development and staging environments rarely need to run nights and weekends. Scheduling them can cut their cost by more than half.
- Commit to steady usage. For workloads that run all the time, reserved capacity or savings plans cost significantly less than on-demand pricing.
- Use spot or pre-emptible capacity for batch jobs, CI runners and other work that can tolerate interruption.
Storage and data
- Tier your storage. Move objects that are rarely read to cheaper storage classes with lifecycle rules.
- Delete orphaned volumes and snapshots left behind by deleted servers.
- Set log retention. Keep detailed logs for weeks, not years, and archive what you must keep for compliance.
- Watch data transfer. Traffic between regions and out to the internet is easy to overlook. A content delivery network and keeping chatty services in the same region both help.
Governance
- Tag everything by product, environment and owner, so every cost has a name next to it.
- Set budgets and alerts per team, with notifications at 50, 80 and 100 per cent.
- Review monthly. Put a 30-minute cost review in the calendar and look at the biggest changes first.
The cheapest resource is the one you turn off. Start with idle and non-production resources before you renegotiate anything.
Make cost part of engineering
Show teams the cost of the services they own, include cost in architecture reviews, and celebrate savings like any other improvement. When engineers can see the bill, they design for it.