Working with Auto Scaling Groups

Working with Auto Scaling Groups

#380460

The Auto Scaling Groups (ASG) tab displays optimization opportunities for AWS Auto Scaling groups discovered through CloudWatch data collection. Optimization opportunities include group sizing and instance type recommendations based on predictive workload analytics.

To learn more watch the following video:

When working with ASGs note the following:

  • EC2 instances that belong to an ASG are logically treated as part of the ASG service entity and recommendations are made for the group and not for the individual instances.
  • Auto Scaling groups configured with maximum group size = 1, are only included in the EC2 tab. ASGs configured with maximum group size > 1, are included in the Auto Scaling Groups tab.
  • If an ASG is associated with an ECS or EKS service, the Densify analysis requires additional information to ensure the ASG can satisfy all of the container reservation requests. Additional data should be collected by deploying the Densify container data forwarder into this cluster. Contact [email protected] for details.
  • ASGs configured to use the 'Combined Purchasing Options and Instance Types' feature will have an attached policy that defines the mix of instance types on which the ASG can run. Densify cannot analyze these ASGs. However, an ASG with a mixed policy attached, can still be configured to run on one instance type. These ASGs can be analyzed.
  • If memory data is not available for ASGs, memory utilization of the parent ECS or EKS service will be used and if that data is also not available, the backfill memory settings will be used for the analysis. See ASG Backfilling Memory.

The ASG optimization opportunity report is divided into two sections: 

  • The tabular report in the upper pane, shows details of the ASGs and their recommendations.
  • Tabs in the lower pane display the selected ASG's predicted scaling activity and resource utilization details. A third tab shows the effort required to implement the recommendations.

Data Controls

The controls, in the upper right corner of the page, provide options for managing and viewing your data more effectively.

Watch the video for an overview of the data management features:

Icon

Description


Allows you to search for any type of data in the displayed columns. i.e. for a specific account or ASG. Typically, you will search for items in the first column, but you can search for a value in any column.

Click the icon and enter your search string. All matching rows are displayed in the table. You must enter a string of alpha-numeric characters. Wildcards are not supported.

If there are multiple pages, all pages are searched for the matching string.

Click this icon to export the content of the currently displayed table to .CSV format.


Click this icon to configure the table to display only the columns of interest. The default settings are re-applied when you navigate away from this page.

If there are more than 30 rows in this table, multiple pages will be indicated here. Click the right/left arrows to move to the next/previous page of a multi-page report.

You will see a vertical scroll bar if all 30 rows cannot be displayed.

Sorting Tabular Data

By default, the table is sorted by Efficiency Rating. This is still the case even if you select another Group By option. You can sort the content of this table using any of the available columns, by clicking the column header.

  1. Click the column header to sort the table, in ascending order, using the content of the selected table as the sort key.
  2. Click the column header again, to sort the table, in descending order, again using the content of the selected table as the sort key.
  3. Click the column header a third time to clear the sort and return to the default, sorted by Efficiency Rating.
  4. An up/down arrow is displayed in the column header to indicate the column is being used to sort the content of the table.

Sorting is not persistent between pages or login sessions and this feature is only available on the Data tab.

ASG Tabular Report Sorting

The ASG tabular report is ordered based on the following sorting keys:

Table: ASG Sort Key Priority

Sort Key

Description

1. Overall Status

The Auto scaling groups are first sorted by Overall Status, in the following order:

  1. Savings Opportunity
  2. Optimal
  3. Identified Risk

2. Optimization Type

If the Overall Status is the same, then the secondary sort key is Optimization Type. ASGs are sorted by Optimization Type in the following order:

  1. Terminate
  2. Modernize
  3. Modernize - Optimal Family
  4. Downscale
  5. Downsize
  1. Downsize - Optimal Family
  2. Just Right
  3. Upscale
  4. Upsize
  5. Upsize - Optimal Family

3. Account

If Overall Status and Optimization Types are the same for the ASGs, then the tertiary sort key is the Account number, in ascending order.

4. Auto Scaling Group name

If all of the above sort keys are the same, then the final sorting is done by the Auto Scaling group name, in ascending, alphabetical order.

Filtering by Recommendation

You can filter the ASG optimization tabular report based on recommendations using the Recommendation Filter Menu. This filter allows you to narrow the results of your report based on overall status, optimization type, effort required and whether or not the recommendation should be deferred. For details, see Using the Recommendation Filter Menu.

