Introduction to AWS Savings Plans
Originally post on Turbonomic's Blog page.
On November 6, Amazon announced a new discount model called Savings Plans. We’ll review the changes and benefits in just a moment but before we jump into the details, let’s review the complexity to manage “legacy” reserved instances so we fully understand how much of an improvement this is for AWS users.
The (Complex) History of Reserved Instances
Originally introduced in 2009, Amazon Reserved Instances offer significant savings (up to 72%) versus on-demand rates. Customers simply promise to spend a certain amount of money and commit to a specific type of use for a fixed discount over a period of 1- or 3-years. The complexity isn’t in the concept, it is in the execution.
How effectively does the typical organization plan the use of AWS services over the next three years? If you don’t know what your application demand will be in 12 to 36 months, you’re either going to waste the money spent on a reserved instance, or you’re going to limit the benefits of elasticity and agility for your technical teams.
Even if you can do this well, the big question is, should you?
One of the biggest advantages of the cloud is to provide elasticity. The downside from reserved instances is the reduced elasticity – It’s an almost static mode of operations where instance configuration was decided for an entire year or three.
The next challenge revolves around the technical logistics and attention to detail necessary to plan and execute an RI purchase strategy. You have to worry about the hours of use per operating system, the tenancy and compute configuration across all of the workloads in a single location for all of your accounts. That alone can be a full-time job or a large consulting bill.
In September 2016, Amazon introduced Convertible RIs to reduce some of the complexity and increase flexibility. These types of reserved instances allow a user to exchange their existing RIs with others to match the use of other instances with a different configuration. The goal of the convertible RI is laudable, Amazon always keeps its customers’ interest in mind, but the execution fell a little flat. In theory, a user can simply return the unused portion of the RI for one that fits better. In reality, this was just one more knob to turn and one more tradeoff to evaluate (Savings vs. Flexibility).
Regardless, the fundamental problem many users have is that those most concerned with the financial aspect need to translate their goals with the complex technical reality of reserved instances, instance usage and forward-looking plans across the organization.
Amazon was well aware of the challenges; to address them they launched Savings Plans, which have the cost benefits of reserved instances but without the technical complexity and a purchasing model that doesn’t conflate technical configuration with dollars.
AWS Savings Plans
There are a lot of conceptual similarities between Reserved Instances and the new Savings Plans model, but the two fundamental differences are that (1) Commitment is expressed in financial terms ($ vs. Use and configuration) and (2) Users now only need to consider whether they can trade off flexibility for additional savings. Users no longer require sacrificing elasticity like they had to with Reserved Instances.
There are two types of savings plans:
- EC2 Instance Savings Plans - this plan, similar to Standard RIs, offers higher savings, up to 72% discount, but requires the users to commit to the usage of individual instance families in a region. For example, r5 in AWS Canada Central Region (ca-central-1). The discount will apply to any instance usage within the r5 family within the Canada region regardless of size, OS, and tenancy. Conceptually, it’s akin to an instance size-flexible reserved instance regardless of OS licensing concerns.
- Compute Savings Plans - this plan, conceptually akin to convertible RIs, offers higher flexibility (no need to commit to an individual instance family within a region), and discounts will apply against any EC2 and Fargate compute usage regardless of instance size, family, OS, tenancy, or region. The discounts gained from this plan are up to 66%.
Both savings plans include 1- or 3-year commitment, as well as three payment options (all upfront, partial upfront, and no upfront).
Similar to RIs, the discounts from a savings plan will be applied to usage across all accounts on an AWS Organization/Consolidated billing family automatically for you, but it is possible to limit it to a specific account if needed.
Here is an image from Amazon showing the differences between the two Savings Plans:
How Savings Plan Work
Once users purchase Savings Plans, they will take effect immediately. When users purchase Savings Plans, they will be charged the discounted Savings Plans price for their usage up to your commitment. For example, if you commit to $20 of compute usage an hour, you will get the Savings Plans prices on that usage up to $20 and any usage beyond the commitment will be charged On-Demand rates. If you already have reserved instances, you won’t be able to stack the savings, but AWS will make sure you consume the legacy RI’s first and apply the discount to the remaining spend.
For example, say I have purchased an EC2 Instance Savings Plan with committed $5/hr in Canada (Central) Region for r5 family over a 1-year term, using all upfront payment (my upfront cost will be $43,800).
In that region, let’s assume I have 10 Linux instances using r5.4xlarge (shared tenancy), the on-demand rate of each instance is $1.104 / hr. (or $11.04 / hr. for all ten instances). My new Savings Plan will reduce the r5.4xlarge rate to $0.640 (41% discount) or $6.49 / hr. for all ten instances. My savings over the 1-year term, assuming no changes, will be $39, 858 / yr. (or $3,321.5 / mo.) - Not bad, eh? (Pardon my Canadian slang)
Each instance type has its own Saving Plan rate, which is similar to RIs rates. The prices used in my example were taken from the Savings Plan Pricing page, where users can validate the discount rates offered per region, for specific instance type, size, OS, tenancy, and term length.
If I need to change the instances' OS, tenancy, or even their size (within the r5 family), the discount will be applied regardless, but the rate might be slightly different; there is nothing else I need to do or worry about once I’ve written the check. No one has to coordinate compute usage across an organization and there is one less argument to be had between operational/app teams and the finance team.
Lastly, it is important to note that unlike RIs, the new Savings Plans do not offer Capacity Reservations within an Availability Zone, if you require that functionality, currently RIs are the best option.
How to purchase Savings Plans
The new Savings Plans can be purchased from the AWS Cost Explorer Page or by using APIs. The below images show the options presented for each plan.
EC2 Instance Savings Plan Purchasing Example:
Compute Savings Plan Purchasing Example:
As mentioned before, as soon as savings plans are purchased, their discount rates will be applied. Users can also stack multiple plans together – for example, as more workloads are being added to the cloud you can buy more plans to cover their usage.
Most importantly, currently there is no option (as far as we know) to cancel or modify Savings Plans, therefore, avoiding overcommitment is critical more than ever before. But worry not, Turbonomic can help.
Conclusion
There is no doubt that the new AWS Savings Plans are a huge improvement over Reserved Instances. AWS will still allow organizations to purchase Reserved Instances, but the relative simplicity of Savings Plans will make it more attractive to many organizations.
While Amazon also offers Savings Plans recommendations, giving costs and savings insight for either plan with different terms and payment options, users will still need to consider how they’ll be consumed. Reserved instances are part of a bigger cost management strategy and depending on your savings goals and future plans, you may still need to consider how savings plans (especially EC2 Compute savings plans) will interact with other cost savings tactics like rightsizing.
How Turbonomic Can Help
Turbonomic has been helping AWS (and Azure) customers to address the challenges of managing RIs with an AI-based system that generates accurate RI purchases based on workloads’ consumption, as well as an application-driven rightsizing engine that considers RI inventory and utilization.
Every AWS customer is thinking about how to leverage this new offering quickly and how much should they be committing to over the next 1 or 3 years. AWS is encouraging customers to baseline their current spend and purchase accordingly. We encourage customers to take an application-driven approach and think about what resources they truly need to deliver on the performance that they require, and only commit to those resources.
Turbonomic will help customers to make the most of their existing savings plans and reserved instances and make informed Savings Plans purchase decisions by leveraging our Cloud Optimization planning feature. Cloud Optimization plans will generate rightsizing actions based on real-time compute utilization metrics, sizing up to assure performance at the most efficient cost or sizing down underutilized instances to make sure you fully utilize savings plans or reserved instances.
Check out the short 1-minute demo below of how to use Turbonomic Optimize Cloud Plan against AWS deployment to determine the optimized state and make accurate Savings Plans purchases. In this demo, we selected to optimize the AWS deployment using existing RIs, but not to buy any additional RIs in the future. The plan results will include all the rightsizing actions needed to ensure the workloads are optimized based on their observed consumption and help you to make accurate AWS Savings Plans Purchases.
Content Co-Contributors: Mor Cohen-Tal and Alan Santos.