Intro
Still launching new AWS EC2 instances with sizes based on a guess, while never reviewing your older instances either? That’s a recipe for cloud overspend. In this Level Up Cloud Cost Management Practice post, we show you how to use Amazon CloudWatch, AWS Compute Optimizer, and real workload telemetry to rightsize your EC2 fleet, and start saving 30% or more on those workloads, fast.
While AWS used to say that rightsizing EC2 instances alone could deliver up to 70% of total cloud savings, that number’s been dropping across AWS customers in aggregate. Why? Because the low-hanging fruit has been picked. Usually, organizations that have been in the cloud for a few years will have already tackled the most egregious cases of over-provisioning. So these days, rightsizing might now only unlock 30-40% of your total potential EC2 savings. But that still makes it the most accessible, least disruptive, and fastest ROI optimization tactic for cloud compute.
That said, rightsizing is just one tactic in an overall EC2 cost optimization strategy. To reach best-in-class efficiency, you’ll want to pair rightsizing with a smart mix of Savings Plans, Reserved Instances, On-demand scheduling, and Spot Instances.
Combined though, these techniques will create a layered cost control model, with rightsizing as the foundation. Because no matter how aggressively you negotiate a discount, you’re still going to be overpaying if the instance was oversized in the first place.
Why Over-Provisioning Still Happens
Over-provisioning is the default in many orgs for three simple reasons:
- Fear of downtime: Nobody wants to get paged at 3am because a service ran out of CPU cycles.
- Lack of visibility: Cloud ops teams often don’t even have access to long-term utilization data… let alone the green light to act on insights.
- Release speed beats running cost: When product velocity matters more than infra cost, seldom is anybody reaching for the cloud cost optimization manual.
But with improved observability tooling and AI-driven recommendations, there’s no need to fly blind anymore.
What Rightsizing Really Means Now
Rightsizing isn’t just about finding a cheaper instance type. It’s about precision matching your compute to actual peak workload demands, from to CPU, memory, disk I/O, and network throughput. It means:
- Dropping from
m6i.4xlarge
tom6i.2xlarge
because 85% of the time you’re only using 25% CPU. - Swapping general-purpose instances for compute-optimized ones when load patterns are bursty but predictable.
- Moving from single large instances to multiple smaller ones in an Auto Scaling Group to improve bin-packing.
Ultimately, rightsizing today is as much behavioral as it is technical.
A Basic AWS EC2 Rightsizing Toolkit
✅ Amazon CloudWatch Metrics
Start here. Gather metrics for at least 14 days to capture meaningful usage patterns. Focus on things like:
CPUUtilization
MemoryUtilization
(requires CloudWatch Agent – and Level Up is great at automating installs with Ansible!)- Disk and network I/O
✅ AWS Compute Optimizer
The AWS Compute Optimizer service uses machine learning to suggest instance type changes based on historic usage. It can tell you if you’re under, over, or optimally provisioned.
Be on the lookout for:
- Burstable instances: Compute Optimizer understands CPU usage patterns.
- Graviton recommendations: You’ll increasingly see a push toward Arm-based instances for better price/performance.
✅ Third-Party Observability
Tools like Datadog and Prometheus + Grafana can give you longer history, richer correlation, and even better alerting than AWS native services. Definitely consider these if you’re already multicloud or want more custom signal extraction.
Pro Tip: Rightsize by Lifecycle Stage
- Dev/Test: Use the smallest instances that won’t block builds or CI/CD pipelines. Spot instances are often fine while yielding BIG savings.
- Staging: Match production “shape” but scale down. Think
m5.large
instead ofm5.8xlarge
. - Production: Here, you should be surgical. You’re looking for steady-state services with predictable demand. Stateful workloads are especially prone to bloat.
When Not to Rightsize?
- Those spiky workloads that need the extra temporary headroom (e.g., high-traffic APIs during promotions).
- Certain latency-sensitive services where jitter could hurt UX.
- Any legacy applications where the risk of revenue impact is higher than the cost of overspending.
Rightsizing isn’t one-size-fits-all. But most EC2 workloads are absolutely predictable enough to optimize.
These days, rightsizing won’t solve every cloud bill problem, but it’s still the fastest, cleanest fix in your toolbox. So stop paying for capacity you’ll never use. Start using the EC2 you actually need.
Show us your latest public cloud bill. We’ll show you 5 things you probably didn’t know about it: cloudcostmgmt@levelupla.io.
Level Up’s Cloud Cost Management Practice turns cloud spend into clarity, and clarity into confidence.