When we first engaged this mid-size investment firm, their AWS bill had grown 85% year-over-year despite a flat engineering headcount. They were burning roughly $180,000 a month. The board mandated a 30% reduction within the quarter, without impacting the latency of their trading algorithms.

Phase 1: Visibility & Tagging Enforcement

We couldn't fix what we couldn't measure. We deployed AWS Cost Explorer but immediately hit a wall: only 40% of their resources were tagged. We implemented a strict tagging taxonomy using AWS Organizations and SCPs (Service Control Policies) to enforce CostCenter and Environment tags on all new resources. We then used AWS Config rules to auto-remediate untagged legacy resources where possible.

Phase 2: The EC2 Bloodbath (Rightsizing)

Using AWS Compute Optimizer, we discovered massive over-provisioning. Developers were spinning up m5.4xlarge instances for microservices that peaked at 12% CPU utilization.

  • Graviton Migration: We migrated 148 EC2 instances from x86 to Graviton3 (ARM-based) instances. This alone provided a 20% cost reduction for the exact same performance.
  • Instance Scheduling: We implemented AWS Instance Scheduler to shut down non-production environments (Dev, QA, UAT) outside of business hours (7 PM to 7 AM and weekends). This saved 65% on non-prod compute.

Phase 3: S3 Storage Lifecycle Rules

Their S3 buckets held 4PB of historical trading data. 90% of it was in S3 Standard, costing them over $90k/month. We implemented aggressive Lifecycle Policies:

  • Data older than 30 days moved to S3 Standard-IA.
  • Data older than 90 days moved to S3 Glacier Flexible Retrieval.
  • Data older than 365 days moved to S3 Glacier Deep Archive.

The Results

Within 6 weeks, the monthly run rate dropped from $180k to $107k (a 40.5% reduction). Total annual savings reached nearly $876,000, paying for our engagement within the first 6 weeks.