awsec2cost-optimizationpurchasing

Four ways to buy EC2 compared: on-demand, reserved, savings plans, and spot

On-demand, reserved instances, savings plans, and spot are four ways to pay for the same EC2 capacity, with discounts from zero to around 90 percent and very different commitments. Which mix is cheapest depends on how predictable and interruptible your workload is. Here is the side-by-side.

The C3X Team··6 min read

Quick answer

The same EC2 capacity can be bought four ways: on-demand (no commitment, full price, maximum flexibility), reserved instances (1 or 3 year commitment to a specific configuration, up to about 72 percent off), savings plans (1 or 3 year commitment to a dollar-per-hour spend, up to about 66 to 72 percent off with more flexibility), and spot (spare capacity, up to about 90 percent off but interruptible). The cheapest strategy is a layered mix: commitments (reserved or savings plans) for your steady baseline, spot for interruptible work, and on-demand only for unpredictable spikes.

AWS sells the exact same EC2 capacity four different ways, and the price difference between them is enormous, from full price down to roughly a tenth of it. Choosing well is not about picking one, it is about matching each part of your workload to the purchasing option that fits its predictability and interruptibility. Get the mix right and you cut compute cost dramatically without changing a single instance.

The four options side by side

OptionDiscountCommitmentBest for
On-demand0 percentNoneSpiky, unpredictable, short-lived
Reserved instancesUp to about 72 percent1 or 3 years, fixed configSteady, known configuration
Savings plansUp to about 66 to 72 percent1 or 3 years, dollar spendSteady, flexible instances
SpotUp to about 90 percentNone, interruptibleFault-tolerant, batch, stateless

On-demand is the reference price and the most flexible. Reserved instances lock you to a family, region, and term for the deepest committed discount but the least flexibility. Savings plans commit to a dollar-per-hour amount rather than a specific instance, trading a little discount for the freedom to change instance types, as the reserved-versus-savings-plans comparison covers. Spot uses spare capacity at the steepest discount but can be reclaimed with two minutes notice.

Matching options to workload

The key insight is that these are layers, not alternatives. Your always-on baseline, the capacity you know you will run 24/7, should be covered by commitments (reserved or savings plans) for 60 to 70 percent off. Work that tolerates interruption, batch jobs, CI, stateless workers, should run on spot for up to 90 percent off, as the spot savings guide explains. On-demand should cover only the unpredictable spikes on top that you cannot commit to or interrupt.

Reserved instances vs savings plans

Between the two commitment options, savings plans usually win on flexibility for a small discount give-up: compute savings plans apply across instance families, sizes, and regions, so you are not stranded if your instance mix changes, while reserved instances offer marginally deeper discounts and can be sold in the marketplace. Most teams should default to compute savings plans, using reserved instances only for very stable configurations, as the savings plans guide details.

Building the cheapest mix

Measure your steady baseline and cover it with savings plans (or reserved instances), move all interruptible work to spot, and leave on-demand only for genuine spikes. A typical result is a blended discount well over 50 percent versus all-on-demand, with no performance change. Ladder commitments over time to avoid over-committing, as in the commitment laddering approach. Price your instance mix against the resource catalog so you know the baseline worth committing before you buy.

FAQ

What are the four ways to buy EC2?

On-demand (no commitment, full price, maximum flexibility), reserved instances (1 or 3 year commitment to a specific configuration, up to about 72 percent off), savings plans (1 or 3 year commitment to a dollar-per-hour spend, up to about 66 to 72 percent off with more flexibility), and spot (spare capacity, up to about 90 percent off but interruptible). They are layers to combine, not mutually exclusive alternatives.

Which EC2 purchasing option is cheapest?

Spot is cheapest per hour, up to about 90 percent off, but only for interruptible, fault-tolerant work. For steady baseline capacity that must stay running, commitments (reserved instances or savings plans) are cheapest at up to about 72 percent off. On-demand is the most expensive and should cover only unpredictable spikes. The cheapest overall strategy layers all three by workload type.

Should I use reserved instances or savings plans?

For most teams, compute savings plans, because they apply across instance families, sizes, and regions for a similar discount, so you are not stranded if your instance mix changes. Reserved instances offer marginally deeper discounts and can be resold in the marketplace, making them best for very stable, known configurations. Both require a 1 or 3 year commitment to your steady baseline.

How do I combine the four EC2 purchasing options?

Cover your always-on baseline with savings plans or reserved instances for 60 to 70 percent off, run interruptible work like batch, CI, and stateless workers on spot for up to 90 percent off, and use on-demand only for unpredictable spikes you cannot commit to or interrupt. This layered mix typically yields a blended discount well over 50 percent versus all-on-demand with no performance change.

How does C3X help choose EC2 purchasing options?

C3X prices your instance mix from Terraform before you deploy, so you can see the on-demand baseline cost in the pull request and identify the steady capacity worth covering with commitments and the interruptible work that could move to spot. That helps you plan the cheapest layered purchasing mix at design time rather than discovering an all-on-demand bill after the fact.

What to do next

See your baseline before you commit. C3X reads your Terraform and prices your resources against a live catalog. Start with the quickstart.

Try C3X on your own Terraform

Free and open source. No API key required. One command to install, one command to estimate.