Working with Virtual Machine Scale Sets

Working with Virtual Machine Scale Sets

#380920

Azure VM Scale Set (VM Scale Set) let you create and manage a group of load balanced VMs. The number of VM instances can be automatically increased or decreased in response to demand or on a defined schedule. Densify analyzes your VM Scale Sets and provides optimization recommendations.

When working with VM Scale Sets note the following:

  • Virtual machine instances that belong to a scale set are logically considered to be part of the VM Scale Set service entity and recommendations are made for the group and not for the individual instances.
  • VM Scale Sets configured with maximum group size = 1, are treated as VMs and are only included in the Virtual Machine tab, while VM Scale Sets configured with maximum group size > 1, are shown on the VM Scale Set tab.
  • Densify cannot analyze VM Scale Sets configured with their orchestration mode = Flexible. However, a flexible scale configured to run on one instance type can be analyzed. See Working with Virtual Machine Scale Sets.
  • Azure provides memory metrics during data collection. If for some reason, memory data is not available, the backfill memory settings will be used for the analysis. See VM Scale Set Backfilling Memory.
  • The Impact Analysis and Recommendation Report report is not currently available for VM Scale Sets with maximum size >1. Also note the following feature support:
  • Table: Feature Support for VM Scale Set 

    Feature

    VM Scale Set with Max Size=1

    VM Scale Set with Max Size>1

    Impact Analysis and Recommendation Report for both UI and API

    Available in 2.4.0

    Future Release

    Catalog Map

    Available in 2.4.0

    Future Release

    Metrics Viewer

    Future Release

    Future Release

The VM Scale Setoptimization opportunity report is divided into two sections: 

  • The tabular report in the upper pane, shows details of each VM Scale Set and the recommendations.
  • Tabs in the lower pane display the selected VM Scale Set's scaling activity and resource utilization details. A third tab shows the effort required to implement the recommendation.

Data Controls

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

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.

VM Scale Set Tabular Report Sorting

The VM Scale Set tabular report is ordered based on the following sorting keys:

Filtering by Recommendation

You can filter the 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.

The guest filter is not supported for VM Scale Sets.

Mixed Mode Services

Densify cannot analyze VM Scale Set with a set of mixed instance types i.e. VM Scale Set configured with Orchestration Mode = Flexible. However, a scale set with Orchestration Mode = Flexible, can still be configured to run on one instance type and Densify can analyze these services.

Densify checks the VM Scale Set to determine if it is actually configured to run a mix of instance types or to run on a single instance type. Mixed groups are tagged by setting the attribute, "Mixed Instance Policy Set" to True and these scale sets 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 a VM Scale Set 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, VM Scale Sets are typically set to favour terminating instances created via the old launch template. This behaviour may also result in a mix of instance types.

Densify detects these changes and excludes services where the configuration of the scale set 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 VM Scale Set.

Recommended group sizing associated with downscaling or upscaling the VM Scale Set are included. See the Working with Virtual Machine Scale Sets or the Working with Virtual Machine Scale Sets columns for the recommended sizing.

Reviewing Specific Instance Details

The bottom pane of the VM Scale Set report provides the following information for the row, selected in the tabular report:

  • In Service Instances—Shows workload charts for current and recommended predicted scaling activities for the selected VM Scale Set. For VM Scale Sets identified with optimization type="Just Right" or "Terminate", only the current in-service scaling activity chart is displayed.
  • VM Scale Set Utilization —Shows charts for current and recommended CPU Utilization and Memory Utilization for the selected VM Scale Set. Network I/O, Disk I/O workload charts are also included, showing utilization at the VM Scale Set level. You can view workload charts for each group member from the Working with Virtual Machine Scale Sets 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 is provided.

VM Scale Set Optimization Report Details

Exporting the VM Scale Set Optimization Opportunity Report

  1. Click the download CSV icon to export the content of the VM Scale Set dashboard to a .CSV file.
  2. The VM Scale Set Summary report contains the tabular list of VM Scale Sets from the optimization opportunity tabular list view. All selected filtering options are applied to the exported data

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

Additional Considerations for VM Scale Set Recommendations

AKS-aware VM Scale Set Recommendations

VM Scale Sets and their virtual machine group members are loaded from Azure cloud data collection audits and Kubernetes entities are collected via the Densify data forwarder from Prometheus data. Linking these entities is extremely complex.

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

Densify uses the parent resource group and its tags to match the entities and VM Scale Set recommendations are made based on the established AKS-VM Scale Set associations.

VM Scale Set Backfilling Memory

Memory metrics are available for Azure instances when using the standard Densify audit. If, for some reason, you are not collecting memory metrics, Densify provides a method to simulate memory utilization using backfill memory policy settings. Contact [email protected] for details.