Mixed Mode Services

  • Densify cannot analyze ASGs with a set of mixed instance types i.e. ASGs configured to use the 'Combined Purchasing Options and Instance Types' feature. However, an ASG with a mixed policy attached, can still be configured to run on one instance type and Densify can analyze these ASGs.
  • Densify checks the ASG's attached policy to determine if it is actually configured to run on a single instance type. Mixed groups are tagged by setting the attribute, "Mixed Instance Policy Set" to True and these ASGs are filtered from the analysis using the Cloud Environment filter.

    Additionally, Densify detects mixed instance configurations that result from changes to the launch configuration/scale set model. When the configuration of an ASG changes then in the event of scale out, new instances are created based on the new configuration, while the existing child instances continue to run with the previous configuration.

    In the event of a scale in, ASGs are typically set to favour terminating instance types created via the old launch template. This behaviour may result in a mix of instance types in the ASG.

    Densify detects these changes and excludes services where the configuration of the ASG has changed but the running child-instances have not been affected.

    Tabular Data

    The tabular report displays the current and recommended instance sizing and cost details for each ASG associated with downsizing, upsizing, or modernizing the instance type in the ASG's configuration. See the recommended Instance Type column for instance sizing recommendations.

    The report also displays recommended group sizing associated with downscaling or upscaling the ASG. See the Min Group Size or the Current Maximum Size columns for the recommended group size. Refer to Reviewing the ASG Optimization Opportunity Report Columns for a description of the ASG tabular report columns.

    Reviewing Specific Instance Details

    The bottom pane of the ASG report provides the following information for the ASG, selected in the tabular report:

    • In Service Instances—Shows workload charts for current and recommended predicted scaling activities for the selected ASG. For ASGs identified as "Just Right" or "Terminate" (optimization type), only the current in-service auto scaling activity chart is displayed.
    • ASG Utilization —Shows charts for current and recommended CPU Utilization, Memory Utilization for the selected ASG. Network I/O, Disk I/O workload charts are also included, showing utilization at the ASG level. For ASGs belonging to ECS clusters, additional CPU and Memory Reservation charts are displayed. You can view workload charts for each group member from the Working with Auto Scaling Groups page.
    • Effort Details Tab—This table lists the factors that contribute to the effort required to investigate and implement the Densify recommendations. Effort for each group is calculated by rule-driven analytics based on factors (such as instance family change, data quality checks, feature changes, etc.) that can be configured in the policy settings and through analysis rule sets. A description of each rule and its impact on the effort to implement the recommended changes are provided.

    Reviewing the ASG Optimization Opportunity Report Columns

    Table: ASG Optimization Opportunity Report Columns

    Column Name

    Description

    Account

    The AWS linked account containing the Auto Scaling group.

    Region

    The region containing the Auto Scaling group.

    Auto Scaling Group

    The AWS EC2 Auto Scaling group name, discovered during data collection.

    The Auto Scaling group name is a hyperlink that opens the Impact Analysis and Recommendations report, from which you can review group-specific details. See Viewing the ASG Impact Analysis and Recommendation Report.

    System ID

    A unique key assigned by the public cloud vendors to identify this instance.

    This column is hidden by default. You can enable it for display, as required. See Data Controls, above.

    Kubernetes Cluster

    This column indicates the name of the Kubernetes cluster that the ASG is hosting. The analysis may require additional information to ensure the ASG can satisfy all of the container reservation requests.

    If the selected ASG is hosting a Kubernetes cluster and has no EKS Reference, or if the ECS/EKS Reference column is not visible, additional data should be collected by deploying the Densify container data forwarderClosed The Data Forwarder resides in your container cluster, collects and sends configuration and utilization data to your Densify instance. Your Densify instance then performs the optimization analysis on the collected data and generates optimization recommendations. The Data Forwarder is scheduled to run periodically during the day and terminates once it sends the collected data. into this cluster. Contact [email protected] for details.

    Note: This column is visible only if the Auto Scaling group is hosting a Kubernetes cluster.

    ECS/EKS Reference

    The name of the ECS or EKS cluster associated with the Auto Scaling group. The additional cluster-level information is used for enhanced ASG analysis, resulting in more accurate recommendations.

    The ECS reference is to the ECS cluster, and for EKS, the reference is to the Kubernetes node group or cluster.

    Note: This column is visible only if the Auto Scaling group uses an ECS or an EKS instance.

    When the ASG is associated with a Kubernetes cluster the Densify analysis requires additional information to ensure the ASG can satisfy all of the container reservation requests. If an ASG, hosting a Kubernetes cluster, has no EKS Reference, or the column is not visible, additional data should be collected by deploying the Densify container data forwarderClosed The Data Forwarder resides in your container cluster, collects and sends configuration and utilization data to your Densify instance. Your Densify instance then performs the optimization analysis on the collected data and generates optimization recommendations. The Data Forwarder is scheduled to run periodically during the day and terminates once it sends the collected data. into this cluster. Contact [email protected] for details.

    For ECS services, capacity providers can be used to manage the infrastructure that the tasks in your clusters use. Capacity providers for ECS allow for multiple ASGs to support an ECS cluster. The reference in this column accounts for created capacity providers and indicates the ECS service cluster that is associated with this ASG.

    There will be an impact to the effort value for ASGs, hosting a Kubernetes cluster, and not linked with a ECS/EKS reference (i.e. has no parent).

    Instance Type

    The current catalog instance is listed. This value is based on the data collected.

    Avg Group Size

    The average instance count when the ASG is running.

    Min Group Size

    The minimum number of instances/hour currently configured in the scale group.

    Current Maximum Size

    The maximum number of instances/hour currently configured in the scale group.

    Total Hrs

    The total number of hours since the ASG was created.

    This column is hidden by default. You can enable it for display, as required. See Data Controls, above.

    Running Hrs

    The number of hours that the ASG has been running.

    This column is hidden by default. You can enable it for display, as required. See Data Controls, above.

    Both Total Hrs and Running Hrs are restricted by the historical time range defined in the policy (i.e. 60d history).

    Uptime (%)

    The Predicted_uptime%, and not the observed uptime percent.

    When using pay-per-use pricing models, the amount of time each instance has been running, is required to accurately estimate future costs.

    The predicted uptime (%) for a cloud instance or container, is based on the percentage of hours CPU utilization data is present in the historical interval, as specified in the policy settings for the entity. For Auto Scaling groups and VM Scale Sets and Individual child instances are not taken into account.

    Predicted uptime %, for new instances or containers, that started mid-way through the historical interval, is calculated from the time/date that the instance was started as opposed to the beginning of the interval, resulting in more accurate predictions for future usage.

    For example, the uptime is the number of hours that have "CPU Utilization in mcores", and the range is the lesser of when the container was discovered, or the range defined in the policy. Looking at a specific container that was discovered on Jan 5th 2024, that has workload of 42 hours since that date, then the uptime % is 42 hrs/(13 days x 24 hrs/day) = 13.4%. This is the value shown in this column.

    Life Cycle

    This is the instance market option configured for the Auto Scaling group.

    • Normal—The ASG is configured to run with On-Demand instances.
    • Spot—The ASG is configured to run with Spot instances.

    This column is hidden by default. You can enable it for display, as required. See Data Controls, above.

    Overall Status

    Identifies the overall status of the optimization results based on Optimization Type and potential Net Savings ($/Month) :

    Optimal

    These instance types are currently sized correctly and there are no costs savings for this group of systems.

    Identified Risk

    These instance types are at risk. This status occurs when the savings amount is less than $0 (i.e. you need to spend money to mitigate risk).

    Identified Risk status is also indicated when the savings amount is $0, but optimization type is upscale, upsize, or upsize to optimal family. This situation occurs when services are inactive, however, they will need to be upscaled or upsized to mitigate risk when they resume activity.

    Savings Opportunity

    These instance types can provide saving opportunities that greater than $0.

    Savings opportunity status is also indicated when the savings amount is $0, but optimization type is terminate, modernize, modernize to optimal family, downscale, downsize, or downsize to optimal family. This situation occurs when services are inactive, but have a recommendation of terminate, modernize, downsize or downscale when they resume activity to save money.

    Optimization Type

    The recommended action for the group of instances. See Optimization Type Descriptions and Color-Coding for a description of each recommendation.

    Recommended Instance Type

    This is the recommended catalog instance, based on optimization analysis.

    Predicted Avg Group Size

    The predicted average instance count on the recommended instance type.

    Recom. Min Group Size

    The minimum number of instances recommended for the scale group.

    Recom. Max Group Size

    The maximum number of instances recommended for the scale group.

    Net Savings ($/Month)

    The estimated cost savings per month. The predicted average instance counts, the instance type cost and predicted uptime are used to calculate the current and recommended estimated cost. The savings are calculated as the current estimated cost minus the recommended estimated cost.

    Scaling Policies

    This value indicates whether the scaling mode needs to be reviewed. Possible values are:

    • No Value-If the optimization type = Terminate, then:
      • In the UI, a dash, "—" is displayed.
      • In the API,"Terminate" is returned by the /results endpoint.
    • Keep—If the current average group size, minimum and maximum group size are not changed.
    • Adjust—The current average group size is different than the predicted average group size AND the instance type, minimum and maximum group size do not change.
    • Review—If Densify recommends changing one or more of instance type, average, minimum or maximum group size.

    Current CPU

    The CPU allocation for the current instance type. This value is for a single instance and is not multiplied by the average number of instances.

    This column is hidden by default. You can enable it for display, as required. See Data Controls, above.

    Recommended CPU

    The CPU allocation for the recommended instance type. This value is for a single instance and is not multiplied by the average number of instances.

    This column is hidden by default. You can enable it for display, as required. See Data Controls, above.

    Current CPU Benchmark

    The CPU benchmark for the current instance type.

    This column is hidden by default. You can enable it for display, as required. See Data Controls, above.

    Current Memory Allocation (GB)

    The memory allocation for the current instance type. This value is for a single instance and is not multiplied by the average number of instances.

    This column is hidden by default. You can enable it for display, as required. See Data Controls, above.

    Recommended Memory

    The memory allocation for the recommended instance type. This value is for a single instance and is not multiplied by the average number of instances.

    This column is hidden by default. You can enable it for display, as required. See Data Controls, above.

    Recommended Memory Benchmark

    The memory benchmark for the recommended instance type..

    This column is hidden by default. You can enable it for display, as required. See Data Controls, above.

    Effort

    [ High | Medium | Low | None ]

    This column describes the effort required to investigate and implement the Densify recommendations. The displayed group effort is an average of all the calculated efforts for each instance (or service) in the group. Effort for each instance is calculated by rule-driven analytics based on factors (such as family change, storage change, data quality checks, feature changes, etc.) that can be configured in the policy settings and rule set which captures best practices.

    See the Effort Details tab in the lower pane for additional effort details for the selected ASG.

    There will be an impact to the effort value for ASGs, hosting a Kubernetes cluster, and not linked with a ECS/EKS reference (i.e. has no parent).

    Instance Type Updated On

    A value in this column indicates the instance type (cloud) or instance request/limit values (container) has been change recently.

    The workload for this instance, on which the recommendation is based, includes only the days of data from the indicated date to the current date. All historical data for this instance, collected prior to the indicated date is not included in the analysis. Previous data has been excluded because it was based on the previous instance type (cloud) or instance request/limit values (container).

    A blank cell indicates the current instance type has not changed and all available workload data within the range, defined by the policy, has been used to generate the recommendation.

    Contact [email protected] to enable this feature. See Relearning Workload Patterns for more details.

    This column is hidden by default. You can enable it for display, as required. See Data Controls, above.

    Total Savings ($/Month)

    Total savings based on making all of the recommended changes. This is the sum of all net monthly savings. If the number of ASGs spans multiple pages this is the total for all pages.

    Exporting the ASG Optimization Opportunity Report

    1. Click the download CSV icon to export the content of the Auto Scaling Group dashboard to a .CSV file.
    2. The AutoScalingGroupsSummary report contains the tabular list of ASGs from the Auto Scaling Group optimization opportunity tabular list view. All filtering options will be applied to the exported data

    3. Locate and open your download folder to see your exported data.

    Additional Considerations for ASG Recommendations

    EKS-aware ASG Recommendations

    ASGs and their EC2 group members are loaded from AWS audits and Kubernetes entities are collected via the Densify Data Forwarder from Prometheus data. Linking these entities is extremely complex as even the Kubernetes cluster names may not match.

    A single Kubernetes cluster can run on one or more ASG with each ASG running in a node group within the cluster; however it is possible to skip node groups, and in this case the ASG must be linked directly to the cluster entity.

    Densify matches, counts and links entities and ASG recommendations are made based on the established EKS-ASG associations.

    To learn more watch the video,

    ASG Backfilling Memory

    If you are not collecting memory metrics, Densify provides a method to simulate memory utilization using backfill memory policy settings. Contact [email protected] for details.