Definition
An AWS Savings Plan is a pricing commitment you make to Amazon Web Services in exchange for a lower rate on compute usage. You agree to spend a set dollar amount per hour, say four dollars, for a one year or three year term, and AWS applies a discount to your usage bills as long as you are spending at or above that committed amount. You are not committing to a specific instance type, a specific region, or even a specific AWS service in most cases. You are committing to a level of spend, and AWS rewards that predictability with a lower price than you would pay on demand.
The plan exists because AWS wants predictable, sustained revenue from customers who are going to run compute anyway, and it is willing to discount that usage in exchange for a commitment instead of leaving every customer paying full on demand rates. Before Savings Plans existed, the main way to get a discount was a Reserved Instance, which locked you into a specific instance family in a specific region for the term. That worked for stable workloads but punished teams whose usage shifted month to month, which in practice is most teams once you look past a single steady database tier.
What separates a Savings Plan from just buying whatever is cheapest at the time is that the discount follows your usage rather than the other way around. AWS automatically applies the commitment to whichever eligible usage occurred, prioritizing the highest discount rates first, so you do not have to manually match a specific reservation to a specific running instance. A naive commitment scheme would require you to guess your exact future instance mix a year in advance and then live with that guess. A Savings Plan lets the commitment be about dollars, and lets AWS do the matching against real usage as it happens.
By 2026, Savings Plans have become the default discount mechanism most AWS customers reach for before Reserved Instances, especially for Compute Savings Plans, which apply broadly across instance families, regions, and even between EC2, Fargate, and Lambda in some cases. Reserved Instances still exist and still make sense for a narrow set of cases, like guaranteeing capacity in a specific availability zone, but the flexibility of a Savings Plan is now the more common starting point for teams trying to lower their AWS bill without locking themselves into infrastructure decisions they might regret later.
This page covers how a Savings Plan actually applies its discount behind the scenes, how it compares to a Reserved Instance, and where committing to steady spend makes sense versus where it quietly becomes a liability. The durable idea is that a Savings Plan trades commitment for a lower price, and the commitment is real. You are still on the hook for that hourly spend whether you use the compute or not, which is exactly the detail that turns a good deal into a wasted line item on a bill nobody double checked.
Key Takeaways
- An AWS Savings Plan lowers your compute rate in exchange for committing to a steady hourly spend over a one or three year term.
- It exists because AWS rewards predictable, sustained usage with a discount instead of charging every customer full on demand rates.
- The discount follows your actual usage automatically, so you commit to a dollar amount rather than a specific instance type or region.
- By 2026, Savings Plans, especially the Compute Savings Plan, have become the default discount most teams reach for before Reserved Instances.
- The commitment is real: you pay the committed amount whether or not you use enough compute to cover it, which is where savings plans quietly go wrong.
How a Savings Plan Works
When you buy a Savings Plan, you pick a commitment amount in dollars per hour and a term, either one year or three years, and choose upfront, partial upfront, or no upfront payment for that commitment. AWS then tracks your eligible usage hour by hour and applies the discounted rate to it automatically, up to the amount you committed to. Usage above that committed amount is billed at the normal on demand rate, so a Savings Plan discounts a baseline of usage rather than capping or limiting what you can run beyond it.
There are two main types. A Compute Savings Plan applies the broadest discount and covers usage across EC2 instance families, regions, operating systems, and tenancy, and it can even apply to Fargate and Lambda usage in some configurations. An EC2 Instance Savings Plan offers a steeper discount but only within a specific instance family in a specific region, trading flexibility for a better rate, which suits a team that already knows its compute shape will not change much over the term.
AWS applies the discount using a defined order of precedence when you have more than one plan or reservation active, generally applying the usage that gets the best discount first so nothing goes to waste on the cheaper option before the pricier one is exhausted. This matters once a team accumulates several plans bought at different times for different purposes, since the system is doing real allocation work behind a bill that otherwise just looks like one lower number. A discount that reads as a single simple line on an invoice is still, underneath, the product of a fairly involved matching process that most customers never have reason to look at directly.
The commitment itself is billed whether or not you actually use enough compute to cover it, which is the part people forget once the initial purchase excitement wears off. If your usage drops below the committed hourly amount, for instance after a migration or a product being sunset, you keep paying the full committed rate anyway, and the unused portion is simply money spent with nothing to show for it on the usage side. This is exactly why many finance teams insist on a quarterly check of committed versus actual spend, rather than waiting to discover a mismatch only once a multi year term finally expires and someone finally reviews the full bill history at once.
A Savings Plan Compared to a Reserved Instance
A Reserved Instance is the older AWS discount mechanism, and it ties the discount to a specific instance type in a specific region, and often a specific availability zone if you choose zonal scope. In exchange, some Reserved Instance types can offer a marginally deeper discount than a comparable Savings Plan, and they can also be resold on the AWS Marketplace if your needs change, which a Savings Plan cannot. That resale option is a real, if narrow, escape hatch that Savings Plans do not offer at all.
The tradeoff is flexibility. A Reserved Instance discount is tied to the exact instance family and region you picked, so if your team shifts from one instance family to another, a common outcome of normal infrastructure evolution, the reservation stops matching and its value quietly evaporates unless you actively exchange it, which AWS allows for convertible Reserved Instances but not for standard ones. A Savings Plan, by contrast, follows your spend wherever it goes within its scope, so a similar shift in instance family does not break the discount at all, which removes an entire category of maintenance work nobody particularly enjoys doing.
In practice, most teams find Savings Plans easier to manage precisely because they require less babysitting. Nobody has to track whether a specific reservation still matches what is actually running, and finance teams like being able to reason about the commitment purely in dollars rather than in a spreadsheet of instance types across regions. Reserved Instances still make sense when you specifically need capacity reservation in an availability zone, which a Savings Plan does not provide, since a Savings Plan is purely a pricing construct with no capacity guarantee attached to it whatsoever.
The honest comparison is that a Reserved Instance can be marginally cheaper for a genuinely stable, unchanging workload, while a Savings Plan is cheaper in the sense that matters more for most teams: the discount survives normal infrastructure change without extra management effort. Teams that commit heavily to Reserved Instances and then reorganize their compute a year later often end up worse off than teams that committed the same dollars to a Savings Plan and let the discount follow the usage automatically, since the reorganization itself becomes a financial event instead of a purely technical one.
What Makes a Savings Plan Different From a Spot Instance
A Spot Instance is compute capacity AWS sells at a steep discount because it can reclaim it with little notice when AWS needs the capacity back for other customers. The discount comes from the interruption risk, not from any commitment on your part. You pay nothing upfront and make no promise about future usage, and in return you accept that your workload can be shut down at almost any time, which makes Spot suitable only for work that tolerates interruption gracefully.
A Savings Plan works from the opposite direction. The discount comes from your commitment to steady future spend, not from any risk of interruption, and the compute you run under a Savings Plan is exactly as reliable as any normal on demand instance. Nothing about a Savings Plan makes your workload more likely to be interrupted, since it is a billing arrangement layered on top of ordinary compute, not a different class of capacity with different availability guarantees attached to it in any way.
People sometimes lump the two together because both are framed as ways to save money on AWS compute, and both do meaningfully lower your bill compared with straight on demand pricing. But they solve completely different problems and involve completely different tradeoffs. Spot trades reliability for a lower price on capacity you did not commit to. A Savings Plan trades commitment for a lower price on capacity that behaves exactly like on demand in every other respect that actually matters to a running workload.
In a mature cost strategy, the two are often combined rather than treated as alternatives to pick between. A team might cover its steady, predictable baseline load with a Savings Plan and run batch jobs, fault tolerant background processing, or anything else that can restart cleanly on Spot Instances, capturing the deeper discount where interruption is affordable and the commitment based discount where it is not, which tends to produce a noticeably lower total bill than leaning on either mechanism alone.
Where a Savings Plan Fits and Where It Does Not
A Savings Plan fits well once a team has enough usage history to commit to a baseline with real confidence, typically after running production workloads for several months and seeing that spend does not swing wildly from one period to the next. It fits especially well for organizations with a steady core of always on compute, like a production application tier or a database layer, where the usage genuinely is not going away over the plan's term, and where the discount simply compounds month after month with almost no ongoing attention required.
It also fits well for larger organizations that can absorb some forecasting error across many workloads, since a commitment that turns out slightly too high in one team's usage can often be absorbed by another team's growth elsewhere in the same billing account, smoothing out the risk that any single team's guess was wrong. A company with dozens of workloads has, in effect, a portfolio of forecasts, and that portfolio is far more forgiving than any single guess made in isolation.
It fits poorly for a brand new workload with no usage history, where committing a year or three years out is closer to guessing than forecasting. It also fits poorly for genuinely volatile or seasonal usage, like a workload that runs heavily for two months a year and sits nearly idle the rest of the time, since the committed hourly rate gets billed every hour regardless of whether the workload is actually running, which turns a seasonal pattern into a year round expense.
It is a particularly poor fit for a team in the middle of a major architecture change, like a migration off a given cloud provider or a rewrite that will substantially shrink compute needs, where locking in a spend commitment ahead of that change is a bet against the very future the team is actively building toward, and one that is easy to lose without anyone intending to make it in the first place, since nobody sets out to pay for infrastructure they are actively working to retire.
How to Use a Savings Plan Well
Look at trailing usage data before committing, typically the last three to six months of actual on demand and existing reserved spend, rather than committing based on a rough guess or a single unusually busy month. A commitment sized to a spike will sit underused for most of the term, while one sized too conservatively leaves savings on the table that a slightly larger commitment would have captured, so the data collection step is worth the small delay it costs before buying anything.
Commit to a level below your steady baseline rather than your peak, leaving genuine peak usage to be covered at on demand rates or by Spot where the workload tolerates it. This keeps the committed portion safely covered even if usage dips slightly, rather than leaving you exposed the first time a quiet month arrives and the commitment goes partly unused and quietly wasted for the rest of that billing cycle, an outcome that is far easier to avoid than to fix after the fact.
Stagger commitments over time rather than buying one large plan all at once, so that as usage grows, new commitments layer on top of the last one instead of leaving you locked into a single guess made a year or three years earlier. Many organizations buy smaller Savings Plans every few months, building up coverage gradually as real usage patterns confirm themselves, rather than trying to solve the entire forecast in one purchase and hoping that guess still holds up years down the road.
Review coverage and utilization regularly, since AWS Cost Explorer reports both how much of your eligible usage is covered by savings plans and how much of your committed spend is actually being used. A commitment sitting at seventy percent utilization is quietly leaking money every month, and that number rarely fixes itself without someone actually looking at it and adjusting future purchases accordingly, rather than assuming a dashboard nobody regularly checks will somehow correct itself over time without any real intervention from the team.
Treat Savings Plans as a financial decision made with the same care as any other multi year commitment, not a purely technical toggle a cloud engineer flips on their own. Finance and engineering both have information the other one lacks, the engineering side knows what the infrastructure will likely need, and the finance side knows what commitment the organization can comfortably absorb if a forecast turns out wrong, which is exactly the kind of judgment that benefits from both perspectives in the room.
Best Practices
- Base commitment size on several months of trailing usage rather than a single unusually busy period.
- Commit to your steady baseline usage, not your peak, and let peaks run at on demand or Spot rates.
- Stagger purchases over time so new commitments build on confirmed usage instead of one large upfront guess.
- Review coverage and utilization reports regularly so an underused commitment gets caught and adjusted.
- Involve both finance and engineering in the decision, since each side holds information the other one lacks.
Common Misconceptions
- A Savings Plan is not a capacity reservation; it lowers price on usage but guarantees no availability the way a zonal Reserved Instance can.
- A Savings Plan does not cap or limit your usage; it discounts a baseline and anything above that baseline bills at the normal rate.
- Committing to a Savings Plan is not free of risk; the committed spend is billed whether or not your usage actually reaches it.
- A Savings Plan is not the same discount mechanism as a Spot Instance; one rewards commitment, the other rewards tolerating interruption.
- A Savings Plan is not always cheaper than a Reserved Instance in every case; a genuinely stable, unchanging workload can sometimes save more with a Reserved Instance.