Making the most of AWS EC2 Savings Plan
AWS introduced Savings plan (SP) a year ago, for customers with consistent usage looking to leverage more flexible discounts. The saving rates are comparable to RIs. While flexible, there are certain considerations customers should make prior to making SP purchases.
There are 2 types of Savings Plans:
a. EC2 Savings Plan
b. Compute Savings Plan
In this article we’ll focus on how to fully leverage EC2 Savings plan which applies to EC2 compute for a specific family and region. As a result, they offer an average 6–10% more savings than the Compute Savings plan. We’ll cover the Compute Savings Plan in a different article.
Compared to RIs, EC2 Savings plans are fairly simpler to implement and manage, but they can be costly and possibly negate the ROI, if purchased based on incorrect EC2 usage patterns. As with RIs, they’re also available on 1 or 3 year commitments, but can’t be transferred or sold, once purchased.
Lets take a look at the factors and math that goes behind considering if an EC2 is a good candidate for a EC2 SP.
A — Review the historic usage data for the EC2 for 7,14,30 & 60 days to determine the usage patterns
B & C — Check if any RIs or SPs are currently applying to the instance, this can be done using the Cost explorer:
D & I — Saving plans are $ commitments for purchased period, they bill whether you use them or not.
H & E — Since EC2 SPs offer a high range of discounts, purchasing them on existing discount plans can offer additional reduction in price. A threshold of 25% is being used in this case as most EC2 SP discounts range upwards.
G — EC2 Savings plan apply across instances within the same family, they are purchased per family and region
F — Now that you are ready to purchase the EC2 SP, you must enter a $ amount for select region and family. You want to ensure for instances that do not fall under the 100% usage bucket you enter the right amount to get the ROI. Lets run some scenarios:
Case 1 and 2 are straightforward to make decisions on, in Case 3, if we buy a SP only for a single instance, it will offer full coverage with the full discount amount.
Now that you have reached this far, you may be asking the question:
Why would I do all this when AWS already provides the recommendations?
This is a relevant question and we asked ourselves the same before researching and spending days understanding the Savings Plan. AWS EC2 SP recommendations are conservative and programed to handle scenarios where the workload and utilization is at 100% or close to 100%. This is understandable, but this means you as a customer are losing out on potential savings.
Take one of our development accounts for example, this is the AWS recommendations screen:
This is for a 30 day period. We did some digging into the Cost and Usage data. Wrote and iterated algorithms to learn usage patterns and voila! We see we could save 13% off our current qualifying EC2 bills in the dev account:
Note, this is at low risk, we took usage metrics and got their percentiles. A low risk is at 10th percentile, meaning we considered times these instances were least utilized and recommend the saving plan purchase amount that ensures ROI is realized.
As you can see, optimizing and ensuring you are leveraging discounts at every corner requires a thorough study of how these services work. Teams and businesses that have dedicated cloud specialists can afford to come up with similar algorithms or hire a consulting firm. At that point, a metric to consider is the time spent in developing these algorithms and whether the ongoing maintenance costs will negate the savings.
Hopefully this post can help get a better insight on EC2 Savings plan and how getting into the weeds of data can unearth missed savings.
PS: For more info on how the recommendations function within cloudshim: Link