Organizations that host applications on AWS can benefit from two of the cloud platform's discounted Amazon EC2 pricing models -- Reserved Instances and Savings Plans. But first they need to understand the distinction between the two programs.
There's considerable overlap between the two models, which are designed for IT teams with predictable compute demands. Savings Plans are a successor of sorts to Reserved Instances, intended to reduce the complexity of managing compute reservations. But Reserved Instances won't be going away any time soon, and they remain a major chunk of many enterprises' cloud costs.
In this article, we'll compare Savings Plans and Reserved Instances. We'll also take a closer look at the two different types of Savings Plans and discuss how to build an AWS pricing strategy that best utilizes these discount programs.
AWS EC2 discount options: Savings Plans vs. Reserved Instances
Like many suppliers, AWS offers discounts to customers that buy their product in bulk or commit to spending a certain amount of money.
Since 2009, AWS has offered a Reserved Instance pricing model, where customers commit to a specific EC2 instance type, such as an m4.large instance, for a period of time, typically one or three years, in exchange for a discount off the full, On-Demand rate. Customers also have a number of payment options, such as No-Upfront, Partial-Upfront and All-Upfront. Discounts depend on the instance type, term and payment option you choose. Discount rates start at approximately 30% and go as high as 72%, compared to standard On-Demand rates.
There are two classes of Reserved Instances: Standard and Convertible. Standard Reserved Instances provide deeper discounts but are more rigid. With Standard Reserved Instances, you can modify the Availability Zone, instance size and networking type. With Convertible Reserved Instances, you can exchange a Reserved Instance for one with a different configuration. In addition to the changes possible with Standard Reserved Instances, you can also change the instance family, OS, tenancy and payment type -- as long as the target Reserved Instance is of equal or greater value. There's also a marketplace to sell unused Reserved Instances.
Added in late 2019, AWS Savings Plans are similar to EC2 Reserved Instances in the sense that customers get a discount based on a one- or three-year commitment, with the same choice of payment options. But unlike Reserved Instances, you don't have to commit upfront to specific instance types and configurations, such as OS or tenancy. Instead, Savings Plans customers only have to commit to a consistent usage, measured in dollars per hour.
Compute Savings Plans vs. EC2 Instance Savings Plans
There are two types of Savings Plans: Compute Savings Plans and EC2 Instance Savings Plans. Let's take a closer look at these options.
The discounts with Compute Savings Plans, in most cases, are similar to those delivered by the EC2 Convertible Reserved Instances.
Compute Savings Plans are good for accounts that spend money on Lambda or have containers running on ECS Fargate clusters. They're also an option if an account uses a wide range of EC2 instance types or is subject to changing EC2 instance types regularly.
EC2 Instance Savings Plans. This option offers a discount tied to a specific EC2 instance family, e.g. T3, R5, C5, in a particular AWS Region. It's more specific than a Compute Savings Plan and, therefore, offers a deeper discount. Like Compute Savings Plans, it applies a discount regardless of Availability Zone, OS, instance size or tenancy. However, it doesn't cover Fargate or Lambda compute usage. In terms of discounts, EC2 Instance Savings Plans are similar to the Standard Reserved Instances, with additional OS and tenancy flexibility.
You could use this plan if you have stable applications that use the same EC2 instance family in a given AWS Region, where only instance size, OS or tenancy is likely to change, if at all.
Expect to save 5% to 10% more with an EC2 Savings Plan, compared to Compute Savings Plans. Compute Savings Plans offer customers more flexibility, while EC2 Savings Plans deliver the most savings.
AWS Savings Plans in practice
Organizations with a wide variety of compute demands might opt to use both types of Savings Plans. Account owners can purchase Compute Savings Plans to cover Lambda and Fargate usage as well as flexible EC2 compute; and they can also purchase EC2 Savings Plans for the amount of usage consumed by more stable applications, where the instance type is not expected to change for the duration of the commitment period.
As of now, Savings Plans don't cover all compute types available in AWS. For example, they don't cover Amazon Relational Database Service, Redshift, ElastiCache and Elasticsearch Service compute at the time of publication. This is likely to change over time, but it's important to keep in mind which services are supported by a Savings Plan before you make a purchase decision.
Also, Savings Plans, just like Reserved Instances, are ideal for accounts that can predict a minimum amount of usage for the duration of the commitment period. For less mature applications, where a baseline cannot yet be predicted, it's better to gather usage data over time and gradually commit to an amount of Savings Plans that will result in optimal savings.
Given the extra flexibility and comparable amount of savings they provide relative to Reserved Instances, Savings Plans are a better alternative to Reserved Instances in most cases.
It's also important to calculate the total monthly cost of a purchase, since Savings Plans are purchased based on an hourly commitment. Thankfully, when doing a Savings Plan purchase, AWS Cost Explorer in the AWS Management Console automatically calculates how an hourly commitment will translate into a monthly charge in your AWS bill. Be sure to calculate the Savings Plans purchase amount after discounts are applied to compute usage.
For example, say the On-Demand monthly cost for your EC2 instance is $1,000. If the Savings Plan combination of term and payment option results in 30% savings, then the recommended commitment should be about $0.96 per hour, or $700 per month.