AWS Compute Optimizer
Cloud service · AWS · Updated

AWS Compute Optimizer

In short

AWS Compute Optimizer is a service that provides recommendations to optimize Amazon Web Services compute resources for performance and cost by analyzing historical utilization metrics.

Cloud Services Hub →

7 key features of AWS Compute Optimizer

AWS Compute Optimizer provides machine learning-powered recommendations to enhance resource efficiency and reduce costs across multiple AWS services by analyzing historical utilization data and offering customizable optimization strategies.

01
Enhanced Resource Efficiency

AWS Compute Optimizer analyzes the configuration and utilization metrics of your AWS resources to offer recommendations that could lead to more cost-effective and efficient resource use.

02
Machine Learning Powered

Utilizes machine learning to understand the historical utilization metrics of resources, ensuring that recommendations are based on comprehensive usage patterns and trends.

03
Support for Multiple Resource Types

Provides optimization recommendations for a variety of AWS resources, including Amazon EC2 instances, Amazon EBS volumes, AWS Lambda functions, and Auto Scaling groups.

04
Cost Reduction Opportunities

Helps identify opportunities to lower your AWS bill by recommending changes to resources that are under-utilized or improperly sized.

05
Customizable Recommendations

Allows customization of recommendations based on your specific needs and preferences, including adjusting lookback periods, CPU and memory utilization headroom, and CPU utilization thresholds.

06
Idle Resource Detection

Identifies idle AWS resources.

07
Utilization History and Projections

Provides graphs of recent utilization history and projected utilization for recommendations to help evaluate price-performance trade-offs.

Where AWS Compute Optimizer is used

AWS Compute Optimizer provides recommendations for right-sizing compute resources, choosing optimal instance types, optimizing AWS Lambda functions, enhancing Auto Scaling groups, and overall cost optimization through better resource allocation, leveraging machine learning to improve performance and reduce costs.

  1. 01
    Right-Sizing Compute Resources

    AWS Compute Optimizer assesses the configuration and utilization metrics of your existing compute resources, such as Amazon EC2 instances, Auto Scaling groups, Lambda functions, and EBS volumes. By leveraging machine learning, it provides recommendations to right-size your resources to optimize performance and reduce costs without compromising on capacity or throughput.

  2. 02
    Choosing Optimal Instance Types for Workloads

    When planning new deployments or optimizing existing ones, AWS Compute Optimizer suggests optimal Amazon EC2 instance types that align better with your workload requirements. This ensures that your applications run efficiently by matching them with instances that offer the right mix of compute, memory, and networking capabilities, thereby improving performance and potentially reducing costs.

  3. 03
    Optimizing AWS Lambda Function Memory Configuration

    For AWS Lambda functions, the Compute Optimizer analyzes execution metrics to recommend memory configurations that can lead to lower latency and cost. By tuning the memory size of your Lambda functions based on these recommendations, you can achieve a balance between performance and cost-effectiveness.

  4. 04
    Enhancing Auto Scaling Groups

    AWS Compute Optimizer analyzes EC2 Auto Scaling groups and tailors instance recommendations to their scaling policies and instance type configurations. Groups without automatic scaling receive instance type and size recommendations; groups with active scaling policies receive newer-generation recommendations and, when memory metrics are enabled, memory downsizing recommendations. Groups running multiple instance types receive mixed-instance-type recommendations.

  5. 05
    Cost Optimization via Better Resource Allocation

    By analyzing your current resource utilization and comparing it against its extensive database of performance metrics, AWS Compute Optimizer identifies opportunities for cost savings. It suggests changes to your resource allocation that can reduce waste, such as downsizing underutilized resources or switching to newer, more cost-effective options.

How AWS Compute Optimizer is priced

AWS Compute Optimizer provides a free tier with optional costs stemming from associated AWS services usage.

AWS Compute Optimizer Free Tier

AWS Compute Optimizer offers a free tier that includes recommendations for instances across Amazon EC2, Auto Scaling groups, Amazon EBS, and Lambda functions, accessible at no additional cost.

Enhanced infrastructure metrics

Enhanced infrastructure metrics costs $0.0003360215 per resource per running hour, approximately $0.25 for a resource running continuously in a 31-day month. EC2 Auto Scaling groups are charged per running EC2 instance. AWS resource usage and Amazon CloudWatch monitoring fees also apply.

Services AWS Compute Optimizer works with

Amazon EC2Amazon EC2

AWS Compute Optimizer analyzes your Amazon EC2 instances' configuration and utilization data to provide optimization recommendations for better performance and cost efficiency.

Amazon AuroraAmazon Aurora

