Case study
AWS Infrastructure Cost Optimization
Automation that finds idle EC2 capacity and routes it to the owning team for action, delivering approximately $500K in annual savings.
- Result
- ~$500K in annual AWS savings
- Role
- Built
- Where
- Capital One · 2025 – Present
- Key stack
- Python · Boto3 · AWS EC2 · CloudWatch metrics
Sanitized case study based on professional experience. Internal names, accounts, hostnames and configurations are intentionally omitted.
01Problem
Idle and underutilized EC2 instances accumulated across AWS accounts. Nobody had a reliable, repeatable way to find them and get the owning team to act.
02Context
In a large multi-account estate, the hard part is usually ownership rather than detection: knowing who can safely decide whether a resource is still needed. The same review process also covered EMR, load balancers, target groups and Route 53 resources.
03Architecture
How it works
- Automation scans EC2 utilization across accounts and flags idle or underutilized instances.
- Ownership is resolved from resource tags, and the owning application team gets a targeted email alert.
- The team confirms usage and dependencies, then deletes or downsizes the instance.
- Savings are measured and the scan repeats, which turns a one-off cleanup into ongoing governance.
04Engineering approach
- Identify underutilized resources from utilization data.
- Identify ownership through resource tags.
- Validate usage with the owning team.
- Confirm application dependencies before any change.
- Decommission or right-size where appropriate.
- Measure savings.
- Establish repeatable governance by running the process on a schedule.
05Security
- The automation reports and notifies, and destructive actions stay with the owning team after validation.
- Tag-based ownership reinforces tagging standards across accounts.
06Automation
- Scheduled detection of idle EC2 instances.
- Tag-based routing of alerts to the right team.
- Repeatable loop instead of periodic manual audits.
07Results
~$500Kannual AWS savings
≈ $42Kper month (derived: annual ÷ 12)
- Approximately $500K in annual AWS savings.
- Owners get actionable, targeted notifications instead of broad cleanup requests.
08Lessons learned
- Detection is easy and ownership is hard, so good tagging is what makes cost automation work.
- Keeping the final decision with the owning team builds trust and avoids outages.
09Skills & technologies
FinOpsPython / Boto3AWS governanceStakeholder coordination
PythonBoto3AWS EC2CloudWatch metricsResource taggingEmail notifications