

# Viewing Amazon ECS services on Fargate recommendations
<a name="view-ecs-recommendations"></a>

AWS Compute Optimizer generates recommendations for Amazon ECS services on Fargate. These recommendations are displayed on the following pages of the Compute Optimizer console.

The **Recommendations for Amazon ECS services on Fargate** page lists the following information for each of your ECS services:
+ Finding classifications
+ Finding reasons
+ Estimated monthly savings
+ Savings opportunity
+ Current performance risk

The recommendations from Compute Optimizer are listed next to each of your Amazon ECS services. The information that's provided includes the recommended CPU and memory size within an Amazon ECS service, the hourly price for the selected purchasing option, and the price difference between your current Amazon ECS service and the service with Compute Optimizer's recommended configurations. This information can help you decide if you up-size or down-size your Amazon ECS services on Fargate. For more information about how to view your recommendations for Amazon ECS services on Fargate, see [Accessing ECS service recommendations and details](ecs-view-recommendations.md).

**Note**  
The recommendations are refreshed daily and they can take up to 24 hours to generate. Keep in mind that Compute Optimizer requires 24 hours of metrics in the past 14 days to generate recommendations for Amazon ECS service on Fargate. For more information, see [Requirements for Amazon ECS services on Fargate](requirements.md#requirements-ecs-fargate).

The **Amazon ECS service details** page provides the following information for your Amazon ECS service:
+ Your current Amazon ECS service task size settings and Compute Optimizer's recommended task size settings. Use the table to compare your current task settings, such as CPU size, memory size, and pricing details, with Compute Optimizer recommendations.
+ Your current container size settings and Compute Optimizer's recommended container size settings. Use the table to compare your current container settings, such as CPU size, memory size, and memory reserved, with Compute Optimizer recommendations.
+ Use the utilization graphs to compare your current Amazon ECS service CPU and memory utilization metrics with Compute Optimizer’s recommendation. The graphs show visually the impact of these recommendations.

For more information about how to view the details for your Amazon ECS service on Fargate, see [Accessing ECS service details page](ecs-view-recommendations.md#ecs-viewing-details).

**Topics**
+ [Finding classifications](#ecs-recommendations-findings)
+ [Finding reasons](#ecs-finding-reasons)
+ [Estimated monthly savings and savings opportunity](#ecs-savings-calculation)
+ [Current performance risk](#ecs-current-performance-risk)
+ [Compare current settings with recommended task size](#ecs-task-table)
+ [Compare current settings with recommended container size](#ecs-container-table)
+ [Utilization graphs](#ecs-utilization-graphs)
+ [Accessing ECS service recommendations and details](ecs-view-recommendations.md)

## Finding classifications
<a name="ecs-recommendations-findings"></a>

The **Findings** column on the **Recommendations for Amazon ECS services on Fargate** page provides a summary of how each of your services performed during the analysis period.

The following findings classifications apply to Amazon ECS services on Fargate.


| Classification | Description | 
| --- | --- | 
|  Under-provisioned  |  When Compute Optimizer detects that there’s not enough memory or CPU, an Amazon ECS service is considered under-provisioned. Compute Optimizer displays a finding reason of **CPU under-provisioned** or **Memory under-provisioned**. An under-provisioned Amazon ECS service might result in poor application performance.  | 
|  Over-provisioned  |  When Compute Optimizer detects that there’s excessive memory or CPU, an Amazon ECS service is considered over-provisioned. Compute Optimizer displays a finding reason of **CPU over-provisioned** or ** Memory over-provisioned**. An over-provisioned Amazon ECS service might result in additional infrastructure costs.  | 
|  Optimized  |  When both the CPU and memory of your Amazon ECS service meet the performance requirements of your workload, the service is considered optimized.  | 

For more information about under-provisioned and over-provisioned Amazon ECS services on Fargate, see [Finding reasons](#ecs-finding-reasons) in the [Viewing Amazon ECS services on Fargate recommendations](#view-ecs-recommendations) topic.

## Finding reasons
<a name="ecs-finding-reasons"></a>

The **Finding reasons** column on the **Recommendations for Amazon ECS services on Fargate** page shows which specification of an Amazon ECS service on Fargate is under-provisioned or over-provisioned.

The following finding reasons apply to Amazon ECS services on Fargate.


| Finding reason | Description | 
| --- | --- | 
|  CPU over-provisioned  |  The ECS service CPU configuration can be sized down while still meeting the performance requirements of your workload. This is identified by analyzing the `CPUUtilization` metric of the current service during the look-back period.  | 
|  CPU under-provisioned  |  The ECS service CPU configuration can be sized up to enhance the performance of your workload. This is identified by analyzing the `CPUUtilization` metric of the current service during the look-back period.  | 
|  Memory over-provisioned  |  The ECS service memory configuration can be sized down while still meeting the performance requirements of your workload. This is identified by analyzing the `MemoryUtilization` metric of the current service during the look-back period.  | 
|  Memory under-provisioned  |  The ECS service memory configuration can be sized up to enhance the performance of your workload. This is identified by analyzing the `MemoryUtilization` metric of the current service during the look-back period.  | 

For more information about these metrics, see [Amazon ECS CloudWatch metrics](https://docs.aws.amazon.com//AmazonECS/latest/userguide/cloudwatch-metrics.html) in the *Amazon ECS User Guide for AWS Fargate*.

## Estimated monthly savings and savings opportunity
<a name="ecs-savings-calculation"></a>

**Estimated monthly savings (after discounts)**

This column lists the approximate monthly cost savings that you experience after you adjust the configurations of your Amazon ECS service on Fargate to the recommended configurations under the Savings Plans pricing model. To receive recommendations with Savings Plans discounts, the savings estimation mode preference needs to be activated. For more information, see [Savings estimation mode](https://docs.aws.amazon.com/compute-optimizer/latest/ug/savings-estimation-mode).

**Note**  
If you don't activate the savings estimation mode preference, this column displays the default On-Demand pricing discount information.

**Estimated monthly savings (On-Demand)**

This column lists the approximate monthly cost savings that you experience after you adjust the configurations of your Amazon ECS service on Fargate to the recommended configurations under the On-Demand pricing model. 

**Savings opportunity (%)**

This column lists the percentage difference between the price of the current ECS service on Fargate and the price of the service with the recommended configurations. If savings estimation mode is activated, Compute Optimizer analyzes the Savings Plans pricing discounts to generate the savings opportunity percentage. If savings estimation mode isn’t activated, Compute Optimizer only uses On-Demand pricing information. For more information, see [Savings estimation mode](https://docs.aws.amazon.com/compute-optimizer/latest/ug/savings-estimation-mode).

**Important**  
If you enable Cost Optimization Hub in AWS Cost Explorer, Compute Optimizer uses Cost Optimization Hub data, which includes your specific pricing discounts, to generate your recommendations. If Cost Optimization Hub isn't enabled, Compute Optimizer uses Cost Explorer data and On-Demand pricing information to generate your recommendations. For more information, see [Enabling Cost Explorer](https://docs.aws.amazon.com/cost-management/latest/userguide/ce-enable.html) and [ Cost Optimization Hub](https://docs.aws.amazon.com/cost-management/latest/userguide/cost-optimization-hub.html) in the in the *AWS Cost Management User Guide*.

### Estimated monthly savings calculation
<a name="ecs-estimated-monthly-savings-calculation"></a>

For each recommendation, Compute Optimizer calculates the cost to operate a new Amazon ECS service on Fargate by using the recommended service specifications. Estimated monthly savings are calculated based on the estimated monthly running time of the current Amazon ECS service. The savings are also based on the difference in rates between the current Amazon ECS service and the service with the recommended configurations.

**Note**  
 To calculate the estimated monthly running time of your Amazon ECS services on Fargate, Compute Optimizer analyzes your utilization data over the past 14 days. Then, Compute Optimizer uses the analysis results to estimate your monthly usage. 

The estimated monthly savings for Amazon ECS services that are displayed on the Compute Optimizer dashboard is a sum of the estimated monthly savings for all over-provisioned services in the account.

## Current performance risk
<a name="ecs-current-performance-risk"></a>

The **Current performance risk** column on the **Recommendations for Amazon ECS services on Fargate** page defines how likely each current Amazon ECS service doesn’t meet workload resource needs. The values for current performance risk are Very low, Low, Medium, and High. 

A very low performance risk means that the current Amazon ECS service is predicted to consistently provide enough capability. A high performance risk is likely due to high CPU or memory utilization. If your Amazon ECS service is always running at capacity, it increases the chances of your service suffering from higher latency or lower performance. Compute Optimizer’s recommendations provides you with enough capacity to run your workloads efficiently. 

## Compare current settings with recommended task size
<a name="ecs-task-table"></a>

On the **Amazon ECS service details** page, compare the current Amazon ECS service task size with Compute Optimizer's recommended task size for your resources. Savings and performance risk information for your Amazon ECS service is also provided in the table. The following table provides a description for each column section in the console.


| Column | Description | 
| --- | --- | 
|  CPU size  |  The CPU size of the current Amazon ECS service tasks and Compute Optimizer's recommended CPU size configurations.  | 
|  Memory size  |  The memory size of the current Amazon ECS service tasks and Compute Optimizer's recommended memory size configurations.  | 
|  Pricing details  |  The On-Demand price of the current Amazon ECS service on Fargate and Compute Optimizer's recommended configurations. For more information, see [AWS Fargate Pricing](https://aws.amazon.com/../fargate/pricing/).  | 
|  Estimated monthly savings  |  The approximate monthly cost savings after you adjust the configurations of your Amazon ECS service to Compute Optimizer's recommended configurations. For more information, see [Estimated monthly savings and savings opportunity](#ecs-savings-calculation).  | 
|  Savings opportunity (%)  |  The percentage difference between the price of your current Amazon ECS service and the price of the service with Compute Optimizer's recommended configurations. For more information, see [Estimated monthly savings and savings opportunity](#ecs-savings-calculation).  | 
|  Price difference  |  The difference between the public pricing of the current Amazon ECS service on Fargate and the service with Compute Optimizer's recommended configurations. For more information, see [AWS Fargate Pricing](https://aws.amazon.com/../fargate/pricing/).  | 
|  Performance risk  |  This defines how likely your current Amazon ECS service and Compute Optimizer's recommendation doesn’t meet workload resource needs. The values for performance risk are Very low, Low, Medium, and High. For more information, see [Current performance risk](#ecs-current-performance-risk).   | 
|  Auto Scaling configuration  |  The Auto Scaling configuration of your current Amazon ECS service and Compute Optimizer's recommended task size. If your service has a step scaling policy or a target tracking policy on both CPU and memory, Compute Optimizer can’t generate any Auto Scaling recommendations.  If a target tracking policy is on the service’s CPU only, Compute Optimizer only generates memory size recommendations. Or, if a target tracking policy is on the service’s memory only, Compute Optimizer only generates CPU size recommendations.  For more information about step scaling and target scaling policies, see [ Step scaling policies for Application Auto Scaling](https://docs.aws.amazon.com//autoscaling/application/userguide/application-auto-scaling-step-scaling-policies.html) and [ Target tracking scaling policies for Application Auto Scaling](https://docs.aws.amazon.com//autoscaling/application/userguide/application-auto-scaling-target-tracking.html) in the *Application Auto Scaling User Guide*.  | 

## Compare current settings with recommended container size
<a name="ecs-container-table"></a>

On the **Amazon ECS service details** page, compare the current Amazon ECS service container size with the recommended container size options. The table provides your current and Compute Optimizer’s recommended CPU size, memory size, and memory reserved configurations. Compute Optimizer generates container-level recommendations that are compatible with the recommended task size. 

**Note**  
Compute Optimizer only provides container size setting recommendations for when container size settings need to adjust to fit within an Amazon ECS service task. For example, suppose that Compute Optimizer recommends downsizing a task size. Then, Compute Optimizer provides container-level setting recommendations to make sure that the task size and container size settings are compatible with each other. 

## Utilization graphs
<a name="ecs-utilization-graphs"></a>

The **Amazon ECS service details** page displays utilization metric graphs for your Amazon ECS services on Fargate and Compute Optimizer recommendations. The graphs display the current and recommended CPU and memory data for the analysis period. Compute Optimizer uses the maximum utilization point within each one-minute time interval to generate recommendations ECS services on Fargate.

The solid blue line is the utilization of your current service. If you used the recommendations during the analysis period, the green line is the projected upper bound value and the grey line is the projected lower bound value.

**Note**  
The utilization values of an Amazon ECS service can vary based on the infrastructure Fargate uses. Compute Optimizer provides a utilization range to help you consider all possible operating conditions.

You can change the graphs to display data for the last 24 hours, 3 days, 1 week, or 2 weeks. You can also change the statistic of the graphs between average and maximum.

The following utilization graphs are displayed on the details page.


| Graph name | Description | 
| --- | --- | 
|  CPU utilization (percent)  |  The percentage of CPU capacity that's used in the service. The graph compares the CPU utilization data of your current Amazon ECS service with the service when the recommended configurations are applied. The comparison shows you what the CPU utilization is if you configured your CPU to the recommended settings during the analysis period. This comparison shows if the recommended Amazon ECS service settings are within your workload's performance threshold.  | 
|  Memory utilization (percent)  |  The percentage of memory that's used in the service. The graph compares the memory utilization data of your current Amazon ECS service with the service when the recommended configurations are applied. The comparison shows you what the memory utilization is if you configured your memory to the recommended settings during the analysis period. This comparison shows if the recommended Amazon ECS service settings are within your workload's performance threshold.  | 

# Accessing ECS service recommendations and details
<a name="ecs-view-recommendations"></a>

You can use one of the following procedures to access either the **Recommendations for Amazon ECS services on Fargate** or the **Amazon ECS service details** pages in the AWS Console.

On the **Recommendations for Amazon ECS services on Fargate** page you can view the recommendations for your current services. On the **Amazon ECS service details** page you can view the details of a specific service and its recommendations.

## Procedures
<a name="ecs-view-process"></a>

### Accessing ECS service recommendations page
<a name="ecs-viewing-recommendations-process"></a>

**To access the ECS service recommendations page**

1. Open the Compute Optimizer console at [https://console.aws.amazon.com/compute-optimizer/](https://console.aws.amazon.com/compute-optimizer/).

1. In the navigation pane, choose **ECS services on Fargate**.
**Note**  
The current services listed are from the AWS Region that's currently selected in the selected account.

1. You can perform the following actions on the recommendations page:
   + Filter recommendations by AWS Regions, Findings, or Finding reasons. To do this, first select the **Filter by one or more properties** text box. Then, choose the property and a value in the dropdown list that appears.
   + Filter your recommendations by tags. To do this, select the **Tag key** or **Tag value** text box. Then, enter the key or value you want to filter your ECS service recommendations by.

     For example, to find all recommendations that have a tag with the key of `Owner` and the value of `TeamA`, specify `tag:Owner` for the filter name and `TeamA` for the filter value.
   + View recommendations for services in another account. To do this, choose **Account**, and then select a different account ID.
**Note**  
If you're signed in to a management account of an organization and trusted access with Compute Optimizer is enabled, you can view recommendations for resources in other accounts. For more information, see [Accounts supported by Compute Optimizer](getting-started.md#supported-accounts) and [Trusted access for AWS Organizations](security-iam.md#trusted-service-access).
   + Clear the selected filters. To do this, choose **Clear filters** next to the filter.

### Accessing ECS service details page
<a name="ecs-viewing-details"></a>

**To access the ECS service details page**

1. Open the Compute Optimizer console at [https://console.aws.amazon.com/compute-optimizer/](https://console.aws.amazon.com/compute-optimizer/).

1. In the navigation pane, choose **ECS services on Fargate**.

1. Select the service name you want to view detailed information for. Then, choose **View details**.

1. You can perform the following actions on the details page:
   + On the utilization graphs, you can hover over the graph to see exact values on specific dates over the analysis period. 
   + To change the time range of the graphs, choose **Time Range**, and then choose **Last 24 hours**, **Last 3 days**, **Last week**, or **Last 2 weeks**.

     Choosing a shorter time range displays the data points at a higher granularity, which provides a higher level of detail.
   + To change the statistic value of the graphs, choose **Statistics**, and then choose **Average** or **Maximum**.

     You can use this option to determine the typical Amazon ECS service utilization of your workload over time. To view the highest value observed during the specified period, change the selection to **Maximum**. This way, you can determine the peak service usage of your workload over time.