In December, AWS announced a new service called AWS Compute Optimizer that provides recommendations with the goal of properly sizing EC2 virtual machines.

Rightsizing is one of AWS’s listed five pillars of cost optimization, and it’s good to see AWS following the trend of cloud providers making it easier for customers to optimize for cost and performance.

Actually, this is not the first “rightsizing tool” they’ve promoted. Early last year they pushed what was essentially a collection of Python scripts in the AWS Solutions Portal called “AWS Right Sizing”.

As cloud cost optimizers here at ParkMyCloud, rightsizing is high on the list of optimization strategies we focus on.

The ParkMyCloud platform offers rightsizing recommendations and actions, along with two other cost optimization pillars: “Increase Elasticity” through scheduled shutdown of idle resources, and “Measure, monitor, and improve” through cost and savings reports and an RBAC-enabled user portal.

Let’s take a look at what the AWS Compute Optimizer offers, and how it compares to ParkMyCloud’s rightsizing.

Key Takeaways on AWS Compute Optimizer:

  • AWS Compute Optimizer Pricing: It is a free service provided by AWS to help customers optimize their resources for cost and performance.
  • Rightsizing with AWS: Focuses on analyzing EC2 instances to recommend optimal sizes and types, aiming to balance cost savings with performance needs.
  • Comprehensive Recommendations: Offers up to 3 suggestions for EC2 instance types and sizes, including performance risk and cost implications.
  • Performance Analysis: Visualizes potential performance over the past 2 weeks for recommended instance sizes, aiding in decision-making.
  • Manual Implementation: Currently lacks direct action capabilities for applying rightsizing recommendations, requiring manual adjustments by users.
  • Machine Learning Analysis: Utilizes machine learning algorithms to analyze historical utilization metrics for tailored recommendations.
  • Region and Instance Family Support: Initially available in select regions and supports M, C, R, T, and X instance families.
  • Comparison with ParkMyCloud: ParkMyCloud provides a broader range of recommendations across multiple clouds and regions, supports automatic rightsizing actions, and uses a longer data analysis period for more accurate recommendations.
  • Extended Support and Benefits: Beyond EC2, AWS Compute Optimizer also offers insights for EBS volumes, Auto Scaling groups, and Lambda functions, aiming to enhance overall system performance and reduce costs.

What is AWS Compute Optimizer: A Quick Overview

The AWS Compute Optimizer service generates size change recommendations based on your existing EC2 servers, including those that are in Auto Scaling groups.

Each EC2 virtual machine can get up to 3 recommendations for different families and sizes that you could choose, along with the performance risk and costs associated with each option.

While you are browsing the options, the interface will show you what the performance would have looked like over the past 2 weeks if you were running on the selected instance size instead of the current instance size, which is nice for analyzing the options against your organization’s risk profile.

However, there is no direct way to take the Rightsizing action, so you must go and adjust the instance settings manually.

How Does It Work?

The AWS Compute Optimizer uses machine learning algorithms to analyze historical utilization metrics and configurations of your AWS resources.

It then compares this data against hundreds of thousands of AWS usage patterns to identify the most efficient and cost-effective resources for your workloads.

Aws Compute Optimizer Price

AWS Compute Optimizer is free of charge and available on all AWS accounts regardless of support level.

You do have to choose to opt-in to use the service before recommendations will be made.

A major limiting factor is the region availability. Currently, AWS Compute Optimizer is available in:

  • US East (N. Virginia);
  • US East (Ohio);
  • US West (Oregon);
  • EU (Ireland);
  • South America (Sao Paulo).

Plus, it supports the M, C, R, T and X instance families.

It uses only the past 2 weeks’ worth of Cloudwatch data to generate recommendations, which is a small window that may result in odd recommendations if those two weeks include any anomalies.

If your EC2 instances line up with this subset of instance types and regions, then the AWS Compute Optimizer can provide some suggestions for cost savings. However, if your needs are a little more aerse or robust, read on.

EC2 Instance Types

Amazon EC2 (Elastic Compute Cloud) provides scalable computing capacity in the Amazon Web Services (AWS) cloud. EC2 instances come in various types optimized for different purposes. These types include:

  • General Purpose: Balanced CPU, memory, and networking resources (e.g., T4g, M6g).
  • Compute Optimized: Ideal for compute-bound applications that benefit from high-performance processors (e.g., C6g, C6gn).
  • Memory Optimized: Designed for workloads that require high memory bandwidth (e.g., R6g, X1).
  • Storage Optimized: Suited for workloads that require high, sequential read and write access to very large data sets on local storage (e.g., D3, H1).
  • Accelerated Computing: Equipped with GPUs or other hardware accelerators for graphics processing or data pattern matching (e.g., P4, G4dn).

Supported Resources and Requirements

As of the latest update, AWS Compute Optimizer supports several AWS resources, including:

  • EC2 Instances: Provides recommendations for instance type and size.
  • EBS Volumes: Recommends optimal EBS volume configurations.
  • Auto Scaling Groups: Suggests optimal configurations for Auto Scaling groups.
  • Lambda Functions: Offers insights into function memory sizing and performance.

The Key Benefits of AWS Compute Optimizer

AWS Compute Optimizer is a service that analyzes the configuration and utilization metrics of your AWS resources, such as EC2 instances, and offers recommendations to optimize system performance and reduce costs.

Some of its key benefits include:

  1. Cost Savings: By recommending optimal resource types and sizes, it helps reduce costs.
  2. Performance Improvement: Improves performance by identifying optimal EC2 instances and configurations.
  3. Customized Recommendations: Offers recommendations tailored to your workload’s unique characteristics and requirements.
  4. Easy to Use: Provides a simple and intuitive interface for accessing and implementing recommendations.

ParkMyCloud Rightsizing Overview

ParkMyCloud has offered scheduling of idle cloud resources since 2015. Last year we announced a major advancement in the platform’s cost optimization capabilities with the release of Rightsizing.

Similarly to the AWS Compute Optimizer, ParkMyCloud’s Rightsizing capabilities offer up to 3 recommendations for different sizes that your instances could be based on Cloudwatch data. Additionally, ParkMyCloud’s Rightsizing can:

  • ParkMyCloud is multi-cloud, multi-account, and multi-region in a single pane of glass, so you can view recommendations across all of your cloud accounts in one place (including all AWS regions, not just the ones listed above and Azure and Google Clouds)
  • ParkMyCloud can take the Rightsizing action for you once you accept a recommendation, including scheduling that resize action for a future time (such as during a maintenance window).
  • ParkMyCloud’s recommendations are based on data from a period of up to 24 weeks, providing a much more robust recommendation compared to the 2-week data set imposed by Cloudwatch.
  • ParkMyCloud makes recommendations for and resizes RDS databases, including Aurora instances. RDS databases have an average cost of 75% higher than EC2 instances, which means this is a significant opportunity for cost savings.
  • All AWS instance sizes are supported, not just M/C/R/T/X
  • Users can reject a recommendation and give an explanation, so administrators know why actions weren’t taken.
  • Savings from Rightsizing (and parking) are tracked and reported in ParkMyCloud, so you can show management or the CFO just how much money you’re saving the company.

To summarize:

Optimize Your Rightsizing

The AWS Compute Optimizer is a great feature that AWS is offering for free to its cloud users, but the limitations and inability to take direct action from the recommendations makes it less useful for serious cost optimization.