AWS Cost Optimization — Reserved instances EC2
A reserved instance subscription means that for a pre-decided commitment period (from 1 to 3 years), your EC2 instances of the specified settings will receive a discounted pricing rate. The discounts can range from 27% to 72%, depending on the selected options.
The need for better pricing models for longer-term workloads is why AWS launched reserved instances in 2009 because building a cost-optimized environment on AWS is a massive challenge given the diverse pricing models and various pricing optimization methods available with the AWS System.
The on-demand pricing model is a step up in pricing for resources which promotes only paying for resources needed and giving flexibility in hardware provisioning requirements. However, long-term workloads that are guaranteed to run 24×7 for years as part of stable, infrequently changing workloads on-demand will be pricier than an on-premises data centre when in reality it does not have to be at all.
AWS Reserved Instance options:
No two organizations are alike, and because of different workloads and requirements, no two reserved instance offerings are the same.
Luckily AWS provides multiple options to customize Reserved Instance offerings, some options that can help you pick and use what works best for your company:
INSTANCE TYPE: A blend of size and family of instance, ideal for varying production compute types when the instance running your batch processes will not change for a long time. Instance type allows you to select your long-term instance types and go for a discount for those targeted instances.
REGION: the region where the instance is bought. Does a production instance cluster run in the US near your organisation but have development teams in Europe? Not a problem; specify the region at the time of purchase, and the discounts will only be applied to instances in that specific region.
TENANCY: Organizations can have different requirements for EC2 provisioning. While organizations can deploy most workloads on a VM hosted on a shared hardware machine, Some workloads need their dedicated instance. Luckily Reserved instances have you covered with both options supported on the platform.
PLATFORM: Both Windows and Linux-based workloads are supported on Reserved instances.
AWS offers reserved instances in two different variants, Standard and Convertible. Standard RI’s are the most cost-optimized approach, with discounts of 70% and above; however, once you opt for a standard RI offering, you are stuck with that instance type and specification for the entire duration. This “gotcha” means that deciding to go for a standard RI must be taken seriously.
Convertible RI’s, in comparison offer lower discounts (around 45%) however, they offer significant flexibility in setting up instance types.
For convertible RI’s, the offerings are grouped based on compute power, and it’s easy to convert from one instance type to another.
For example, an organization goes through a development cycle for a year and purchases a reserved instance plan for one year for four t2.micro instances, however, the development phase ends within six months.
Under the Standard RI’s clause, the organization would still be billed for the four t2.micro instances, but, with convertible instances, the organization could easily convert the four t2.micro instances into two t2.mediums or a much more production-ready m5.medium which can complement the shift from the development environment to production without affecting the cost discount or causing unwanted charges for instance types that are no longer required.
So, how do you get started with setting up Reserved instances? Due to the long-term cost and higher time frame of cost commitment, it is wise to spend the maximum time with the development, operations, and management teams to understand requirements.
It would be counterintuitive to opt for a larger than required Reserved instance fleet which would defeat the purpose of cost saving by committing to pay a fixed amount for a year or more which may not be needed.
Once you decide on a number, head over to the EC2 tab and click reserved instances.
If you already have Reserved instances purchased, they will be shown here. Click the purchase now button to open up the console. Here you can choose from the options mentioned above, i.e any reserved instances that fit your requirement.
For my use case, I went with an m5.large with no upfront option
As you can see there are some offerings from AWS (with unlimited capacity since AWS is the provider), and you can also see 3rd party offering, these are users that have leveraged the option to sell reserved instance capacity previously purchased on the AWS marketplace.
There is no difference in performance or availability since they behave identically to an EC2 provisioned by AWS, they are however available for different time periods and prices.
The third-party Reserved Instances are available for shorter durations than the 36-month maximum but have a better premium available. So, if you are looking for a short-term Reserved instance commitment, Third-party offerings can be a worthwhile investment.
Whatever you end up selecting, Reserved instances are the best way to secure a much-needed boost to attain cost optimization for your applications and software running long-term on AWS. By leveraging AWS’s pay-as-you-go model with their volume discount offer, you get to enjoy building on the cloud while leveraging significant discounts and reduced pricing.