Enterprise client · 2025

AWS Cost Optimization

AWSTerraformFinOps

Problem

The monthly AWS bill had reached $37,000. Unplanned scaling, idle resources and on-demand pricing had pushed the budget out of control.

Solution

Full resource inventory; right-sizing, reserved-instance and savings-plan strategy; infrastructure codified with Terraform and cost dashboards put in place.

Results

  • Monthly bill: $37,000 → $17,000 (54% reduction)
  • Entire infrastructure under Terraform (IaC)
  • No performance loss, better observability

The client’s AWS environment had grown by hand over the years: unused instances, oversized databases, forgotten test environments and everything on on-demand pricing. The bill grew every month, and nobody could say with confidence which resource served what.

Measure first, cut second

In the first week we shut nothing down, we measured. Using Cost Explorer, CloudWatch metrics and resource tagging we produced a complete inventory and cost map: what each service burns, its real usage profile, who owns which resource.

Then we intervened on three axes. Right-sizing: instances idling at 5% CPU and oversized RDS classes were brought down to their real profiles. Pricing: steady workloads moved to reserved instances and savings plans; interruption-tolerant jobs went to spot capacity. Hygiene: forgotten volumes, stale snapshots, unused elastic IPs and test environments were cleaned up; storage classes and data-transfer routes were reworked.

Permanence: everything as code

A one-off cleanup lowers the bill, but old habits bring it back. So the final step codified the entire infrastructure in Terraform: every resource is now defined as code, every change goes through code review, and cost anomalies surface immediately on dashboards.

Outcome

The bill dropped 54%, from $37,000 to $17,000 a month. Performance and reliability stayed intact; incident response actually got faster thanks to better observability. We apply the same recipe at any scale with our Terraform/CDK experience.

AWS Cost Optimization

Facing a similar problem?

Get in touch