By Dima Kramskoy — Senior Cloud Architect at DoiT International
The Question Everyone Gets Wrong
When I was handling cloud optimization tickets, this was the #1 question customers asked me: "Should we use Savings Plans or Reserved Instances?" I'd see it three, four times a week from different customers.
It's the wrong question.
The right question is: What does your workload look like in 12 months?
Here's why this reframe matters: An organization planning a Graviton migration will waste money on Standard RIs that can't follow their workloads to new instance families. A team with a rock-solid RDS cluster that hasn't changed configuration in two years is leaving money on the table with Compute Savings Plans when a Standard RI delivers 6–9 more percentage points of discount.
The SP-vs-RI decision isn't about products. It's about architectural direction. Your commitment strategy should mirror your infrastructure roadmap — not the other way around.
And here's the uncomfortable truth: most customers I work with don't know what their workload looks like in 12 months. They're not sure if they'll migrate to Graviton next quarter, move to containers, or double their compute. That's not a failure of planning — that's reality. If you don't know where your workload is heading, that IS your answer. Uncertainty = flexibility. Choose Compute Savings Plans at minimum — or better yet, let a tool carry the commitment risk for you entirely (more on that at the end).
Let me give you the framework I use with enterprise customers, updated for everything that changed in 2025–2026.
Quick Answer: Decision Flowchart
Before we go deep, here's the fast path:
START: What's your primary compute workload?│├─ EC2 only, single instance family, 12+ months stable│ └─ → EC2 Instance Savings Plan or Standard RI│ ├─ Need capacity reservation? → Zonal Standard RI│ └─ Want simpler management? → EC2 Instance SP│├─ EC2 across multiple instance families│ └─ → Compute Savings Plan│├─ Planning Graviton migration (x86 → arm64)│ └─ → Compute Savings Plan (auto-applies to new family)│├─ Fargate, Lambda, or serverless-first│ └─ → Compute Savings Plan (only type that covers these)│├─ RDS / Aurora / database tier│ └─ Stable config, max discount? → Standard RI (up to 69%)│ └─ Multi-engine, Gen 7+, flexibility? → Database SP (up to 35%)│└─ Actively re-architecting or migrating off AWS └─ → Don't commit. Use On-Demand/Spot until stable.Quick Comparison Table
| Type | Max Discount | Flexibility | Best For |
|---|---|---|---|
| Compute SP | Up to 66% | Any region, family, OS, service | Modernizing orgs, serverless, multi-region |
| EC2 Instance SP | Up to 72% | Any size/OS within fixed family + region | Stable EC2 family, simple management |
| Standard RI | Up to 72–75% | Fixed type + region (size flex with Regional RI) | Ultra-stable workloads, capacity reservation |
| Convertible RI | Up to 54–58% | Exchangeable family/OS (same region) | Legacy flexibility needs — largely superseded by SPs |
| Database SP | Up to 35% | Any eligible DB engine (Gen 7+ only) | Multi-engine DB estates, Aurora Serverless |
What Changed in 2025–2026
Four significant shifts since my last cost optimization review:
1. Database Savings Plans Launched (December 2025)
The biggest announcement from re:Invent 2025 for FinOps. Database Savings Plans cover 10 services — Aurora, RDS, DynamoDB, ElastiCache, DocumentDB, Neptune, Keyspaces, Timestream, DMS, and OpenSearch.
The catch: only 1-year terms (no 3-year), No Upfront only, and they require Gen 7+ instances (db.r7g, db.m7g). Maximum discount is ~35%, well below the 69% achievable with Standard RDS RIs. So these aren't a replacement for DB RIs — they're a flexibility play for organizations with diverse, evolving database estates.
2. RI/SP Sharing Restrictions (June 2025)
AWS prohibited MSPs and resellers from sharing RI/SP discounts across multiple end customers. If you buy through a partner, your commitments are now restricted to your usage only. Direct enterprise buyers: largely unaffected.
3. Group Sharing Feature — GA (November 2025)
This one flew under the radar but solves a real pain point. You can now control exactly which accounts in your Organization benefit from shared commitments using two modes:
- Prioritized Group Sharing: Commitment applies to designated group first, then spills to the broader org
- Restricted Group Sharing: Complete isolation — only the designated group benefits
This kills the "wrong team benefits from our RI" problem that plagued consolidated billing for years. Uses Cost Categories to define groups. If you're running a multi-BU organization with chargeback models, this changes the game.
4. RIs Are NOT Deprecated
Despite recurring speculation, Reserved Instances remain fully supported. AWS pricing pages are actively maintained (last updated May 2026), Cost Explorer still generates RI recommendations, and RI Marketplace remains operational. AWS clearly favors Savings Plans in new feature development and documentation, but RIs aren't going anywhere.
One more thing: Savings Plans with commitments over $100/hour cannot be returned. Under $100/hour, you get a 7-day window within the same calendar month, with a maximum of 10 returns per year. At enterprise scale, these commits are permanent. Plan accordingly.
Deep Dive: Compute SP vs EC2 SP vs Standard RI vs Convertible RI
Here's the full comparison I wish existed when I was making these decisions:
| Dimension | Compute SP | EC2 Instance SP | Standard RI | Convertible RI |
|---|---|---|---|---|
| Max Discount | 66% | 72% | 72–75% | 54–58% |
| Commitment Basis | $/hour (any compute) | $/hour (family + region) | Instance type + region + OS + tenancy | Instance family + region |
| Instance Family | Any — auto-applies | Fixed per plan | Fixed | Exchangeable |
| Instance Size | Any — auto-applies | Any — auto-applies | Flexible (Regional RI) | Flexible |
| OS Flexibility | Any | Any | Fixed | Exchangeable |
| Region | Cross-region ✅ | Fixed region | Fixed region | Fixed region |
| Lambda/Fargate | ✅ | ❌ | ❌ | ❌ |
| Capacity Reservation | ❌ | ❌ | ✅ (Zonal RI) | ❌ |
| Resellable | ❌ | ❌ | ✅ (RI Marketplace*) | ❌ |
| Cancellable | Limited (≤$100/hr, 7 days) | Limited | ❌ | ❌ |
| Management Overhead | Low | Low | High | Medium |
*EDP customers cannot sell on RI Marketplace.
Billing Application Order (This Matters)
AWS applies discounts in this priority:
- Reserved Instances apply first (to matching usage)
- EC2 Instance Savings Plans apply second
- Compute Savings Plans apply last (broadest net)
Within each tier, the highest savings-percentage usage gets covered first. This means you can safely layer all three without conflicts — AWS optimizes application automatically.
Workload Portability: When Flexibility Beats Discount
The discount gap between Compute SP (66%) and EC2 Instance SP (72%) is about 6 percentage points. At typical enterprise conditions (1-year, no-upfront), it narrows to 2–4 points. Let me show you when paying that "flexibility premium" is obviously correct.
Graviton Migration
Moving from x86 (m5, c5, r5) to Graviton (m7g, c7g, r7g):
- Compute SP: Seamless. Discount auto-applies to Graviton instances the moment you launch them.
- EC2 Instance SP: Breaks. m5 ≠ m7g — different instance family.
- Standard RI: Completely unusable for new instances. Stranded commitment.
- Convertible RI: Requires manual exchange, equal-or-greater value, and stays region-locked.
If you're on the Graviton migration path (and you should be — it's 20–40% better price-performance), Compute SPs are structurally superior.
Containerization / Serverless Transition
Moving from EC2 to ECS/Fargate or Lambda:
- Compute SP: Covers Fargate and Lambda automatically. Your discount follows you.
- Everything else: Zero coverage for container or serverless compute.
Cross-Region Expansion
Opening a new region or consolidating from 4 regions to 2:
- Compute SP: Discount applies globally across all regions.
- All others: Region-locked. Consolidation strands your commitments.
The Math
On $5M annual compute spend, a 6-percentage-point gap costs approximately $300K over 3 years. That sounds significant — until you realize one failed Graviton migration (because you can't afford to move off locked-in RIs) costs you the 20–40% performance improvement on your entire fleet. The flexibility premium is insurance, and it's cheap insurance.
The Anti-Patterns (What Happens When You Get It Wrong)
In 10+ years of cloud cost optimization, I've seen these mistakes cost organizations millions. Here are the five most expensive:
Anti-Pattern 1: Committing to Peak Instead of Baseline
The mistake: Buying commitments based on maximum observed usage.
What happens: You commit $50/hour because that's your Monday morning peak. Your sustained baseline is $35/hour. You're running at 70% utilization on your commitment — the other 30% is pure waste.
The cost: On a $50/hour commit, 30% waste = $131K/year burned.
The fix: Commit to 70–80% of your sustained floor (use 60–90 days of data). Cover spikes with Spot and On-Demand.
Anti-Pattern 2: Standard RIs for Workloads About to Migrate
The mistake: Buying 3-year Standard RIs for an m5 fleet with a Graviton migration on the roadmap.
What happens: Six months in, you're ready to move to m7g. Your Standard RIs can't follow. They're not convertible. If you're an EDP customer, you can't sell them on the Marketplace either. You're paying for instances you're no longer running.
The cost: A stranded 3-year RI on r5.4xlarge: ~$278/month commitment producing zero benefit for 30 remaining months = $8,340 wasted per instance. Scale that across a fleet.
The fix: If any architectural change is planned within the commitment window, use Compute SPs.
Anti-Pattern 3: Letting Commitments Expire Silently
The mistake: No expiration monitoring or renewal queuing.
What happens: A batch of RIs expires on a Tuesday. No one notices until the month-end bill arrives. Your effective rate jumps from $278/month to $736/month per r5.4xlarge — a 62%+ overnight cost increase.
The cost: A fleet of 20 instances reverting to On-Demand for even one month: ~$9,160 in unexpected spend.
The fix: AWS Budgets expiration alerts + queued Savings Plan purchases before the expiration date.
Anti-Pattern 4: Ignoring Non-EC2 Compute
The mistake: Only committing against EC2, while 40%+ of compute spend is in Lambda, Fargate, or EKS.
What happens: Significant serverless/container spend remains at full On-Demand rates. Organizations optimizing only EC2 commitments think they're "done" while leaving 20–30% savings on the table for their fastest-growing workloads.
The cost: $200K/year in Lambda + Fargate at On-Demand when a Compute SP would save 20–66% = $40K–$132K/year missed savings.
The fix: Audit ALL eligible services. A single Compute SP covers EC2, Lambda, and Fargate simultaneously.
Anti-Pattern 5: Committing During Active Re-Architecture
The mistake: Buying commitments while right-sizing, re-platforming, or migrating.
What happens: You commit $80/hour today. Over the next 6 months, optimization reduces your baseline to $55/hour. You're locked into $25/hour of waste for the remainder of your term.
The cost: $25/hour × 8,760 hours remaining on a 1-year term = $219K in stranded commitment.
The fix: Stabilize first, then commit. Use staged commitments that match your confidence level — small commits during migration, larger commits once usage patterns solidify.
Decision Framework
This is the table to screenshot:
| If Your Workload Looks Like… | Choose | Because |
|---|---|---|
| Stable EC2 fleet, single family, no changes planned for 12+ months | EC2 Instance SP or Standard RI | Maximum discount (72–75%) with low risk of stranding |
| EC2 fleet planning Graviton migration within 12 months | Compute SP | Auto-applies to new instance family without intervention |
| Multi-region architecture or planned region expansion | Compute SP | Only commitment type that works cross-region |
| Growing Lambda/Fargate spend (>20% of compute) | Compute SP | Only type covering serverless + container compute |
| RDS/Aurora cluster, same config for 18+ months | Standard RI | Deepest DB discount (up to 69%) for proven-stable databases |
| Multiple database engines, Gen 7+ instances, evolving DB estate | Database SP | Flexibility across 10 services, covers Aurora Serverless |
| Need guaranteed capacity for compliance/SLA | Zonal Standard RI | Only commitment type providing capacity reservation |
| Active re-architecture, migration in progress | Don't commit | Wait until usage stabilizes; use On-Demand/Spot |
The Layered Strategy (What I Recommend for Most Organizations)
Don't pick one type. Layer them:
- Layer 1 — Compute SPs (60–80% of baseline): Cover your minimum compute floor with maximum flexibility
- Layer 2 — EC2 Instance SPs: Add on top for families you're confident about (captures extra 6pp discount)
- Layer 3 — Standard RIs: Reserve for ultra-stable data-tier workloads + capacity needs
- Layer 4 — On-Demand/Spot: Keep variable and uncertain workloads uncommitted
Start with 1-year terms to validate patterns. After 12 months of stable usage data, layer in 3-year terms for your proven baseline (15–22 percentage points deeper discount).
How DoiT Automates This
Remember what I said about uncertainty? Most customers don't know what their workload looks like in 12 months. That's exactly the case FlexSave for Compute was built for.
Here's the pitch in one sentence: You get 1-year Savings Plan discount rates with zero commitment from you. DoiT carries the risk.
Here's what it does:
- Monitors your on-demand usage — analyzes what's running, what's stable, what's changing
- Auto-applies optimal discount mechanisms — covers eligible workloads that aren't already covered by your own RIs/SPs
- Adjusts continuously — migrating to Graviton? Scaling down? Moving to Fargate? FlexSave adapts without you touching a spreadsheet
- No commitment from you — DoiT carries the commitment risk. You get the discount. Walk away anytime.
- Covers the full compute stack — EC2, ECS, EKS, Fargate, Lambda, SageMaker (not just EC2)
For databases: AWS's new Database Savings Plans (Dec 2025) are your best bet for RDS and Aurora. FlexSave focuses on compute — where the uncertainty and flexibility needs are highest.
For visibility into what's happening across your commitment portfolio, DoiT Cloud Analytics gives you utilization, coverage, and waste metrics in one place — so you always know whether your strategy is working.
The combination solves both problems: FlexSave handles the "I don't know what's coming next" execution, Cloud Analytics provides the oversight. Uncertainty isn't a problem when your tooling adapts with you.
TL;DR
Compute SPs are the default choice for most organizations — the flexibility premium (2–4pp at typical terms) is almost always worth it for teams with any architectural change on the roadmap.
Standard RIs still win for ultra-stable workloads — database tiers, compliance-driven capacity reservations, and workloads with 18+ months of proven stability.
Database Savings Plans (new in Dec 2025) are a flexibility play, not a discount play — 35% vs. 69% for Standard RIs. Choose them for multi-engine, Gen 7+ estates.
Layer your commitments — Compute SP as your base, EC2 Instance SP for confident families, Standard RIs for stable databases, On-Demand for everything else.
Never commit during active migration — stabilize first, commit second. The cost of stranded commitments always exceeds the cost of waiting.
The right commitment strategy isn't about maximizing discount — it's about matching your commitment to your architectural direction.
Ready to stop managing this manually? Book a demo to see how FlexSave optimizes your AWS commitments automatically.
Dima Kramskoy is a Senior Cloud Architect at DoiT International with 20+ years in software engineering, 10 AWS certifications, and an AWS Community Builder (2026). He specializes in FinOps and cloud cost optimization for enterprise organizations.