IAnswerable

Cut Your Cloud Bill by 40 Percent

03 Sep 2026

Most cloud bills are 30-50% fat, and it’s almost always the same five line items. You don’t need a FinOps team to find them — you need an afternoon and your billing console.

1. Oversized compute nobody right-sized after launch

You provisioned for the traffic you hoped for, not the traffic you got, and never revisited it. Pull CPU and memory utilization for your instances over the last 30 days. Anything sitting under 20% average utilization is a downsize candidate.

aws cloudwatch get-metric-statistics \
  --namespace AWS/EC2 --metric-name CPUUtilization \
  --dimensions Name=InstanceId,Value=i-0123456789abcdef0 \
  --start-time 2026-08-16T00:00:00Z --end-time 2026-09-16T00:00:00Z \
  --period 86400 --statistics Average

Downsizing one instance tier typically halves the cost of that box. Do this before you buy any reserved capacity — you don’t want to lock in a size you’re about to shrink.

2. Idle and orphaned resources

Unattached EBS volumes, old snapshots nobody’s touched in a year, load balancers with zero targets, dev/staging instances that never got a shutdown schedule. None of these show up as “waste” on a bill — they just look like normal line items until you go looking.

aws ec2 describe-volumes --filters Name=status,Values=available \
  --query 'Volumes[*].{ID:VolumeId,Size:Size,Created:CreateTime}'

Run this quarterly, not once. Orphaned resources accumulate continuously — every deleted instance leaves its volume behind by default unless you set DeleteOnTermination.

3. Data transfer you didn’t design around

Cross-AZ and cross-region traffic gets billed per GB and adds up fast in chatty microservice setups. Check if your services are calling across availability zones when they don’t need to — colocate services that talk to each other constantly, and cache or batch calls that cross regions instead of making them per-request.

4. Storage tiers nobody downgraded

Data written once and rarely read, sitting in standard storage a year later, is pure margin loss. Set lifecycle rules to move objects to infrequent-access or archive tiers automatically instead of remembering to do it manually — you won’t remember.

{
  "Rules": [{
    "Status": "Enabled",
    "Transitions": [
      {"Days": 30, "StorageClass": "STANDARD_IA"},
      {"Days": 90, "StorageClass": "GLACIER"}
    ]
  }]
}

5. Managed services billed for peak, used at average

Provisioned-throughput databases and search clusters sized for a traffic spike that happens twice a year, running at that size 365 days a year. If your workload is genuinely spiky, autoscaling or serverless variants of the same service usually cost less overall, even though the per-unit price looks higher on paper.

The order that matters

Right-size and kill waste first, commit to reserved capacity second. Buying savings plans against an oversized fleet locks in the waste for 1-3 years — reserved discounts apply a percentage off a number you should shrink first.

The gotcha

The 40% figure isn’t a guarantee, it’s what’s typical when nobody’s looked at the bill since launch. If you already review this monthly, you’re probably closer to 10-15% fat, and that’s fine — it means the easy money’s already gone and further gains cost real engineering time. Check the five items above before you assume you need either.