Q: What is AWS Compute Optimizer?
AWS Compute Optimizer helps you identify the optimal AWS resource configurations, such as Amazon EC2 instance types, Amazon EBS volume configurations, and AWS Lambda function memory sizes, using machine learning to analyze historical utilization metrics. AWS Compute Optimizer provides a set of APIs and a console experience to help you reduce costs and increase workload performance by recommending the optimal AWS resources for your AWS workloads.
Q: What can I do with AWS Compute Optimizer?
AWS Compute Optimizer delivers intuitive and easily actionable AWS resource recommendations to help you quickly identify optimal AWS resources for your workloads without requiring specialized expertise or investing substantial time and money. The AWS Compute Optimizer console provides you with a global, cross-account view of all resources analyzed by AWS Compute Optimizer and recommendations so that you can quickly identify the most impactful optimization opportunities.
Q: How can I get started with AWS Compute Optimizer?
To sign up for AWS Compute Optimizer, go to the AWS Compute Optimizer console and click “opt in”. You must have an Amazon Web Services account to access this service. Once you opt in, AWS Compute Optimizer immediately starts analyzing your AWS resources and starts delivering recommendations. When you first opt in AWS Compute Optimizer, it may take up to 12 hours to fully analyze the AWS resources in your account.
Q: What data does AWS Compute Optimizer use for my recommendations?
When you opt in AWS Compute Optimizer, you authorize the service to use AWS resource configuration data and CloudWatch metrics. This data is required because AWS Compute Optimizer needs to identify the resources to assess, and it needs sufficient metrics history before it makes recommendations.
Q: When should I use AWS Compute Optimizer EC2 instance type recommendations and when should I use AWS Cost Explorer EC2 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, RI and Savings Plans) 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.
Q: How many recommended options does AWS Compute Optimizer deliver for each AWS resource?
AWS Compute Optimizer delivers up to 3 recommended options for each AWS resource analyzed.
Q: Does AWS Compute Optimizer deliver recommendations for all AWS resources?
AWS Compute Optimizer delivers recommendations for selected types of EC2 instances, EC2 Auto Scaling groups, EBS volumes, and Lambda functions.
Q: How much data does AWS Compute Optimizer analyze to generate recommendations?
AWS Compute Optimizer analyzes metrics from the past 14 days to generate recommendations.
EC2 instance recommendations
Q: What types of EC2 instance recommendations does AWS Compute Optimizer support?
AWS 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 AWS Compute Optimizer use for my EC2 instance recommendations?
AWS 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 AWS Compute Optimizer analyze my EC2 instance memory metrics?
If you use CloudWatch agent to publish memory utilization, AWS 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, AWS Compute Optimizer will attempt to avoid making a recommendation that downsizes that dimension.
Q: How does AWS Compute Optimizer determine performance risk for recommended EC2 instance options?
Performance risk indicates the likelihood of the instance type not meeting the resources 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, network throughput, and network 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. The performance risk of the recommended instance is calculated as the maximum performance risk score across the analyzed resource specifications.
Q: How does AWS Compute Optimizer help me to understand recommended EC2 instance options?
AWS 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. AWS 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 AWS Compute Optimizer consider EC2 instance pricing information when delivering recommendations?
After AWS Compute Optimizer identifies a list of optimal AWS 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. AWS 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 AWS Compute Optimizer support?
AWS 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, or X instance families. At this time Compute Optimizer does not support Auto Scaling groups configured with mixed instances policy.
Q: What data does AWS Compute Optimizer use for my auto scaling group recommendations?
AWS Compute Optimizer needs at least 30 hours of metrics before it makes recommendations for auto scaling groups. AWS 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 AWS Compute Optimizer support?
AWS 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 AWS Compute Optimizer use for my EBS volume recommendations?
AWS Compute Optimizer needs at least 30 consecutive hours of metrics before it makes recommendations for EBS volumes. AWS Compute Optimizer analyzes default CloudWatch metrics for EBS volumes, such as IOPS and throughput metrics.
Q: How does AWS 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 AWS Compute Optimizer consider EBS volume pricing information when delivering recommendations?
After AWS 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.
AWS 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?
AWS 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.
AWS service integration
Q: Does AWS Compute Optimizer integrate with AWS Organizations?
Yes, AWS Compute Optimizer integrates with AWS 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.