Skip to main content
All articles

AWS Reserved Instances vs Savings Plans: The Complete Decision Framework

A deep-dive comparison of RI types, Savings Plans, and commitment strategies with real cost examples and a practical decision matrix.

CloudToolStack TeamApril 6, 202614 min read

Why This Decision Matters More Than You Think

AWS compute commitments are one of the highest-leverage cost decisions a cloud team makes. The difference between on-demand pricing and a well-structured commitment strategy is typically 35 to 60 percent of your compute bill. For a team spending $50,000 per month on EC2 alone, that is $210,000 to $360,000 in annual savings. Yet most teams either avoid commitments entirely out of fear of lock-in, or they buy the wrong type and waste money on unused reservations. Both mistakes are expensive.

This article breaks down every commitment option AWS offers as of 2026, explains exactly when to use each one, and provides a decision framework based on real-world purchasing patterns I have seen across dozens of production environments.

Reserved Instances: The Original Commitment Model

Reserved Instances (RIs) launched in 2009 and were the only commitment option for over a decade. They remain available and are still the right choice in specific scenarios. An RI is a billing discount applied to a specific instance type in a specific region. You commit to one or three years, and in return you get a lower effective hourly rate. There are three flavors, and the differences between them matter enormously.

Standard Reserved Instances

Standard RIs offer the deepest discounts -- up to 72 percent off on-demand for a 3-year All Upfront commitment. The tradeoff is rigidity. A Standard RI is locked to a specific instance family, size, operating system, tenancy, and region. If you buy a 3-year Standard RI for an m6i.xlarge in us-east-1, that is exactly what you get. You cannot change the instance family, and you cannot move it to another region.

Standard RIs do have some flexibility within the same instance family. AWS automatically applies size-flexible matching within a family, so an m6i.xlarge RI covers two m6i.large instances or half of an m6i.2xlarge. This is useful but limited. You can also sell unused Standard RIs on the Reserved Instance Marketplace, though the secondary market is illiquid and you will typically take a 10 to 20 percent haircut.

Convertible Reserved Instances

Convertible RIs sacrifice some discount depth for the ability to change instance families, operating systems, and tenancy during the term. The maximum discount is about 66 percent instead of 72 percent. The conversion process lets you exchange your RI for a different configuration, as long as the new RI has equal or greater value. This means you can move from m6i instances to m7g (Graviton) instances mid-term, which is critical if you are planning architecture migrations.

The catch is that conversions must be value-neutral or value-positive. You cannot convert a $10,000 RI into a $7,000 RI and pocket the difference. You would need to convert it into a $10,000 or higher RI. This creates an incentive to over-commit slightly, which is the opposite of what most teams should do.

Scheduled Reserved Instances

Scheduled RIs were designed for workloads that run on a predictable schedule -- for example, batch processing that runs every weekday from 6 PM to midnight. They were never widely adopted, the discount was modest compared to Standard RIs, and AWS effectively deprecated them. New purchases are no longer available in most regions. If you see them mentioned in older documentation, ignore them. Savings Plans have completely replaced this use case.

Standard RIs: The Trap

The most common RI mistake is buying 3-year Standard RIs for instance families you plan to migrate away from. If your roadmap includes moving to Graviton or a newer generation, a Standard RI locks you into the old family. I have seen teams sit on $200,000 in unused m5 RIs because they migrated to m7g mid-term and could not convert. Use Convertible RIs or Savings Plans if any instance family migration is on the horizon.

Savings Plans: The Modern Approach

AWS launched Savings Plans in late 2019 as a simpler, more flexible alternative to RIs. Instead of committing to a specific instance type, you commit to a dollar-per-hour spend on compute. AWS then automatically applies the discounted rate to your qualifying usage. There are three types, each with different flexibility and discount levels.

Compute Savings Plans

Compute Savings Plans are the most flexible option. Your hourly commitment applies to any EC2 instance family, any instance size, any operating system, any tenancy, any region, and also to AWS Fargate and AWS Lambda usage. The discount is typically 30 to 50 percent off on-demand, depending on term length and payment option. A 1-year No Upfront Compute Savings Plan might save 30 percent, while a 3-year All Upfront plan saves closer to 50 percent.

The flexibility is the key selling point. If you migrate from m6i to m7g instances, the savings plan still applies. If you move workloads from us-east-1 to eu-west-1, still applies. If you shift from EC2 to Fargate containers, still applies. For teams whose infrastructure evolves rapidly, Compute Savings Plans are almost always the right default choice.

