EKS Cost OptimizationDec 24, 2025
Spot Instances vs. Savings Plans: The EKS Cost Kill-Box Part 1
If you’re running EKS at scale (50+ nodes), you’ve likely debated the "Spot vs. Savings Plan" tradeoff. Most teams default to Savings Plans because they’re "safe." But safety is expensive.
Here’s the architecture for a 30% reduction in your AWS bill without sacrificing 99.9% uptime.
1. The Strategy: The 70/30 Split
Don't put everything on Spot. And don't put everything on Savings Plans.
- 70% Spot Instances: For your stateless workloads, worker nodes, and dev environments. Managed Node Groups make this trivial now.
- 30% Savings Plans: For your stateful services (DBs, Cache) and the absolute "minimum base" of your production traffic.
2. Handling Interruptions with Karpenter
The biggest fear with Spot is the 2-minute interruption notice. Karpenter handles this natively with Spot Termination Handling. When AWS reclaims a Spot instance, Karpenter immediately:
- Identifies the replacement.
- Drains the old node.
- Spins up a new one before the 2 minutes are up.
Quick Win Configuration
Add this to your Terraform/Helm for Karpenter:
spec:
requirements:
- key: "karpenter.sh/capacity-type"
operator: In
values: ["spot"]
- key: "kubernetes.io/arch"
operator: In
values: ["arm64"] # Use Graviton for an extra 20% savings3. The Math
| Feature | Spot Instances | Savings Plans (1yr) |
|---|---|---|
| Average Savings | 60-90% | 20-40% |
| Commitment | None | 1 Year |
| Flexibility | Change instance type anytime | Locked into family |
Verdict: If your EKS bill is >$5k/month and you aren't using Spot for at least 50% of your compute, you are donating money to Jeff Bezos.