The mistake we see most often is treating commitment as a single decision. Teams buy a three-year reserved instance for everything, lock in the wrong instance family, and then spend two years trying to use up coverage they no longer need. Commitments are a portfolio, and the layers do different jobs.
Cover the floor, not the ceiling
We commit to the baseline - the compute that runs at 3am on a Sunday. That floor is where commitments are safe. We target roughly 70-80% coverage of the steady-state, never 100%, because the last slice of usage is the most volatile and the most likely to strand.
- Compute Savings Plans for the flexible baseline - they follow you across family, size, region, and even Fargate and Lambda
- Reserved Instances only when we need capacity reservation or for RDS/ElastiCache where SPs do not apply
- Spot for anything that can be interrupted: batch, CI runners, stateless workers, dev environments
Savings plans usually win on flexibility
For most EC2 fleets we reach for Compute Savings Plans over Standard RIs. You give up a few points of discount (a 3-year all-upfront Compute SP lands near 60-66% off, vs up to ~72% for a locked Standard RI) but you keep the freedom to change instance family without re-buying. Given how often we end up migrating clients to Graviton mid-term, that flexibility pays for itself.
A 72% discount on the wrong instance type is worse than a 64% discount you can actually move.
Spot is free money with a temper
Spot can be 70-90% cheaper, and it is the single biggest lever for batch-heavy clients. The rule we enforce: design for interruption first, then turn spot on. That means checkpointing, diversified instance pools across at least 6-8 types, and a capacity-optimized allocation strategy so the scheduler avoids pools about to be reclaimed.
aws ce get-savings-plans-purchase-recommendation \
--savings-plans-type COMPUTE_SP \
--term-in-years ONE_YEAR \
--payment-option NO_UPFRONT \
--lookback-period-in-days SIXTY_DAYSReview coverage monthly, not yearly
We watch two numbers every month: coverage (how much of eligible usage is on a discount) and utilization (how much of what we bought is actually used). Utilization below 95% means we over-committed and are paying for idle commitment. Coverage stuck under 60% means there are easy savings on the table. Layered this way, a client moving from on-demand-everything to a sensible mix lands a 30-45% blended reduction without betting the farm on a three-year guess.