General

Q: What is Amazon Compute Optimizer?

Amazon Compute Optimizer helps you identify the optimal Amazon Web Services resource configurations, such as Amazon EC2 instance types, Amazon EBS volume configurations, Amazon Lambda function memory sizes, task sizes of Amazon Elastic Container Service (ECS) services on Amazon Fargate, using machine learning to analyze historical utilization metrics. Compute Optimizer provides a set of APIs and a console experience to help you reduce costs and increase workload performance by recommending the optimal Amazon Web Services resources for your Amazon Web Services workloads.

Q: What can I do with Amazon Compute Optimizer?

Compute Optimizer delivers intuitive and easily actionable Amazon Web Services resource recommendations to help you quickly identify optimal Amazon Web Services resources for your workloads without requiring specialized expertise or investing substantial time and money. The Compute Optimizer console provides you with a cross-China region, cross-account view of all resources analyzed by Compute Optimizer and recommendations so that you can quickly identify the most impactful optimization opportunities.

Q: How can I get started with Amazon Compute Optimizer?

To sign up for Compute Optimizer, go to the Compute Optimizer console and click “opt in”. You must have an Amazon Web Services account to access this service. Once you opt in, Compute Optimizer immediately starts analyzing your Amazon Web Services resources and starts delivering recommendations. When you first opt in Compute Optimizer, it may take up to 24 hours to fully analyze the Amazon Web Services resources in your account.

Q: What data does Amazon Compute Optimizer use for my recommendations?

When you opt in Compute Optimizer, you authorize the service to use Amazon Web Services resource configuration data and CloudWatch metrics. This data is required because Compute Optimizer needs to identify the resources to assess, and it needs sufficient metrics history before it makes recommendations.

Q: When should I use Amazon Compute Optimizer and when should I use Amazon Cost Explorer Resource Rightsizing Recommendations?

Cost Explorer Resource Rightsizing Recommendations and Compute Optimizer use the same recommendation engine. The Compute Optimizer recommendation engine delivers recommendations to help customers identify optimal EC2 instance types for their workloads. The Cost Explorer console and API surfaces a subset of these recommendations that may lead to cost savings, and augments them with customer-specific cost and savings information (e.g. billing information, available credits, and RI) to help Cost Management owners quickly identify savings opportunities through infrastructure rightsizing. Compute Optimizer console and its API delivers all recommendations regardless of the cost implications. Engineering teams can use Compute Optimizer to evaluate price-performance trade-off for their workloads, receive recommendations that incorporate additional data (e.g. memory metrics), and evaluate projected resource utilization and performance risk.

Recommendations

Q: How many recommended options does Compute Optimizer deliver for each Amazon Web Services resource?

Compute Optimizer delivers up to three resource recommended options for Amazon Elastic Compute Cloud (EC2), Amazon Elastic Block Store (EBS), and EC2 Auto Scaling groups. Compute Optimizer delivers one memory size recommendation for Amazon Lambda functions, and it provides one task-level CPU and memory size recommendation for Amazon Elastic Container Service (ECS) services on Amazon Fargate. In addition, Compute Optimizer delivers one license recommendation for Microsoft SQL Server edition downgrading.

Q: Does Amazon Compute Optimizer deliver recommendations for all Amazon Web Services resources?

Compute Optimizer delivers recommendations for selected types of EC2 instances, EC2 auto scaling groups, EBS volumes, Lambda functions, ECS services on Fargate, and commercial software licenses.

Q: How much data does Compute Optimizer analyze to generate recommendations?

Compute Optimizer analyzes metrics from the past 14 days to generate recommendations.

Q: How do I identify top cost savings and performance improvement opportunities?

You can quickly identify and prioritize top optimization opportunities through two new sets of dashboard-level metrics: savings opportunity and performance improvement opportunity.

Savings opportunity metrics quantify the Amazon EC2, Amazon EBS, Amazon ECS services on Amazon Fargate, and Amazon Lambda monthly savings you can achieve at the account level, resource type level, or resource level by adopting Compute Optimizer recommendations. You can use these metrics to evaluate and prioritize cost efficiency opportunities, as well as monitor your cost efficiency over time. Performance improvement opportunity metrics quantify the percentage and number of underprovisioned resources at the account level and resource type level. You can use these metrics to evaluate and prioritize performance improvement opportunities that address resource bottleneck risks.

Q: What is enhanced infrastructure metrics?

