The FinOps Directory Automated savings →

Cloud commitments

AWS Savings Plans vs. Reserved Instances vs. Spot

The short answer from nearly every source: don't pick just one. Most AWS accounts should run all three at once — Savings Plans for the stable baseline, Reserved Instances for databases, and Spot for interruptible jobs. Each saves 40–90% versus On-Demand, but picking the wrong one for a workload is as expensive as picking none.

The three models at a glance

ModelDiscountCommitmentBest for
Savings Plansup to ~66–72%$/hour spend, 1–3 yrFlexible, evolving compute baseline
Reserved Instancesup to ~72%Specific config, 1–3 yrStable workloads, esp. databases
Spotup to ~90%None (interruptible)Fault-tolerant, stateless jobs

Savings Plans — flexibility first

Instead of committing to a specific instance, you commit to a minimum hourly spend in dollars, and AWS applies the discount automatically. The most flexible variant, the Compute Savings Plan, applies across EC2, Fargate, and Lambda regardless of instance family, region, OS, or tenancy — you can move from an m5.large in us-east-1 to a c6g.xlarge in eu-west-1 and keep the rate. The trade-off is a slightly lower ceiling (~66%) than Standard RIs.

Watch out

The 7-day return window. After purchase you have exactly 7 days to cancel or reduce; beyond that the contract is immutable and non-transferable. Unused Savings Plan spend is lost immediately — accurate forecasting is essential.

Reserved Instances — deepest discount, least flexibility

RIs commit to a specific configuration (instance type, region, OS, tenancy). Standard RIs reach ~72% for a 3-year, all-upfront term but offer zero flexibility — change instance family or region and the discount doesn't follow. Convertible RIs trade some discount (~54%) for the ability to change family, OS, and tenancy mid-term.

The most important — and most overlooked — RI use case is databases. Savings Plans don't cover RDS, Aurora, or ElastiCache; those need RIs. A stable $15K/month database can save $6K–$10K/month with an RI and zero changes.

Watch out

Utilization below 80%, unmonitored expirations silently flipping to On-Demand, and mismatched Convertible vs. Standard RIs all erode savings.

Spot — cheapest, but interruptible

Spot gives you unused capacity at up to 90% off, but AWS can reclaim it with a two-minute warning. Ideal for stateless, interruptible work: EMR jobs, ML training, rendering, CI/CD runners, and containerized workloads on EKS/ECS. Never use Spot for databases, stateful services, or customer-facing apps that can't tolerate sudden node loss. Key rule: diversify across instance families and Availability Zones so a reclaimed pool doesn't take your workload down.

The recommended layered blueprint

  1. Baseline → cover it with a Compute Savings Plan.
  2. Families you're confident won't change → add EC2 Instance Savings Plans for a deeper rate.
  3. Data tier → Standard RIs for RDS, ElastiCache, and Redshift running continuously.
  4. Headroom + interruptible work → leave 20–30% On-Demand and layer Spot for batch, ML, and anything that survives interruption.
Before you commit

Don't buy anything before 4+ weeks of stable production data. Unused commitments are non-refundable — the risk sits entirely with you.

Managing this ladder by hand — forecasting the baseline, laddering terms, catching expirations — is exactly what automated commitment platforms like ProsperOps, Zesty, and Archera exist to do.

FAQ

Should I use Savings Plans or Reserved Instances?

Both, for different things. Compute Savings Plans cover your flexible baseline (EC2, Fargate, Lambda) with up to ~66% off. Reserved Instances go deeper on stable, specific workloads — most importantly databases like RDS, ElastiCache, and Redshift, which Savings Plans don't cover.

When should I use Spot instances?

For stateless, interruptible workloads: batch jobs, ML training, rendering, CI/CD runners, and containerized workloads that tolerate node loss. Spot is up to 90% off but reclaimable with two minutes' notice — never for databases or stateful customer-facing services. Diversify across families and AZs.

What is the biggest risk with AWS commitments?

Unused commitment. If a Savings Plan goes unused, AWS doesn't reimburse you. Don't buy before 4+ weeks of stable data, and mind the 7-day cancellation window and silent RI expirations that flip workloads back to On-Demand.

Sell a commitment or savings tool?

List it in the independent FinOps Directory — free, self-serve, and a verified backlink from a CFO-facing site.