How We Cut a Client's Cloud Bill by 40% in Two Weeks
A logistics client came to us with a $28k/month AWS bill and a suspicion it should be lower. Two weeks later it was $16.8k. Here's exactly where the money was hiding.
Week 1: The audit
Zombie resources ($4.1k/month). Unattached EBS volumes, idle load balancers from decommissioned services, and three forgotten staging RDS instances running 24/7. This is boring work with a spectacular hourly rate.
Oversized instances ($3.2k/month). CloudWatch showed p99 CPU under 20% on most of the fleet. We right-sized in two steps — never all at once — watching latency dashboards between each.
Week 2: The structural wins
Reserved capacity ($2.4k/month). The baseline load was obvious from six months of usage graphs, yet everything ran on-demand. One-year no-upfront reservations on the steady-state fleet: instant 35% discount, no operational change.
Storage lifecycle ($1.5k/month). Terabytes of logs in S3 Standard that hadn't been read in a year. Lifecycle policies to Infrequent Access and Glacier took an afternoon.
What we didn't do
No Kubernetes migration, no serverless rewrite, no multi-year commitments. Cost optimization that requires a re-architecture usually isn't cost optimization — it's a project with a new set of costs.
Keep it down
Costs creep back. The fix is a monthly 30-minute review with a cost dashboard and budget alerts at 80% — the same discipline as any other operational metric.