AWS Savings Plan – Deep Dive

Posted By:insisivecloud
Posted on:09 Feb 2020

AWS recently introduced another pricing model  – AWS Savings Plan to reduce costs up to 72% for term commitments for  1-3 years.  For folks who are in the thick of it, it looks similar to one that is already present – Reserved Instances(RI) with similar savings. But a quick analysis shows that it has much better flexibility.

Why RI is hard to monetize:

Given that RI is a term commitment for 1 or 3 years for fixed-size/ family/ AZ /region, it is suitable for workloads that are

  1. Running 24×7
  2. Stable
  3. Prone to less change over 1 or 3 years
  4. Parallel workloads cannot use the same RI.  E.g. 3  m5.xlarge instances run for 6 hours together ( for a total of 18 compute hours ) and then stop, for one m5.xlarge RI, the discount is applicable to 6 hours only and the rest of 18 hours is still charged at the discounted RI rate.  This diminishes the value of RI greatly at scale as it is very difficult to ensure the hours are used completely.
  5. RI marketplace liquidity – to be able to sell RIs easily when not needed in the marketplace

There are not a lot of workloads that satisfy all three criteria. Many times customers choose RI even when one of the conditions is not satisfied considering the 30 -70% discount over OnDemand. Given the limited options to easily offload RIs, they are stuck with the costs when any of the above conditions is no longer applicable.

So what appears to be a cost-savings at first will soon become a dead investment.

What does Savings Plan solve( over RI):

The big difference compared to RI vs Savings plan is that Savings Plan is based compute spend rather than instance type or instance family. This gives a lot of flexibility for changing instance types, instance families, tenancy and even regions.

The Compute Savings plan can also be applied to Fargate based compute spend. There are plans to include Lambda in the future.

A quick summary of differences

Comparision to Reserved Instances
Image Credit: AWS Savings Plan deep dive

What does Savings Plan not cover ( that Reservations do cover) .. For now?

  1. DynamoDB
  2. RDS
  3. Redshift
  4. Lambda

Should Savings Plans be considered if there are existing RIs?

Savings Plans are applied on top of existing RI usage and work alongside the existing RIs. However, given the flexibility, Savings Plan should be the de facto choice over Reserved Instances for the Compute options.

The sequence of Discounts.
Image Credit: AWS Savings Plan deep dive

How do we leverage Savings Plan:  Savings Plan Recommendations

AWS Cost Explorer provides options to generate Savings Plan recommendations based on past 7/30/60-day usage. It considers the hourly compute costs and suggests Savings Plan rate based on the low end of the usage.

Savings Plan Recommendation
Image Credit: AWS Savings Plan deep dive

What do the recommendations do not take into consideration

Savings plan takes current spend into consideration and not really the utilization of compute capacity. It also does not take into consideration the spot usage.

When to take Savings Plan

It is important to optimize spend first ( using multiple cost optimization strategies ), arrive at a steady-state usage of workloads and make term commitments on top of that to take effective advantages of Savings.

What would be good to have?

Ability to extend to other compute models like RDS would be desirable. The ability to cover the peaks of variable workloads by some other mechanism of total normalized compute hours would be great.