Amazon Web Services (AWS) offers three different ways to pay for EC2 Instances: On-Demand, Reserved Instances, and Spot Instances. This article will focus on effective strategies for purchasing Reserved Instances. While most of the major cloud platforms offer pre-pay and reservation discounts on compute instances, I’ll be using the AWS terminology and context. Whether you are using Amazon, Azure, or Google Cloud Platform, these recommended strategies have proven effective for purchasing Reserved Instances.
This article assumes you know at least a little about Reserved Instances and the pricing options for EC2 that Amazon offers. If not, be sure to check out the AWS documentation and the summary in this excellent blog post.
Amazon makes several services eligible for Reserved Instance purchases: EC2, RDS, Elasticsearch, Elasticache, DynamoDB, and Redshift. I’ll focus on EC2 Instances, but most of the information is universal. Since these strategies are in a loose order of execution, they are adjustable given your context.
To effectively purchase Reserved Instances, there can be a lot to consider (and to do) before putting together your final order. But it’s worth it given the dollar investment involved and the potential savings for your organization. Here are some best practices for purchasing Reserved Instances.
- Engage the key players deploying workloads in the cloud
- Engage the stakeholders who will approve your purchase
- Run resource utilization reports and right-size analysis
- Update instance families where possible
- Choose payment options
- Decide which accounts to make the purchase under
- Start conservatively
- Give visibility and educate
- Actively manage as a process
- Engage your AWS Technical Account Manager
Engage the Key Players
Get to know the key folks in your organization who are deploying workloads in the cloud. These could be cloud ops or DevOps team members. Be sure to also identify the technical leads or architects for the products. They are usually the closest to the product architectures and can help inform you on related technology roadmap decisions. Take your Reserved Instance plans to them for validation — you don’t want to find out they’re going serverless next month after you’ve bought a bunch of Reserved Instances for them. The team is the best source for learning scaling (or de-scaling) plans, instance family changes, and other key data points. You definitely want the warm fuzzies from them before pulling the trigger on any purchases on their behalf.
Engage the Stakeholders
Now that you know the technology decision makers, make sure to identify and engage the stakeholders who will approve your purchase: finance, CTO/CIO, your boss, and other key partners. It’s easy to get lost in the technical details of an Reserved Instance purchase, make sure to keep your presentations at the appropriate level and context. In the end, you’re proposing a strategy to save money and control costs that provide some easy ROI data points: don’t over complicate it.
Run Utilization Reports and Right-Size Analysis
Run your resource utilization reports and identify EC2 Instances that can be downsized, terminated, modernized, or put on automated start-stop schedules. Your organization, as a matter of best practice, should be performing right-sizing analysis and adjustments on a regular basis. This will yield cost savings even with On-Demand pricing, and you’ll want to make sure you are caught up with your right sizing so you aren’t overspending on underutilized resources or buying unnecessary reservations. An Amazon Trusted Advisor can help with this to a certain degree, and there’s a healthy market of effective third-party tools that can automate and streamline your right-sizing process. Some established examples are CloudHealth, Cloudability, and CloudCheckr — and there are dozens more to choose from. The best approach is to identify and define your organization’s needs and evaluate a couple with the features you are looking for. Any of them will save you lots of time by helping you avoid very tedious and complicated analysis.
Update Instance Families Where Possible
Check the instance families your product teams are using. It’s important to look for previous generation families in use and determine if it’s possible to replace them with more updated versions. In addition to performance gains and feature availability, the newer families are usually slightly cheaper. Also, it can help to do some analysis to make sure the right instance types are being used for the workload — with considerations for favoring compute, memory, I/O, etc. Detailed utilization analysis can help determine any necessary instance type changes and make your reservation purchases more effective. If you’re experiencing or anticipating a lot of change in instance types, the convertible option might be best. You’ll sacrifice a few discount points, in exchange for reducing the risk of being stuck with unused Reserved Instances.
Choose Payment Options
Decide on payment options for your reserved instances. AWS offers three approaches to paying for Reserved Instances: all upfront, partial upfront, and no upfront. The all upfront option provides the steepest discount, but it’s usually only 1% or 2% better than the partial upfront. No upfront (essentially just reserving an instance for 1 to 3 years) offers the smallest discount, usually about a 5% difference from the other two options. Between payment options, term length, and reservation type, you can range anywhere from 30% to 60% in savings. Use the AWS Cost Explorer Reserved Instance Recommendation tool in your account console to easily tinker with the options and see their impact on discounts.
Decide Which Accounts to Make the Purchase Under
For consolidated accounts (a group of accounts linked to a master payer account), you’ll want to decide which accounts to purchase the reservations. Consolidated accounts offer a great feature: reservations can float between accounts. This means if the account the reservation was purchased in can’t use the reservation, it can float to another account so the reservation won’t go unused! Given this, some organizations like the simplicity of purchasing all the Reserved Instances in the payer account and letting them float where needed. As a personal preference, I like purchasing within the individual linked accounts, so the reservations will get used first where intended (although that can be a cumbersome purchase). This can help with budget reporting and other detailed cost analysis within the accounts. Note: If you make your purchases in the payer account, you can turn off Reserved Instance discount sharing for specific linked accounts.
Don’t go for 100% coverage right out of the gate. It might be more comfortable for all involved to make a solid purchase initially — say, 50-70% coverage, depending on your situation. You can also reduce risk by choosing the convertible option for your reservations. And then you can (and should) setup a regular cadence for updating your analysis, buying more, and modifying or converting existing Reserved Instances.
Give Visibility and Educate
Give attention to visibility and education. Success making technology decisions depends on an informed organization. Providing visibility into your cloud performance and cost metrics can help get teams invested in making the right choices. An important part of any cloud optimization strategy also includes evangelism and education. Folks at all levels will be less likely to “buy-in” to complicated decisions that don’t have obvious connections to an organization’s goals. Sure, the information is all over the internet, but it’s a lot more effective to give it structure and shepherd it along in your organization. That’s also a great way to build partnerships invested in the success of your cloud strategies. A solid training platform (like the one hosting this blog) is also super effective for providing curated information to all organizational role types.
Actively Manage Your Reserved Instances as a Process
The Reserved Instance purchase is not the end. Once you’ve got your Reserved Instances in place, remember to build reviewing and modifying them into your process to reduce the risk of them going unused. Over time, you’ll also need to track, prepare and react to Reserved Instances whose terms are expiring.
Leverage AWS Resources
Engage your AWS Technical Account Manager(s). Have your AWS support team provide you with recommendations independent of your own. They’ve got team members dedicated to this craft and can help with all aspects of the analysis and purchase. This is a great sanity check against your own analysis and can help you avoid missing opportunities or making costly mistakes.
In summary, purchasing Reserved Instances can be complicated no matter the size of your organization’s cloud footprint. Start simple, take the time to understand the foundational concepts, and partner with the key stakeholders in your organization. Working with your teams on right-sizing and modernizing activities as an integrated, routine process will make coming up with effective recommendations for Reserved Instance purchases much easier and less stressful.
Cloud Migration Risks & Benefits
If you’re like most businesses, you already have at least one workload running in the cloud. However, that doesn’t mean that cloud migration is right for everyone. While cloud environments are generally scalable, reliable, and highly available, those won’t be the only considerations dri...
Real-Time Application Monitoring with Amazon Kinesis
Amazon Kinesis is a real-time data streaming service that makes it easy to collect, process, and analyze data so you can get quick insights and react as fast as possible to new information. With Amazon Kinesis you can ingest real-time data such as application logs, website clickstre...
Google Cloud Functions vs. AWS Lambda: The Fight for Serverless Cloud Domination
Serverless computing: What is it and why is it important? A quick background The general concept of serverless computing was introduced to the market by Amazon Web Services (AWS) around 2014 with the release of AWS Lambda. As we know, cloud computing has made it possible for users to ...
Google Vision vs. Amazon Rekognition: A Vendor-Neutral Comparison
Google Cloud Vision and Amazon Rekognition offer a broad spectrum of solutions, some of which are comparable in terms of functional details, quality, performance, and costs. This post is a fact-based comparative analysis on Google Vision vs. Amazon Rekognition and will focus on the tech...
New on Cloud Academy: CISSP, AWS, Azure, & DevOps Labs, Python for Beginners, and more…
As Hurricane Dorian intensifies, it looks like Floridians across the entire state might have to hunker down for another big one. If you've gone through a hurricane, you know that preparing for one is no joke. You'll need a survival kit with plenty of water, flashlights, batteries, and n...
Amazon Route 53: Why You Should Consider DNS Migration
What Amazon Route 53 brings to the DNS table Amazon Route 53 is a highly available and scalable Domain Name System (DNS) service offered by AWS. It is named by the TCP or UDP port 53, which is where DNS server requests are addressed. Like any DNS service, Route 53 handles domain regist...
How to Unlock Complimentary Access to Cloud Academy
Are you looking to get trained or certified on AWS, Azure, Google Cloud Platform, DevOps, Cloud Security, Python, Java, or another technical skill? Then you'll want to mark your calendars for August 23, 2019. Starting Friday at 12:00 a.m. PDT (3:00 a.m. EDT), Cloud Academy is offering c...
What Exactly Is a Cloud Architect and How Do You Become One?
One of the buzzwords surrounding the cloud that I'm sure you've heard is "Cloud Architect." In this article, I will outline my understanding of what a cloud architect does and I'll analyze the skills and certifications necessary to become one. I will also list some of the types of jobs ...
Boto: Using Python to Automate AWS Services
Boto allows you to write scripts to automate things like starting AWS EC2 instances Boto is a Python package that provides programmatic connectivity to Amazon Web Services (AWS). AWS offers a range of services for dynamically scaling servers including the core compute service, Elastic...
Content Roadmap: AZ-500, ITIL 4, MS-100, Google Cloud Associate Engineer, and More
Last month, Cloud Academy joined forces with QA, the UK’s largest B2B skills provider, and it put us in an excellent position to solve a massive skills gap problem. As a result of this collaboration, you will see our training library grow with additions from QA’s massive catalog of 500+...
DevSecOps: How to Secure DevOps Environments
Security has been a friction point when discussing DevOps. This stems from the assumption that DevOps teams move too fast to handle security concerns. This makes sense if Information Security (InfoSec) is separate from the DevOps value stream, or if development velocity exceeds the band...
Test Your Cloud Knowledge on AWS, Azure, or Google Cloud Platform
Cloud skills are in demand | In today's digital era, employers are constantly seeking skilled professionals with working knowledge of AWS, Azure, and Google Cloud Platform. According to the 2019 Trends in Cloud Transformation report by 451 Research: Business and IT transformations re...