Client: Series B B2B SaaS company · 240 enterprise customers · ~$22M ARR
Engagement: 90-day FinOps optimization · January–April 2026
The Challenge
Their AWS bill had grown from $48K/month to $92K/month over 18 months — a 92% increase against only 35% revenue growth. The CFO had given the CTO a hard mandate: reduce cloud spend by 30% within one quarter, without compromising customer-facing performance or slowing engineering velocity.
Approach (Week-by-Week)
Weeks 1–2 · Cost audit & baseline
Pulled 90 days of CloudWatch + Cost Explorer data. Identified $35K/month in waste across overprovisioned EC2, idle resources, and unoptimized data transfer.
Weeks 3–4 · Rightsizing + Graviton migration
Rightsized 140 EC2 instances. Migrated 60% of workloads to Graviton (ARM) m6g instances. Compatibility test suite caught 3 native-extension dependencies; switched to ARM-native equivalents.
Weeks 5–7 · Commitments + idle cleanup
1-year Compute Savings Plan covering 70% of baseline. RDS Reserved Instances. Lambda-based idle resource sweeper deployed (47 unattached EBS volumes recovered, $1,840/mo).
Weeks 8–10 · Per-customer cost dashboard
Mandatory tagging policy via Terraform. Grafana dashboard showing cost-per-customer in real time. Three unprofitable customers identified and renegotiated.
Sample: Idle EBS Volume Sweeper (Lambda)
import boto3
from datetime import datetime, timedelta, timezone
ec2 = boto3.client('ec2')
sns = boto3.client('sns')
def lambda_handler(event, context):
"""Find unattached EBS volumes > 30 days old."""
cutoff = datetime.now(timezone.utc) - timedelta(days=30)
response = ec2.describe_volumes(Filters=[
{'Name': 'status', 'Values': ['available']}
])
waste = []
for vol in response['Volumes']:
if vol['CreateTime'] < cutoff:
monthly_cost = vol['Size'] * 0.10 # gp3 list price
waste.append({
'id': vol['VolumeId'],
'size_gb': vol['Size'],
'monthly_cost_usd': monthly_cost,
'age_days': (datetime.now(timezone.utc) - vol['CreateTime']).days,
})
if waste:
total = sum(v['monthly_cost_usd'] for v in waste)
sns.publish(
TopicArn=os.environ['ALERT_TOPIC'],
Subject=f'Idle EBS waste: ${total:.0f}/mo across {len(waste)} volumes',
Message=json.dumps(waste, indent=2),
)
return {'waste_count': len(waste), 'monthly_savings': total}
Results
| Metric | Before | After |
|---|---|---|
| Monthly AWS spend | $92,000 | $57,000 |
| Annualized savings | — | $420,000 |
| Uptime (90-day window) | 99.92% | 99.97% |
| Per-customer P&L visibility | None | Real-time dashboard |
“Ohveda’s FinOps framework gave us cost visibility we never had. The per-customer dashboard alone has changed how we price enterprise contracts.” — Arjun Mehta, CTO