By Imran Bashir, Ph.D.
Chief Technical Officer, Cloud Computing and
Vice President, Emerging Technologies
As customers’ needs evolve, new practices and technologies emerge to support those needs. Over the last decade, cloud computing has become a prevalent technology to help customers with business agility, cost savings, innovation, speed to market, and operational efficiencies. While migrating to cloud is the first important step, leveraging the true benefits of cloud requires continual optimization—continually finding the best ways to take full advantage of a cloud environment.
With our deep expertise and experience with a diverse set of customers, ECS has developed specific frameworks to optimize the use of cloud from multiple perspectives including cost, security, fault tolerance, and performance. This article addresses the cost optimization aspect of cloud computing. Of the multiple techniques available, one of the key cost-saving mechanisms is the use of reserved instances (RIs).
Reserved instances allow a customer to purchase reserve compute/database (DB) capacity at a lower cost for a specific amount of time. There is a set of rules that govern the use and purchase of RIs, but we won’t go into those details here. Instead, we will outline the framework that ECS uses to identify and recommend the set of RIs to be purchased for a specific customer and the associated Amazon Web Services (AWS) accounts.
RI Analysis Framework
The ECS RI Analysis Framework can be divided into four major phases as shown in Figure 1: RI data collection, RI analysis and validation, RI purchase execution, and RI utilization and optimization. Each of these phases—along with the detailed process and associated activities for each phase—is described below.
Phase 1: RI Data Collection
This phase starts with the identification of all AWS accounts for which an RI analysis is conducted. From a billing standpoint, AWS accounts are organized in a single depth of hierarchy. This means that there is a single master account, and all other AWS accounts are “linked” to the master account for billing consolidation. The master account is then responsible for all charges accrued by the customer’s various AWS linked accounts. During this step, we collect detailed billing data from the master account, as well any tagging information that will help in breaking AWS services usage data down by these tags. (See “Phase 2” for examples of tags.)
Phase 2: RI Analysis and Validation
During the analysis phases, we run the billing data through our in-house-developed RI analysis algorithm to come up with a set of recommendations for each type of reservation and each reservation period. Please note that at this time, the reservation term can only be for 12 months or 36 months.
We also look at the billing data to analyze how AWS services are being utilized by each tag type. For a customer, the tags could identify individual departments, applications, environments etc. This usage helps us determine how well any current RI purchases are being utilized, as well as the usage pattern of AWS services by each account/application etc.
Leveraging the current usage pattern, and results of RI analysis, we validate the usage and recommend a set of RIs to be purchased for each AWS account or customer application. The outcome of this phase is a set of recommended RIs to be purchased that has been validated with individual product teams.
Some of the guiding principles used during this phase are as follows:
- The AWS usage pattern is relatively stable and no significant changes are expected during the term of the reservation.
- Leverage reusable and general purpose instance size/family so that a standard set of instances is used across the organization.
- Instance usage is above a minimum threshold, typically of 60%.
- AWS Cost Explorer provides a set of RI purchase recommendations, so make sure to compare your RI purchase with AWS’ recommendations.
Phase 3: RI Purchase Execution
Once the recommended RI purchase has been validated with individual application teams, the final numbers are reviewed with the customer financial and cloud management team for final approval. Once approved, the order is executed either by ECS, or submitted to the AWS Operations team for bulk RI purchase. Once the order is executed, we confirm that the correct RIs have been purchased.
Phase 4: RI Utilization and Optimization
Once the RIs have been purchased, we monitor the usage of these RIs by looking at the billing data and RI utilization reports. Typically, we will allow one month of RI utilization prior to going back to Phase 1 and starting the complete cycle again. Any discrepancies found during our analysis are brought to the application teams and adjustments made accordingly.
For cost optimization, ECS leverages its RI Analysis Framework to continually assess a customer’s use of AWS services and recommend ways to optimize cost. With this RI Analysis Framework, ECS has helped multiple federal, state, and commercial customers to save millions of dollars per month as compared to on-demand cost.