Blog Post

Azure Compute Blog
2 MIN READ

Announcing Public Preview of Instance Mix on Virtual Machine Scale Sets

brittanyrowe's avatar
brittanyrowe
Icon for Microsoft rankMicrosoft
Aug 22, 2024

Today, we’re excited to announce that the ability to specify multiple different VM sizes in your Virtual Machine Scale Sets (VMSS) with Flexible Orchestration Mode with Instance Mix. This new capability allows you to specify up to five different VM sizes to use in your VMSS deployments. Not only does this simplify the management of your scale sets, but it also allows you to optimize your deployments for either price or capacity through allocation strategies.

 

Benefits

  1. Single API call: In one API call, you can specify and deploy up to five VM sizes in your scale sets.
  2. Optimized deployments: You can optimize for the available capacity in Azure regions/zones with CapacityOptimized for more confidence that you’ll get the capacity requested. For cost-sensitive customers who want to still utilize capacity signals, the LowestPrice allocation strategy takes both factors into account.
  3. Automated allocation: By using allocation strategies, let Azure determine which of the specified VMs are most readily available and most cost efficient.
  4. Easily scale with a mix of VM offerings: When using Spot Priority Mix, you can deploy a heterogeneous mix of VM sizes of both Spot and On-Demand pricing in your scale sets.
  5. Simplified management: You can now have the scale set deploy multiple different VM sizes, as opposed to manually deploying different VMs into the scale set.
  6. Attain needed capacity: By utilizing a diversified mix of VM sizes, you can tap into a greater pool of capacity, increasing your ability to get the capacity you need.

What’s new

VMSS Instance Mix introduces a few new properties to the VMSS API including:

  • skuProfile: an umbrella property for the list of vmSizes and allocationStrategy.
  • vmSizes: the list of VM sizes to be deployed.
  • allocationStrategy: the property  specify their allocation strategy. There are currently two options, LowestPrice and CapacityOptimized
    • LowestPrice: when evaluating what VM size split to use, Azure will first look at the lowest priced VMs of the VM sizes specified and then look at the capacity of those VMs. It will try to deploy as many of the lowest priced VMs it can before moving to the next lowest priced VM size with available capacity.
    • CapacityOptimized: when evaluating what VM size split to use, Azure will look at only the underlying capacity available and will not take price into consideration when determining what SKU split to deploy.

VMSS Instance Mix calls will have a new section in the ARM template:

 

 "skuProfile": {
      "vmSizes": [
        {
          "name": "Standard_D16s_v4"
        },
        {
          "name": "Standard_E16s_v5"
        },
        {
          "name": "Standard_D16s_v5"
        }
      ],
      "allocationStrategy": "CapacityOptimized" | ”LowestPrice”
    },

 

You can learn more about how Instance Mix works and enroll in the preview in the documentation.

Updated Aug 22, 2024
Version 1.0
No CommentsBe the first to comment