Case Study: How One Team Reduced AWS Costs by 47% in 90 Days
This case study walks through a real-world, step-by-step FinOps workflow where an engineering team reduced their AWS bill by 47% within 3 monthsβwithout sacrificing performance, reliability, or velocity.
Background
A mid-sized SaaS platform was running a multi-service architecture on AWS. Their cloud bill had grown from $38,000/month to $57,000/month over six months with no corresponding increase in revenue. Leadership asked the engineering team to identify the cause and implement a sustainable cost strategy.
Initial Pain Points
- Fragmented tagging β Only ~42% of resources were tagged correctly.
- High inter-AZ data transfer β EKS nodes and services split across multiple AZs.
- Oversized EC2 and EKS instances β Most at 15β25% CPU utilization.
- Idle storage β Unused EBS volumes and snapshots consuming costs silently.
- Unmonitored NAT Gateways β Two gateways were consuming >$3,200/month in data processing fees alone.
Phase 1: Establishing Baseline Visibility
The team deployed a cost ETL pipeline using CUR β S3 β Athena β dashboarding. This produced:
- Daily cost deltas
- Service-level breakdowns
- Data transfer mapping
- Top resource contributors
They also created a temporary tagging dictionary to classify untagged resources, generating 93% coverage within a week.
Phase 2: Quick Wins (Days 1β30)
Using CUR insights and utilization data, the team implemented the following low-risk optimizations:
β EBS Cleanup
Deleted 137 unattached EBS volumes and expired snapshots β $4,800/month saved.
β Rightsizing EC2 Instances
Right-sized 31 instances using CPU/memory utilization β $6,400/month saved.
β NAT Optimization
Moved traffic-heavy services to private endpoints β $2,900/month saved.
β EKS Node Group Consolidation
Reduced from 4 node groups to 2 and changed instance families β $3,200/month saved.
Total Phase 1 Savings: $17,300/month
Phase 3: Architectural Improvements (Days 31β90)
Once quick wins were complete, the team focused on strategic, higher-impact changes.
β Reduce Inter-AZ Data Transfer
Moved chat, API, and session services to single-AZ deployments with multi-AZ failover β $6,700/month saved.
β Implemented Architectural Autoscaling
Enabled EC2 and EKS cluster autoscaling, allowing nodes to scale down during off-peak hours β $3,900/month saved.
β Converted to Savings Plans
After rightsizing was done, they committed to a 1-year Compute Savings Plan β $5,600/month saved.
Total Phase 2 Savings: $16,200/month
Final Results After 90 Days
- Total Savings: $33,500/month
- Percent Reduction: 47%
- New Monthly Bill: ~$23,500
- No outages or performance degradation during or after optimization
- Faster deployment cycles due to cleaned-up resource sprawl
Key Takeaways
- Quick wins produce 40β60% of cost reduction in the first 30 days.
- Architectural decisions (like AZ patterns and VPC routing) drive the hidden majority of costs.
- Behavior change + automation matters more than one-time cleanup.
- A proper FinOps pipeline transforms cost from reactive β proactive.
What This Means for Your Organization
A structured FinOps approach allows teams to reveal waste, optimize architecture, and reduce cost significantly without heavy rework. Whether you use manual reviews or fully automated alerts, these principles apply universally to AWS environments of nearly any size.