Cutting a production AWS bill by 26.6% without touching application code

A UK business running a production environment on AWS (anonymised). This study is anonymised: the work and numbers are real, the client is not named.

The situation

The client’s AWS environment had grown organically over about three years. The bill grew month on month, the team assumed that was the cost of scaling, and nobody had time to review the account holistically.

The constraint

No application code changes and no architecture rewrites were on the table. The engagement had to pay for itself at the infrastructure layer alone, without any performance regression.

What was built

  • A full account audit: every running resource, storage bucket, data-transfer pattern and service in use, mapped before anything was changed
  • Compute rightsizing from real CloudWatch utilisation data. Instances sized for an 18-month-old peak were running at 15 to 20% CPU
  • S3 lifecycle policies moving cold data to cheaper tiers and deleting expired data; orphaned EBS volumes removed and snapshot lifecycle policies added
  • Reserved Instances for the always-on baseline and Savings Plans for the remainder, replacing on-demand rates for 24/7 workloads
  • A tagging strategy so every resource attributes to a team and purpose
  • The infrastructure moved under Terraform so future changes are tracked, reviewed and reproducible

The stack

AWS (EC2, EBS, S3, CloudWatch), Reserved Instances and Savings Plans, Terraform

The outcome

Monthly AWS spend down 26.6%, with no performance impact and no application changes. On a £5,000/month bill that is roughly £1,300 a month, or £15,600 a year. The full method is written up in our insights post, and the same review is productised as the £1,500 cloud cost and reliability audit.

Related

Talk it through first?

A free 30-minute call with no obligation. Or just phone us now and you will get straight through to an engineer.