EC2 Instance Savings Plans

EC2 Instance Savings Plans are locked to a specific instance family in a specific region but are flexible on size, operating system, and tenancy within that family. The discount is deeper than Compute Savings Plans -- typically 40 to 60 percent off on-demand. For example, you might commit to $5 per hour of m7g usage in us-east-1. That commitment covers any m7g size (large, xlarge, 2xlarge, etc.) running Linux or Windows.

EC2 Instance Savings Plans make sense when you have a stable instance family in a stable region. If you know you will be running m7g in us-east-1 for the next three years, the extra 5 to 15 percent discount over a Compute Savings Plan adds up. But if there is any chance you will change families or regions, the flexibility of a Compute Savings Plan is worth the smaller discount.

SageMaker Savings Plans

SageMaker Savings Plans apply specifically to SageMaker ML instance usage, including training, inference, batch transform, and notebook instances. They offer up to 64 percent off on-demand SageMaker pricing. If you run ML workloads on SageMaker with consistent baseline usage, these are worth evaluating. They work independently of Compute and EC2 Instance Savings Plans, so you can layer them on top of your other commitments.

Find the right EC2 instance type for your workload

The Decision Framework

Here is the framework I use when advising teams on commitment strategy. It comes down to four questions.

Question 1: How stable is your infrastructure?

If your team frequently changes instance families, migrates between regions, or shifts between EC2 and container-based architectures, choose Compute Savings Plans. The flexibility premium is worth it. If your infrastructure is highly stable -- same instance family, same region, minimal changes for years -- EC2 Instance Savings Plans or Convertible RIs offer deeper discounts.

Question 2: How much of your spend is predictable baseline?

Never commit 100 percent of your compute spend. Look at your usage over the past 6 to 12 months and identify the minimum baseline -- the compute you run every single day, 24/7. Commit to 60 to 70 percent of that baseline. This gives you significant savings with minimal risk of waste. If your baseline is $10 per hour and your peak is $25 per hour, commit to $6 to $7 per hour. The remaining on-demand usage provides the flexibility buffer.

Question 3: What is your cash flow situation?

The three payment options -- All Upfront, Partial Upfront, and No Upfront -- represent a tradeoff between cash outlay and discount depth. All Upfront saves the most (up to 72 percent with 3-year Standard RIs) but requires a large cash payment. No Upfront has no cash outlay but the discount is shallower (typically 30 to 36 percent for a 1-year term). For most organizations, Partial Upfront on a 1-year term is the sweet spot -- you get a meaningful discount without tying up too much capital or committing too far into the future.

Question 4: Are you migrating to Graviton or a new generation?

If you are planning to migrate to ARM-based Graviton instances (which you should be -- the price-performance improvement is 20 to 40 percent), do not buy Standard RIs for x86 instance families. Either use Compute Savings Plans, which automatically apply to Graviton instances, or use Convertible RIs that you can exchange for Graviton RIs after the migration. I have seen teams lose six figures by buying 3-year Standard RIs for m5 instances right before a Graviton migration.

The Layering Strategy

The most cost-effective approach layers multiple commitment types. Start with a Compute Savings Plan covering 50 to 60 percent of your baseline. Then add EC2 Instance Savings Plans for specific families where you have high confidence in long-term stability. This gives you broad flexibility with targeted deep discounts where they matter most.

Real-World Cost Examples

Let me walk through a concrete scenario. A mid-size SaaS company runs 40 m7g.xlarge instances in us-east-1 continuously (web tier), 10 r7g.2xlarge instances (database caching tier), and bursts to an additional 20 m7g.xlarge instances during business hours. Monthly on-demand cost breakdown:

  • 40 x m7g.xlarge at $0.1632/hr = $4,768/month (24/7 baseline)
  • 10 x r7g.2xlarge at $0.4032/hr = $2,943/month (24/7 baseline)
  • 20 x m7g.xlarge at $0.1632/hr for 12 hrs/day = $1,183/month (burst)
  • Total on-demand: $8,894/month or $106,728/year

With a 1-year Compute Savings Plan (Partial Upfront) at 37 percent savings, covering the baseline ($7,711/month or $10.55/hr):

  • Baseline covered by Savings Plan: $7,711 x 0.63 = $4,858/month
  • Burst on-demand: $1,183/month
  • Total: $6,041/month or $72,492/year
  • Annual savings: $34,236 (32 percent reduction)

