The difference between AWS Savings Plans and Reserved Instances
In AWS, there are two main mechanisms for getting savings in exchange for a period of commitment. The traditional way, purchasing Reserved Instances, has been around for over a decade. The more recent and more flexible way is AWS Savings Plans. In this blog post, we’ll compare the benefits of the two - and give you our recommendation on which one to choose.
What are AWS On-Demand Instances?
The typical way a start-up pays for AWS resources like EC2 or RDS is with On-Demand instances. These instances are billed by the hour, with the hourly pricing changing according to region, instance family, and the performance of the instance you select. As a rule of thumb, both the price and the performance of an instance are doubled when you upgrade to a one step larger instance type.
With AWS On-Demand pricing, you do not commit to anything - the billing stops when you stop the instance. For the majority of EC2 instance types, the minimum billing amount is 60 seconds of usage (10 minutes for RDS instances).
What are AWS Reserved Instances?
AWS Reserved Instances give you a discount in exchange for committing to either a 1 or 3 year period. Reserved Instances provide a discount of up to 72% compared to On-Demand instances, and a capacity reservation when you purchase them for a specific Availability Zone.
Reserved Instances can be paid for with no upfront fee, partially upfront or all upfront - with the last option naturally providing the highest savings.
Reserved Instances are either ‘standard’ or ‘convertible’, with the latter option providing less savings, but allowing you to change the instance family and other attributes within the period of commitment if your requirements change.
Reserved Instances are available for EC2 virtual machines, RDS database instances, and for example Amazon ElastiCache - but they can’t be transferred between the different services.
What are AWS Savings Plans?
In AWS Savings Plans, you commit to a particular level of spend instead of a specific instance type. There are currently three Savings Plans available:
Compute Savings Plan providing a discount for Amazon EC2, AWS Fargate and AWS Lambda
EC2 Instance Savings Plan providing a discount for Amazon EC2
SageMaker Savings Plan providing a discount for Amazon SageMaker Machine Learning instances
In all Savings Plans, you make an hourly spend commitment for either a 1 or 3 year period. You can spend this commitment across all services that are in scope of the Savings Plan you have selected - regardless of instance types, sizes, or regions.
Like Reserved Instances, a Savings Plan can be paid for all upfront, partially upfront, or with no upfront payment. Paying all upfront gives you the largest savings possible, but even with no upfront payment, the savings are still significant - often over 20% lower than On-Demand Instances..
So, should I choose AWS Reserved Instances or a Savings Plan?
At Releaseworks, our default recommendation tends to be an AWS Savings Plan. This is because Savings Plans are more flexible and more predictable to plan for in different financial scenarios than Reserved Instances - a feat that is a real benefit for start-ups where you are constantly modelling different cash flow scenarios. In the world of start-ups, there may also be a need to pivot technologically at short notice - which is easier when you’re not committed to a certain type of virtual machine in a certain region.
Additionally, an AWS Compute Savings Plan enables you to share the committed spend across EC2, AWS Lambda, and AWS Fargate - which is a great benefit when you are in the middle of refactoring a legacy application into a containerised or serverless paradigm.
If you are stuck with virtual machines, the AWS EC2 Savings Plan provides the same level of best-scenario discount (up to 72%) as EC2 Reserved Instances.