Enhanced infrastructure metrics is a paid Compute Optimizer feature for EC2 instances that improves recommendation accuracy and relevance for workloads with monthly or quarterly utilization patterns. Upon activation of the feature, Compute Optimizer automatically ingests and analyzes up to six times more utilization metrics history than the default Compute Optimizer option (up to three months of history compared to 14 days). You can activate the feature at the organization, account, or resource level via the Compute Optimizer console or API for all existing and newly created EC2 instances and Auto Scaling groups.

Q: How much do enhanced infrastructure metrics cost?

Visit the Compute Optimizer pricing page for details.

EC2 instance recommendations

Q: What types of EC2 instance recommendations does Compute Optimizer support?

Compute Optimizer supports EC2 instance type and size recommendations for standalone EC2 instances of M, C, R, T, X, I, D, H, and z instance families.

Q: What data does Compute Optimizer use for my EC2 instance recommendations?

Compute Optimizer analyzes default CloudWatch metrics, such as CPU utilization, network packets per second, local storage throughput, and local storage IOPS when generating EC2 instance type recommendations.

Q: Does Compute Optimizer analyze my EC2 instance memory metrics?

If you use CloudWatch agent to publish memory utilization, Compute Optimizer automatically analyzes memory metrics published by the CloudWatch Agent in the “CWAgent” namespace.

Q: What happens if I don’t have memory metrics available for my EC2 instances?

If metrics for a hardware resource, such as memory, are not available, Compute Optimizer will attempt to avoid making a recommendation that downsizes that dimension.

Q: How does Compute Optimizer determine performance risk for recommended EC2 instance options?

Performance risk indicates the likelihood of the instance type not meeting the resource needs for your workload. Compute Optimizer calculates an individual performance risk score for each resource dimension of the recommended instance, including CPU, memory, EBS throughput, EBS IOPS, disk throughput, disk throughput, network throughput, and network packets per second (PPS). For each resource dimension, the performance risk score is computed as the proportion of time over the historical lookback period where capacity may be constrained in the given resource dimension.

Q: How does Compute Optimizer help me to understand recommended EC2 instance options?

Compute Optimizer projects the would-be CPU and memory utilization of your EC2 instance had you used the recommended option, so that you can understand how your workload would have performed on the recommended options. Compute Optimizer also lists the configuration differences between the current instance and the recommended instance type, so you can understand the updates you may need to apply to migrate your workloads from current instance to the recommended instance type.

Q: Does Compute Optimizer consider EC2 instance pricing information when delivering recommendations?

After Compute Optimizer identifies a list of optimal Amazon Web Services resources for your workload, it incorporates a variety of pricing dimensions, such as on-demand pricing, along with expected performance risk to rank the recommendations. Compute Optimizer does not consider transient pricing factors, such as spot pricing.

Auto scaling group recommendations

Q: What types of Auto Scaling group recommendations does Compute Optimizer support?

Compute Optimizer provides EC2 instance type and size recommendations for EC2 Auto Scaling groups with a fixed group size, meaning desired, minimum, and maximum are all set to the same value and have no scaling policy attached. Additionally, all Auto Scaling group member instances must be of type M, C, R, T, X, I, D, H, and z instance families. At this time Compute Optimizer does not support Auto Scaling groups configured with mixed instances policy.

Q: What data does Compute Optimizer use for my auto scaling group recommendations?

Compute Optimizer needs at least 30 hours of metrics before it makes recommendations for auto scaling groups. Compute Optimizer analyzes default CloudWatch metrics of each member EC2 instances, such as CPU utilization and network I/O metrics, as well as auto scaling group configuration, such as scaling policy and associated launch template.

EBS volume recommendations

Q: What types of EBS volume recommendations does Compute Optimizer support?

Compute Optimizer supports IOPS and throughput recommendations for General Purpose (SSD) (gp3) volumes and IOPS recommendations for Provisioned IOPS (io1 and io2) volumes.

Q: What data does Compute Optimizer use for my EBS volume recommendations?

Compute Optimizer needs at least 30 consecutive hours of metrics before it makes recommendations for EBS volumes. Compute Optimizer analyzes default CloudWatch metrics for EBS volumes, such as IOPS and throughput metrics.

Q: How does Compute Optimizer determine performance risk for recommended EBS volume options?

Performance risk indicates the likelihood of the recommended option does not meet the performance requirements of your workload. The higher the performance risk is, the more effort you may need to spend to validate whether the recommended EBS volume configuration meets the performance requirements of your workload.

