Many of our customers ask us about buying Reserved Instances from AWS. One of the questions that has been asked is, 'what's the difference between the different types?'
The Standard RI
Let's start from the beginning and recap what a Standard RI provides. Whilst most people concentrate on the cost benefits of an RI, they are actually made up of two components: Cost Savings (in exchange for a commitment), and a Capacity Reservation (AWS will ensure that you can launch that type of instance in the selected Avaliability Zone (AZ)).
When you buy an RI you need to think of it as purchasing 744 hourly tokens (in a 31 day month) that can be applied to each hour of the month. When you purchase your RI you choose the attributes those tokens have - the attributes include Instance Family + Instance Size + Operating system (Windows, Linux, RHEL) + Location (AZ) + RI Term (1yr, 3yr) + RI Type (No Upfront, Partial Upfront or All Upfront). It’s possible to modify the AZ (within a region) or, if it is a Linux VM, the instance size, but you need to remember you are committing to pay for each and every hour for the term of the RI.
Now you have your tokens AWS will apply them to eligible instances that are running in your AWS account, providing they all of the attributes of your tokens (Instance Family + Instance Size + Operating system + Location ). If any of these do not match, AWS will not apply the token to that hour and you will not take advantage of the saving.
For example, if you have purchased a t2.micro linux instance, in eu-west-1a, running this for a full month, you will use all of your 744 tokens and take full advantage of your RI. However, if halfway through the month the instance is terminated and relaunched in eu-west-1b, you will have only used 372 of your tokens - and you will pay the full ‘on demand’ price for the remaining 372 hours, not utilising the potential saving of the remainder of the 372 hours.
The new RI’s
Last year, AWS launched some new types of RI. The first thing to note is standard RI’s, as described above, didn’t change, however they added two new types: Regional RI’s and Convertible RI’s.
Regional RI’s are not really a ‘new’ type of RI, just a change in the attributes applied to the tokens you purchase, moving the location attribute from the Availability Zone to the Region, allowing an instance of a given type, size and OS to be deployed anywhere within a region and always have RI coverage. Unlike a Standard RI, when purchasing an Regional RI you lose the capacity reservation so you are only benefiting from the cost savings. From March 2017, regional RIs now provide instance size flexibility in addition to AZ flexibility. With instance size flexibility, your regional RI’s discounted rate will automatically apply to usage of any size in the instance family, and in any AZ.
Convertible RI’s require a three year term, but offer a lot more flexibility - so you need to be confident that you are going to be using at least the same number of EC2 Instances (or more!) over the next three years. Consider this type of RI carefully. If you are planning to move workloads to PaaS (RDS, SQS, Memcache) or to re-architect and go Serverless, these might not be for you.
Convertible RI’s can be exchanged for any other type of RI (size, region, family, OS) so allows for future proofing changes in your infrastructure, or for changes to new instance families which AWS have not yet announced. If you initially purchased a convertible RI for an m4.2xlagre after two years you could swap this for a c4.2xlarge for RI for the final year. When converting the value of your RI’s has to remain at least the same - you may not have a 1:1 cost match with your new RI’s so you might need to buy a little bit more each time to ensure that you maintain the value.
If you’d like more information about Reserved Instances from AWS, please feel free to get in touch with one of our Cloud experts here.