Alright folks, I've been deep in the cost optimization weeds for our EKS clusters lately, and the classic question keeps coming up: do we go with Savings Plans or Reserved Instances? The answer gets *really* interesting when you're running containers, because your underlying EC2 usage isn't as static as with traditional deployments.
Here’s my take after running the numbers for a few different workload patterns.
Savings Plans are the more flexible winner for most containerized environments, and here’s why. With RIs, you're committing to a specific instance type and region. That’s a problem when your Kubernetes cluster has a mix of instance families (like some `m5.large` for monoliths and `c5.xlarge` for batch jobs) and you use Cluster Autoscaler. Your workloads can shift, and you can get stuck with unused RI coverage.
Savings Plans, especially the EC2 Instance Family option, give you that crucial flexibility. You commit to a certain amount of compute spend per hour ($10/hour, for example), and that discount automatically applies to *any* instance in the Fargate, Lambda, or selected EC2 family, regardless of size or AZ. This is huge for dynamic container workloads.
But RIs aren't useless! They can still make sense for:
* Stable, baseline components: Your always-on NAT gateways or dedicated database hosts outside Kubernetes.
* When you get massive discounts: Sometimes the All Upfront 3-year RI discount in a non-shared capacity pool can beat a Savings Plan rate, if you are absolutely certain of your long-term needs.
My rough playbook for our team has been:
1. Use Savings Plans (Compute) to cover 70-80% of our baseline, predictable containerized compute.
2. Use On-Demand for the truly spiky, unpredictable portion that autoscales.
3. Consider a small set of Convertible RIs only for that rock-solid, never-changes core service—and even then, we're debating moving it to Graviton for better savings.
Has anyone else run a before/after comparison? I'm particularly curious if teams using node diversity (spot, on-demand, different families) have found a sweet spot blending SPs with Spot Instances.
Ship fast, measure faster.