The Over-Provisioning Problem
In most cloud environments, 40–60% of compute resources are underutilised. The cause is systemic: teams provision for the theoretical peak, lift-and-shift migrations copy on-premises servers without optimisation, and no one ever goes back to reduce what was scaled up.
Rightsizing means aligning instance sizes to observed real consumption. It's often the first high-ROI FinOps action, even before Reserved Instances or Savings Plans.
4-Step Methodology
1. Collect Metrics Over at Least 30 Days
AWS Compute Optimizer and Cost Explorer analyse usage history. For reliable results, collect over 30 days including load peaks. Key metrics: CPU (average and P99 — never rightsize on average alone), memory (requires CloudWatch agent), network for network-intensive instances, IOPS/throughput for storage-optimised instances.
2. Segment by Load Profile
- Constant load: aggressive rightsizing possible, then Reserved Instances
- Variable load: Auto Scaling + smaller instances
- Batch load: Spot Instances + rightsizing
- Critical production: conservative rightsizing (keep 20% headroom)
3. AWS Compute Optimizer Recommendations
aws compute-optimizer get-ec2-instance-recommendations --filters name=Finding,values=Overprovisioned --query "instanceRecommendations[].{Instance:instanceArn,Current:currentInstanceType,Recommended:recommendationOptions[0].instanceType,Saving:recommendationOptions[0].estimatedMonthlySavings.value}" --output table
Concrete Results
| Type | Before | After | Savings |
|---|---|---|---|
| Web servers | 12× m5.xlarge | 12× m5.large + ASG | -52% |
| API servers | 6× c5.2xlarge | 6× c6g.xlarge (Graviton) | -58% |
| Database | db.r5.4xlarge | db.r6g.2xlarge | -61% |
| Batch workers | 4× m5.2xlarge (on-demand) | Spot m5.xlarge (ASG) | -82% |
Graviton Migration: The Savings Multiplier
Graviton (ARM) instances deliver 20–40% better price/performance than Intel or AMD equivalents. Combined with rightsizing, migrating to Graviton3 can result in 50–65% savings on compute costs. Migration is transparent for Linux-compiled applications (Docker, JVM, Python, Node.js).
Conclusion
A well-executed rightsizing exercise on a mature AWS account systematically generates 25–40% savings on compute costs. Combined with Graviton migration and dev instance scheduling, the impact can exceed 50% — the best-ROI FinOps action before even purchasing Reserved Instances.