Q: Does Compute Optimizer consider EBS volume pricing information when delivering recommendations?

After Compute Optimizer identifies a list of optimal EBS volume configurations for your workload, it incorporates public EBS pricing, along with expected performance risk, to rank the recommendations.

Amazon Lambda function recommendations

Q: What kind of Lambda functions do Compute Optimizer support?

Compute Optimizer helps you optimize two categories of Lambda functions. The first category includes Lambda functions that may be over-provisioned in memory sizes. You may consider downsizing the memory sizes of these functions to save costs. The second category includes compute-intensive Lambda functions that may benefit from additional CPU power. You may consider increasing their memory sizes to trigger an equivalent increase in CPU available to these functions and reduce execution time. For functions that do not fall under any of these categories, Compute Optimizer does not deliver recommendations for them.

Q: What data does Compute Optimizer use for my Lambda function recommendations?

Compute Optimizer analyzes 14 days of Lambda function invocation history, including function execution duration, CPU time used, and memory usage, to deliver recommendations.

Q: Does Compute Optimizer consider Lambda function pricing information when delivering recommendations?

Yes. After Compute Optimizer identifies optimal memory sizes for your Lambda functions, it incorporates public Lambda pricing, expected function execution time, and number of function invocations over the past 14 days to calculate a “would-be” cost number. You can use this number to understand what would have been your Lambda cost had you set the memory size of your Lambda function to the recommended option.

Amazon ECS services on Amazon Fargate recommendations

Q: What type of recommendations does ACO support for Amazon ECS on Amazon Fargate?

Compute Optimizer provides task-level CPU and memory size recommendations for Amazon ECS services running on Amazon Fargate.

Q: What data does Compute Optimizer use for my Amazon ECS services on Amazon Fargate recommendations?

Compute Optimizer needs at least 24 hours of metrics before it makes recommendations for your Amazon ECS services on Amazon Fargate. Compute Optimizer analyzes CPU and memory utilization data of Amazon ECS services on Amazon Fargate.

Q: How does Compute Optimizer help me understand recommendations for Amazon ECS services on Amazon Fargate?

Amazon Compute Optimizer projects the would-be CPU and memory utilization of your Amazon ECS services on Amazon Fargate had you configure them as recommended, so that you can understand how your workload would have performed on the recommended configurations.

Q: Does Compute Optimizer consider Amazon Fargate pricing information when delivering recommendations?

Yes. After Compute Optimizer identifies optimal CPU and memory sizes for your Amazon ECS services on Amazon Fargate, it incorporates public Amazon Fargate pricing, new CPU and memory configurations, and runtime history over the past 14 days to calculate a “would-be” cost. You can use this information to understand what your Amazon ECS services on Amazon Fargate cost would have been had you set the CPU and memory size to the recommended option.  

Amazon Web Services service integration

Q: Does Compute Optimizer integrate with Amazon Organizations?

Yes, Compute Optimizer integrates with Amazon Organizations to allow you see all your recommendations within your organization. In order to use this feature, your organization must have “all features” enabled, and you must login as the master account of your organization.

Licensing optimization recommendations

Q: What type of licensing optimization recommendations does Compute Optimizer support?

Compute Optimizer generates edition downgrading recommendations for SQL Server running on EC2. when you are not using any enterprise-only features or there is a viable alternative in Standard edition, you can downgrade from Enterprise to Standard to save up to 73% of SQL Server license cost. To receive the recommendation, customers need to enable agent-based CloudWatch Application Insights and grant it read-only access with database credentials. This license recommendation covers both your EC2 SQL Server license included (LI) and bring-your-own-license (BYOL) instances. In addition, you can optimize your licensing cost through EC2 instances rightsizing recommendations since SQL Server is licensed per CPU core only. Less vCPUs means less SQL Server license cost.

Q: How does Compute Optimizer generate licensing optimization recommendations for SQL Server on EC2?

Compute Optimizer analyzes your current configurations such as SQL Server edition, licensing options, and specific database level features you are using. Based on the analysis, it determines whether your SQL Server instances are optimized. Lastly, it generates recommendations based the pre-defined optimization criteria and then makes recommendations available in console or through APIs.

Q: What data does Compute Optimizer use to generate license optimization recommendations for SQL Server?

When you opt in Compute Optimizer, you authorize the service to use Amazon Web Services service configuration data and CloudWatch Application Insights metrics. For SQL Server, the data includes edition, licensing options, and SQL Server feature configurations tracked by CloudWatch Application Insights.