Amazon EC2 Cost Savings at PRM

Gary Bloomer - 5 minute(s) read.

Prospective Risk Management (PRM) has been a valued Managed Services customer since 2016, and iOLAP has become a trusted partner. Three years ago, iOLAP assisted PRM in cost saving solutions that included a 3-year reserved instance purchase for all of their EC2 instances. Prior to this, we had assisted other clients in purchasing reserved instances and reserved database nodes. These purchases were typically 1 year all upfront purchases.
PRM’s request was a far more aggressive 3 year all upfront reserved instance purchase. This required additional considerations and planning to ensure the cost savings was applied for the full 3-year lifecycle. The steps we took included:

System Bake-in time

Extended evaluation of the instance usage was used to determine the process traits of the applications running on the instances. After enough time of consistent running, an in-depth review of the predicted growth was used to size the EC2 instances.

Analyze the best cost savings approach

The goal of the reserved instance purchase was to save money but avoid the trap of going as cheap as possible. Blindly picking the lowest cost option was not going to deliver the best results over the 3-year duration. Some decisions made, such as selectively purchasing convertible reserved instances, gave us the cost savings coupled with the ability to adapt the instances as needed.

Review the plan

The reserved instance purchase plan went through a series of reviews at iOLAP followed by knowledgeable individuals at PRM and their parent company. AWS consulting was also contacted to evaluate the systems and compare their results with the purchase plan. This helped to ensure agreement on all sides before the final purchase.

Once the purchase was made, there were a few months without recurring EC2 spend. However, business demands gradually brought in additional EC2 costs. For example, a core application was reaching the end of its maintenance support and needed to be upgraded. The upgrade lifecycle created additional on-demand EC2s with their related costs for a few months during the testing and rollout. This highlighted one of the shortcomings of the reserved instance because the purchase is for a fixed number of monthly runtime hours for a specific size and type. The additional instances used during application update could not take advantage of the special pricing.
About 6 months prior to the end of the 3-year period, iOLAP and PRM began reviewing the cost and performance of the existing reserved instances and started planning the next cost saving purchase. Part of the discussion included changing from reserved instances to a recently released AWS savings plan program.

The savings plan is offered in 2 varieties. One is an EC2-only plan which prepays for the cost of EC2 instances of a particular type. However, unlike the reserved instance, the EC2 savings plan covers all instances sizes with the same type in a single savings plan. This allows flexibility to grow and shrink EC2s as needed without worrying about keeping the reserved instance in sync. The EC2 savings plan will also cover additional EC2 instances as they are needed. The only caveat is there is no convertible type capability as in the reserved instance, so changing an EC2 from a general type to an optimized type will remove its usage from the savings plan.
The second type of savings plan is a compute savings plan and allows the prepayment of compute resources including Lambda functions and Fargate as well as EC2 instances. This can offer expanded savings capability beyond EC2 services to allow savings on many types of serverless processing. Also, the EC2 compute savings plan is not limited to a particular instance type, so changing from a general type to an optimized type will continue to be covered in the savings plan.

For PRM, the evaluation and purchase of the savings plan was a little more involved than the reserved instance. AWS provides an estimator that reviews historical usage of the EC2 instances, and if nothing is being changed, the estimator can help deliver an accurate purchase price. However, the instances at PRM needed to be updated and resized, so there was no accurate history for the estimator. In this case, manual cost calculations were needed.

To perform the manual cost calculation and purchase, we used the EC2 savings price calculator page at https://aws.amazon.com/savingsplans/pricing/.

On this page we chose the table for Compute Savings Plans for Amazon EC2, and set the options on the page. This rate was used to calculate the expected cost per EC2 instance for a side by side comparison against the on-demand and reserved instance costs. For the purchase, we added all the applicable saving plan rates, and that value was used for the savings plan purchase.
One item that must be considered before purchasing a savings plan, all savings plans are enterprise wide. This can be detrimental to departments of large organizations with centralized billing for the entire company. A savings plan purchase tailored for a department has the potential to be used by other EC2s and compute services in any of the company’s other AWS accounts. This can make the advantages of a savings plan unusable when purchased at the department level.
However, iOLAP’s Consolidated Billing Offering can help with this. It can be tailored to help limit the savings plan usage to a select group of AWS accounts to meet the demands of the department. PRM selected to use the iOLAP Consolidated Billing Offering along with a compute savings plan purchase. This gives PRM additional cost savings and additional value through support savings, trusted advisor services, cost optimization reviews, and more.