With a 3-year EC2 Instance Savings Plan (All Upfront) for the m7g family at 56 percent savings, plus a separate 1-year Compute Savings Plan for the r7g tier:

  • m7g baseline: $4,768 x 0.44 = $2,098/month
  • r7g baseline: $2,943 x 0.63 = $1,854/month
  • m7g burst on-demand: $1,183/month
  • Total: $5,135/month or $61,620/year
  • Annual savings: $45,108 (42 percent reduction)

The 3-year commitment saves an additional $10,872 per year over the 1-year plan, but it requires high confidence that you will stay on m7g in us-east-1 for three years. For many teams, the 1-year plan with annual renewals is the safer bet.

Common Mistakes to Avoid

Mistake 1: Buying commitments without usage data

Never purchase commitments based on projected usage. Use AWS Cost Explorer's Savings Plans recommendations, which analyze your actual historical usage over the past 7, 30, or 60 days. The recommendations show you exactly how much to commit and the expected savings. If you are new to AWS and do not have 30 days of stable usage data yet, wait. Running on-demand for a month is cheaper than buying the wrong commitment for a year.

Mistake 2: Forgetting about commitments at renewal

Set calendar reminders 60 days before any RI or Savings Plan expires. When commitments expire, your costs jump back to on-demand rates immediately. I have seen teams get surprised by a 40 percent cost increase because a large batch of RIs expired on the same date and nobody renewed them. Enable the RI and Savings Plan expiration alerts in AWS Budgets to automate this.

Mistake 3: Over-committing on 3-year terms

Three-year commitments offer deeper discounts, but cloud infrastructure changes faster than most teams expect. New instance families, architecture migrations, acquisitions, and business pivots all happen within three years. Unless you have extreme confidence in your infrastructure stability, start with 1-year terms. The discount difference between 1-year and 3-year is typically 10 to 15 percentage points. That extra savings is not worth the risk if you end up with unused capacity.

Mistake 4: Not accounting for Fargate and Lambda

Compute Savings Plans apply to Fargate and Lambda in addition to EC2. If you are moving workloads from EC2 to containers or serverless, a Compute Savings Plan ensures your commitment still provides value. Teams that buy EC2 Instance Savings Plans and then migrate to Fargate lose their discount entirely. Factor your serverless roadmap into the commitment decision.

Estimate AWS Lambda costs with our calculator

The Purchasing Playbook

Here is the step-by-step process I recommend for teams purchasing commitments for the first time.

  1. Run your production workloads for at least 30 days on-demand to establish a usage baseline.
  2. Use AWS Cost Explorer Savings Plans recommendations with a 30-day lookback. Review the recommended hourly commitment amount.
  3. Start conservative: buy a 1-year Compute Savings Plan (No Upfront or Partial Upfront) covering 50 to 60 percent of the recommended amount.
  4. After 30 days, review your utilization in the Savings Plans utilization report. If utilization is consistently above 95 percent, you can buy additional coverage.
  5. For stable, long-running instance families, consider layering EC2 Instance Savings Plans on top for the extra 5 to 15 percent discount.
  6. Reassess quarterly. Usage patterns change, and your commitment strategy should evolve with them.

Quick Reference

Maximum flexibility: Compute Savings Plans. Maximum savings for stable workloads: 3-year Standard RIs (All Upfront). Best balance for most teams: 1-year Compute Savings Plans (Partial Upfront) covering 60 percent of baseline, reviewed quarterly. Avoid: Scheduled RIs (deprecated), Standard RIs when migration is planned, 3-year terms without high confidence.

Looking Ahead

AWS continues to simplify the commitment model. Savings Plans have largely replaced Reserved Instances for new purchases, and I expect AWS to eventually deprecate Standard RIs entirely. The trend is toward broader, more flexible commitments that automatically adapt as your infrastructure evolves. If you are starting fresh today, Savings Plans should be your default. Reserved Instances still have a role for specific scenarios, but the era of micromanaging individual RI purchases across hundreds of instance types is ending.

The most important thing is to start somewhere. Even a conservative 1-year Compute Savings Plan covering half your baseline will save 15 to 25 percent of your total compute bill. That is real money that can fund engineering projects, hire team members, or simply improve your margins. Do not let analysis paralysis keep you on full on-demand pricing.

Written by CloudToolStack Team

Cloud architects with 15+ years of production experience across AWS, Azure, GCP, and OCI. We build free tools and write practical guides to help engineers navigate multi-cloud infrastructure.

Disclaimer: This article is for informational purposes. Cloud services and pricing change frequently; always verify with official provider documentation. AWS, Azure, GCP, and OCI are trademarks of their respective owners.