Q: What is AWS Compute Optimizer?
AWS Compute Optimizer helps you identify the optimal AWS resource configurations, such as Amazon Elastic Compute Cloud (EC2) instance types, Amazon Elastic Block Store (EBS) volume configurations, task sizes of Amazon Elastic Container Service (ECS) services on AWS Fargate, commercial software licenses, and AWS Lambda function memory sizes, 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 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 Compute Optimizer console provides you with a global, 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 AWS Compute Optimizer?
To sign up for AWS Compute Optimizer, go to the Compute Optimizer console and click “opt in.” You must have an AWS account to access this service. Once you opt in, Compute Optimizer immediately starts analyzing your AWS resources and starts delivering recommendations. When you first opt in Compute Optimizer, it may take up to 24 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 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 AWS Compute Optimizer use the same recommendation engine. Compute Optimizer 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 (such as 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 (such as memory metrics), and evaluate projected resource utilization and performance risk.
Q: Is AWS Compute Optimizer integrated with Cost Optimization Hub?
AWS Compute Optimizer is integrated with Cost Optimization Hub. After enabling Cost Optimization Hub, you can view estimated monthly savings that incorporate your discounts in Compute Optimizer.
Q: How can I configure AWS Compute Optimizer to ingest metrics from external observability products?
You can use the external metrics ingestion feature to configure AWS Compute Optimizer to ingest EC2 memory utilization metrics from one of the four observability products: Datadog, Dynatrace, Instana, and New Relic. When enabled, Compute Optimizer analyzes your external EC2 memory utilization metrics in addition to your CPU, disk, network, IO, and throughput data to generate EC2 rightsizing recommendations. Recommendations with memory data can help you identify additional savings opportunities and ways to improve application performance.
Q: How can I configure AWS Compute Optimizer to calculate savings based on my discounts?
Savings Estimation Mode allows you to choose whether the estimated savings should consider your specific discounts, such as Reserved Instances and Savings Plans. By default, AWS Compute Optimizer estimates savings with your discounts. You can change Savings Estimation Mode settings to see savings before discounts.
Q: Can AWS Compute Optimizer help me identify the migration effort of recommendations?
AWS Compute Optimizer can identify the effort required to migrate your workloads from x86-based instance types to Arm-based AWS Graviton instances types by inferring the types of applications running on your instances. Inferred Workload Type infers the types of applications that might be running on your AWS resources, such as EC2 instances and Auto Scaling groups, by analyzing the attributes of your resources. These attributes include resource names, tags, utilization characteristics, and configuration. It can infer if your instances are running Amazon EMR, Apache Cassandra, Apache Hadoop, Memcached, NGINX, PostgreSQL, Redis, Kafka, or Microsoft SQL Server.
Q: How can I customize AWS Compute Optimizer’s recommendations to meet my workload requirements?
You can customize Rightsizing recommendation preferences based on your workload requirements to identify additional savings and performance improvement opportunities. You can set different look back periods to ensure that AWS Compute Optimizer captures your recurring workload patterns. You can also set utilization thresholds and headroom for CPU utilization metrics on EC2 instance recommendations. You can create a preferred list of EC2 instance types for EC2 and Auto Scaling group recommendations. Compute Optimizer will only recommend rightsizing your workloads to the instance types specified on the list, helping you meet specific resource guardrails, such as application or business requirements. After saving Rightsizing recommendation preferences, you can expect new rightsizing recommendations generated within 24 hours.
Q: When should I adjust utilization thresholds to customize recommendations?
You can adjust utilization thresholds when you want to change AWS Compute Optimizer’s sensitivity to utilization spikes. For most workloads, transient spikes can occur, going beyond normal usage due to patching or instance restarts. To address this, you can set utilization thresholds, which represent the percentage of time your workload should run under your utilization headroom. If your workloads are less sensitive to spikes, you can decrease the threshold, which can lead to more savings. This allows Compute Optimizer to deliver rightsizing recommendations with the right amount of sensitivity for your performance and savings goals.
Q. When should I adjust utilization headroom to influence recommendations?
You should change the utilization headroom if you have high confidence in your future utilization trends. If you expect higher utilization in the future, or are unsure, you can set a higher headroom. If you are confident your utilization will remain steady, you can safely reduce your headroom.
Q: Will the utilization headroom and utilization threshold values change in the future?
AWS Compute Optimizer may update these numbers to reflect the latest technological updates and maintain recommendation quality. Compute Optimizer may fine-tune your chosen parameters based on your workload characteristics to ensure suitable instance recommendations for you.
Q. When should I define a preferred instance list for EC2 and ASG recommendations?
You should define a preferred instance list when you want to control which instance types and families you want AWS Compute Optimizer to recommend. Defining a preferred instance list won’t prevent Compute Optimizer from generating recommendations for any instances currently excluded from the instance list. If you have specific rightsizing criteria based on instances, Instance Savings Plans, Reservations, burstable instances, CPU provider, or others, this allows you to configure the recommendations to align with your criteria.
Q. Can I apply recommendation preferences to a group of workloads?
If you are an organizational account holder or a delegated administrator, you can set recommendation preferences for your organization and its underlying accounts and regions. If you are an account owner, you can set recommendation preferences for your account and regions. When there are overlapping preferences at the resource, account, or organizational levels, the more granular preference overrides the broader preference. For example, resource-level preferences override account-level preferences, and account-level preferences override organizational preferences.
Q: How many recommended options does AWS Compute Optimizer deliver for each AWS resource?
AWS 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 AWS Lambda functions, one task-level CPU and memory size recommendation for Amazon Elastic Container Service (ECS) services on AWS Fargate. In addition, Compute Optimizer delivers one license recommendation for Microsoft SQL Server edition downgrading.
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, Amazon ECS services on AWS Fargate, Lambda functions, and commercial software licenses.
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 for Amazon Elastic Compute Cloud (EC2) and EC2 Auto-Scaling Groups, but you can change the settings to 32 or 93 days. Compute Optimizer analyzes metrics from the past 14 days to generate recommendations for other resource types.
Q: How do I identify my biggest 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 AWS Fargate, commercial software licenses, and AWS Lambda monthly savings you can achieve at the account level, resource type level, or resource level by adopting AWS 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 AWS 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 AWS Compute Optimizer pricing page for details.
Licensing optimization recommendations
Q: What type of licensing optimization recommendations does AWS Compute Optimizer support?
AWS 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 on AWS, 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 AWS Compute Optimizer generate licensing optimization recommendations for SQL Server on EC2?
AWS 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 AWS Compute Optimizer use to generate license optimization recommendations for SQL Server?
When you opt in AWS Compute Optimizer, you authorize the service to use AWS 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.
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, Z, G, and P instance families. For the full list of supported EC2 instance types, see documentation.
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. EC2 instances need to have accumulative 30 hours of metrics before it can get 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 resource needs for your workload. AWS 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 IOPS, 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. 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 the 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. 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, X, I, D, H, Z, G, and P instance families. At this time Compute Optimizer does not support Auto Scaling groups configured with mixed instances policy. For the full list of supported EC2 instance types, see documentation.
Q: What data does AWS Compute Optimizer use for my Auto Scaling group recommendations?
AWS Compute Optimizer needs at least 30 consecutive 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 AWS Compute Optimizer support?
AWS Compute Optimizer supports General Purpose EBS volumes (gp2/gp3), Provisioned IOPS EBS volumes (io1/io2/io2 BX), and HDD EBS volumes (st1/sc1). Compute Optimizer also provides recommendations for your Magnetic EBS volumes to migrate to current generation EBS 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. 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 that the recommended option does not meet the performance requirements of your workload. The higher the performance risk, 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 AWS Lambda functions does Compute Optimizer support?
AWS Compute Optimizer helps you optimize two categories of Lambda functions. The first category includes Lambda functions that may be overprovisioned 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 runtime. 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 AWS Lambda function recommendations?
AWS Compute Optimizer analyzes 14 days of Lambda function invocation history, including function runtime duration, CPU time used, and memory usage, to deliver recommendations.
Q: Does Compute Optimizer consider AWS Lambda function pricing information when delivering recommendations?
Yes. After AWS Compute Optimizer identifies optimal memory sizes for your Lambda functions, it incorporates public Lambda pricing, expected function runtime, 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 your Lambda cost would have been had you set the memory size of your Lambda function to the recommended option.
Amazon ECS services on AWS Fargate recommendations
Q: What type of recommendations does AWS Compute Optimizer support for Amazon ECS on AWS Fargate?
AWS Compute Optimizer provides task-level CPU and memory size recommendations for Amazon ECS services running on AWS Fargate.
Q: What data does AWS Compute Optimizer use for my Amazon ECS services on AWS Fargate recommendations?
AWS Compute Optimizer needs at least 24 hours of metrics before it makes recommendations for your Amazon ECS services on AWS Fargate. Compute Optimizer analyzes CPU and memory utilization data of Amazon ECS services on AWS Fargate.
Q: How does AWS Compute Optimizer help me understand recommendations for Amazon ECS services on AWS Fargate?
AWS Compute Optimizer projects the would-be CPU and memory utilization of your Amazon ECS services on AWS Fargate had you configure them as recommended, so that you can understand how your workload would have performed on the recommended configurations.
Q: Does AWS Compute Optimizer consider AWS Fargate pricing information when delivering recommendations?
Yes. After Compute Optimizer identifies optimal CPU and memory sizes for your Amazon ECS services on AWS Fargate, it incorporates public AWS 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 AWS Fargate cost would have been had you set the CPU and memory size 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 to see all your recommendations within your organization. In order to use this feature, your organization must have “all features” enabled, and you must log in as the primary account of your organization.