Cloud bills grow quietly. A test server left running, a database sized for a launch that never came, logs kept forever. Each is small; together they are often 25–35% of the bill.
Step 1: make costs visible
Tag every resource with owner, project and environment. Turn on the provider's cost explorer and set budget alerts. When each team sees its own number, waste starts shrinking before anyone writes a policy.
Step 2: remove waste
- Shut down or schedule non-production servers outside working hours; that alone can cut their cost by about two thirds.
- Delete unattached disks, old snapshots and unused IP addresses.
- Set lifecycle rules to move old files and backups to cheaper storage tiers.
- Reduce log retention to what you actually need for operations and compliance.
Step 3: rightsize
Look at actual CPU and memory use over a month. Servers that never pass 20% utilisation can usually move down one or two sizes. Newer instance families, including ARM-based ones, often give the same performance for less.
Step 4: commit, then architect
Once usage is right-sized and stable, savings plans or reserved instances give large discounts for a one- or three-year commitment. For variable workloads, consider containers with autoscaling, serverless functions or spot capacity.
| Action | Typical saving | Effort |
|---|---|---|
| Schedule non-production | Up to 65% on those servers | Low |
| Delete orphaned resources | 5–10% of total bill | Low |
| Rightsize compute and databases | 10–25% | Medium |
| Savings plans / reservations | Up to ~40% on committed usage | Low, after rightsizing |
| Re-architect hot spots | Varies widely | High |
The hidden costs people miss
- Data transfer: traffic leaving the cloud, and between regions or zones, is billed and adds up quickly.
- NAT gateways and load balancers that sit idle in test environments.
- Managed database storage that auto-grows but never shrinks.
- Premium support plans chosen at launch and never revisited.
- AI and API usage with no per-team budget or alert.
A monthly 30-minute cost review
- Compare this month to last month by service and by team tag.
- Investigate any line that grew more than 15% without a known reason.
- Check the rightsizing and idle-resource recommendations from the provider.
- Review commitment coverage: is steady usage covered by savings plans?
- Record actions and owners, and check them next month.
FinOps is a habit, not a project. A 30-minute monthly cost review prevents most of the surprises.



