Explore CloudZero
Discover the power of cloud cost intelligence.
Give engineering a cloud cost coach.
Learn more about CloudZero's pricing.
Request a demo to see CloudZero in action.
Learn more about CloudZero and who we are.
Got questions? We have answers.
Speak with our Cloud Cost Analysts and get the answers you need.
Get in touchEnable engineering to make cost-aware development decisions.
Give finance the context they need to make informed decisions.
Decentralize cloud cost and mature your FinOps program.
Measure, monitor, and optimize cloud spend on AWS.
Combine cloud cost intelligence from AWS and Snowflake.
Discover the best cloud cost optimization content in the industry.
Gauge the health and maturity level of your cost management and optimization efforts.
Browse helpful webinars, ebooks, and other useful resources.
Learn how we’ve helped happy customers like SeatGeek, Drift, Remitly, and more.
Compute Optimizer helps customers find the right AWS resources to meet their application performance needs. Here’s how it works.
Rightsizing resources can optimize application performance and lower costs in the AWS. Contrary, over-provisioning AWS resources leads to unused capacity, which increases costs and cloud waste.
Consider this. Even if you don't use Amazon Elastic Compute Cloud (EC2) instances, the service still charges you per second or per hour that they remain active.
However, under-provisioning resources can negatively affect your application performance, resulting in poor customer experiences. This could lead to a higher churn rate as customers seek better service from your competition.
So, how does AWS Compute Optimizer help in this regard?
Table Of Contents
AWS Compute Optimizer is an AWS service that helps AWS customers to optimize resource configuration and utilization in order to ensure optimal performance and cost-efficiency.
It uses machine learning (ML) to analyze historical utilization and configuration data. Then it generates recommendations for maximizing value without spending extra based on that data. AWS Compute Optimizer then reports to you whether your resources are over-provisioned, under-provisioned, or optimized.
AWS Compute Optimizer provides analyses and optimization recommendations for four AWS services:
Here's how it really works.
You must opt into using AWS Compute Optimizer. You can enable this in the Compute Optimizer console, which you can access from the AWS Compute Optimizer page.
Once you opt-in, the tool will use AWS CloudWatch metrics to infer configuration and resource consumption metrics. However, Compute Optimizer will only have read-only access (service-linked role), so it cannot change your CloudWatch metrics.
Next, AWS Compute Optimizer begins to analyze your AWS resources. Note that you need to run your organization's metric data on the cloud for 30-60 continuous hours in order to generate recommendations. You can think of this as the minimum threshold for accurate recommendations.
Depending on how many AWS resources you have, the tool may take up to 12 hours to complete the analysis. You need to have invoked AWS Lambda at least 50 times in the previous 14 days for Compute Optimizer to generate AWS Lambda optimization recommendations.
From AWS CloudWatch, AWS Compute Optimizer collects metrics on virtual CPU, memory, storage, network in/out, disk read/write, volume read/write, and other metrics on currently running instances. As a further option, you can install the AWS CloudWatch Agent to collect additional Compute Optimizer metrics like operating system memory (at extra cost).
By default, the service collects historical metrics from the last 14 days of utilization. They also set it to collect data in five-minute increments. If you want, you can decrease that to every minute. You can also extend the analysis period from 14 days to three months using Enhanced infrastructure metrics. Each of these extras is charged separately.
To help right-size your workloads, Compute Optimizer provides up to three EC2 instance options, multiple EBS volume selections, and various Lambda function configuration choices.
Compute Optimizer also estimates and reports what vCPU usage, memory utilization, and workload runtime would be if you use the recommended AWS resource options. This gives you an idea of how your workload would perform if you implemented the recommended options before you even decide to implement them.
Once you are on the Compute Optimizer dashboard and have your AWS location properly entered, you’ll notice three types of recommendations on display:
Credit: Well Architected Labs
To proceed, you need to click on one of these “statuses”. To review an optimization status, click the radio button on the left. Then go to the View Details tab on the extreme right of the dashboard to view the details — like this:
Credit: Details on over-provisioned EC2 instances on Compute Optimizer - Well-Architected Labs
AWS Compute Optimizer also displays resource utilization graphs, like this:
Credit: Well-Architected Labs
This image does not show usage metrics for the memory utilization graph.
This is because AWS Compute Optimizer does not give recommendations until that instance’s memory utilization is enabled. So, ensure all resources have this enabled in order to receive recommendations on all of them.
Now, here is an example of how AWS Compute Optimizer makes EC2 instance recommendations:
Each option includes a recommendation for a specific instance type, as well as a comparison of the difference in costs and performance that may occur if you implement the recommendations.
Important note: AWS Compute Optimizer provides analyses and recommendations for M, C, R, T, I, D, H, and X families of EC2 instances and Auto Scaling Groups. It does not support similar capabilities for G instance families.
For EBS volumes, Compute optimizer supports Provisioned IOPS (io1 io2) -> IOPS and General Purpose (SSD GP3) -> IOPS and Throughput. For AWS Lambda functions, it provides optimization recommendations on Compute-intensive functions and Over-provisioned memory functions.
In comparison with AWS Cost Explorer and AWS Trusted Advisor, AWS Compute Optimizer provides more detailed configuration and resource utilization information.
Also, Cost Explorer and Trusted Advisor recommendations tend to focus on AWS cost management, while Compute Optimizer optimization recommendations tend to focus on improving system performance without paying too much attention to the cost implications.
Key takeaway: AWS Compute Optimizer helps you view how you can optimize EC2 instances, EBS volumes, Auto Scaling Groups, and AWS Lambda functions. But it does not automatically apply the recommendations.
Instead, you must apply them manually and indirectly. Also, it is ideal for recommending performance optimization rather than optimizing both performance and cost.
You can consider using both of these options together with Compute Optimizer:
ProsperOps empowers you to:
ProsperOps is an official CloudZero partner. Furthermore, it is a founding member of the FinOps Foundation, a FinOps Certified Platform, a 2021 Gartner Cool Vendor in Cloud Computing, and an AWS Advanced Technology Partner.
Learn more about how ProsperOps autonomous savings works here.
With Xosphere Instance Orchestrator, you can run AWS EC2 Spot Instances at the same reliability level as On-Demand instances — but at a fraction of the cost. Xosphere automatically replaces On-Demand instances with the more affordable Spot instances whenever they are available. It does this continuously and seamlessly, moving applications to the right place at the right time to maximize savings, reliability, and availability.
Learn more about how Xosphere works here.
Important note: Using CloudZero's autonomous discount optimization dashboard, you can quickly identify workloads that can benefit from optimization.
With ProsperOps or Xosphere, you can deploy fully managed instance optimization with just one change to an auto-scaling group tag. The result is full visibility into your discounts, along with the assurance that your discounts are managed as efficiently as possible. to see your effective savings rate (ESR) and optimize your AWS discounts. Whether you use custom tools, Cloud provider tools, or third-party solutions, you'll be able to see all your discounts in one place.
The following are some answers to some of the most frequently asked questions about AWS Compute Optimizer.
Yes. AWS Compute Optimizer is free, provided you have an AWS account.
AWS Compute Optimizer provides recommendations for optimizing Amazon EC2 instances, Amazon EBS volumes, AWS Lambda functions, and AWS Auto Scaling Groups.
Besides standalone AWS accounts, the service also supports the Management Account of an organization in AWS and member accounts of the organization.
14 days. But once you activate Enhanced infrastructure metrics (paid feature), you can analyze up to three months of configuration and utilization metrics at the resource, account, or organization levels.
It offers recommendations on both compute-intensive and over-provisioned memory Lambda functions.
AWS Compute Optimizer analyzes configuration and utilization data on Amazon EC2 instances, AWS Lambda functions, Amazon Elastic Block Storage (EBS) volumes, and Auto Scaling Groups.
Visit the AWS Compute Optimizer web page, and if you already have an AWS account, opt into using Compute Optimizer through the Compute Optimizer console or API.
CloudZero is the only solution that enables you to allocate 100% of your spend in hours — so you can align everyone around cost dimensions that matter to your business.