AWS Compute Optimizer analyzes supported Aurora database instances and cluster storage to generate optimization recommendations based on configuration and utilization metrics.

Amazon CloudWatchAmazon CloudWatch

AWS Compute Optimizer reads CloudWatch utilization metrics to identify idle and incorrectly sized resources. Memory metrics collected by the CloudWatch agent can improve EC2 rightsizing recommendations, while CloudWatch Application Insights supplies data used for SQL Server license recommendations.

Amazon DynamoDBAmazon DynamoDB

AWS Compute Optimizer analyzes supported DynamoDB tables for idle-resource recommendations, helping identify unused tables that may be candidates for deletion.

Amazon EC2 Auto ScalingAmazon EC2 Auto Scaling

AWS Compute Optimizer analyzes the configuration and utilization of EC2 Auto Scaling groups and recommends suitable EC2 instance types. It considers group scaling settings when evaluating opportunities to improve price-performance.

Amazon Elastic Block Store (Amazon EBS)Amazon Elastic Block Store (Amazon EBS)

AWS Compute Optimizer analyzes EBS volume utilization and recommends changes to volume type, capacity, IOPS, and throughput where supported. Compute Optimizer Automation can also apply supported EBS optimization actions.

Amazon Elastic Container Service (Amazon ECS)Amazon Elastic Container Service (Amazon ECS)

AWS Compute Optimizer analyzes ECS services running on Fargate and recommends task-level CPU and memory settings. These recommendations help rightsize services whose allocated resources do not match their observed usage.

Amazon ElastiCacheAmazon ElastiCache

AWS Compute Optimizer identifies supported idle ElastiCache resources, helping you find cache capacity that may no longer be serving a workload.

Amazon EventBridgeAmazon EventBridge

AWS Compute Optimizer Automation sends events to EventBridge so you can monitor automation activity and route matching events to notification or remediation targets.

What is AWS Compute Optimizer

2 min read

AWS Compute Optimizer is a cloud-based service offered by Amazon Web Services that leverages machine learning to provide recommendations for optimizing AWS resources. It primarily focuses on enhancing performance and reducing costs across multiple AWS services, including Amazon EC2 instances, Amazon EBS volumes, AWS Lambda functions, and Auto Scaling groups. This optimization tool is designed to help users navigate the complexity of the AWS ecosystem's myriad of options, ensuring that they are utilizing the most efficient and cost-effective resources for their specific applications and workloads. 

The core functionality of AWS Compute Optimizer revolves around analyzing the configuration and utilization metrics of a user's AWS resources. By employing machine learning models, it assesses historical usage patterns and compares them against the extensive AWS database of resource performance across various workloads. This in-depth analysis allows Compute Optimizer to identify mismatches between a user's current resource allocation and the optimal configurations for their needs. For instance, it can suggest changing to a different EC2 instance type that may offer the same performance at a lower cost or enhancing performance with a different instance type for a marginally higher expense. 

For workloads with quarterly utilization patterns, enhanced infrastructure metrics extends the utilization history analyzed from the default 14 days to up to three months. You can enable this feature at the organization, account, or resource level for EC2 instances, EC2 Auto Scaling groups, and RDS DB instances.

One of the primary benefits of using AWS Compute Optimizer is its potential to significantly reduce AWS costs. By aligning resources more closely with actual usage requirements, organizations can avoid overprovisioning and paying for unutilized capacity. Additionally, for performance-sensitive applications, Compute Optimizer's recommendations can help improve efficiency and user experience by suggesting resources that better match the demand patterns of the application. The service offers an intuitive and user-friendly interface, making it accessible for both technical and non-technical stakeholders to understand and act upon its recommendations. Users can view detailed explanations for each recommendation, including projected cost savings and performance impacts, enabling informed decision-making. 

Furthermore, AWS Compute Optimizer integrates seamlessly with other AWS services and management tools, allowing for streamlined workflow processes. This integration facilitates easy adoption and implementation of its recommendations, with some optimizations being actionable directly through the AWS Management Console. 

The console and APIs provide findings and recommendations across multiple AWS Regions. You can also view findings and recommendations across multiple accounts by opting in the management account of an organization.

In conclusion, AWS Compute Optimizer stands out as an essential tool for AWS users aiming to fine-tune their cloud infrastructure. Its ability to provide precise, data-driven recommendations embodies the shift towards more intelligent and autonomous cloud management practices. Whether the goal is to save on costs, boost performance, or both, Compute Optimizer delivers valuable insights that empower users to make the most out of their AWS investments.

Concepts related to AWS Compute Optimizer

AWS architecture icons are the property of Amazon Web Services. BlowStack is not affiliated with or endorsed by AWS.