Azure Virtual Machine Scale Set Deployments Overview

Updated 5 months ago by Michael Cretzman

Currently, this feature is in Beta and behind a Feature Flag. Contact Harness Support to enable the feature. Feature Flags can only be removed for Harness Professional and Essentials editions. Once the feature is released to a general audience, it is available for Trial and Community Editions.

To deploy an Azure virtual machine scale set (VMSS) using Harness, you only need to provide two things: an instance image and a base VMSS template.

Harness creates a new VMSS from the base VMSS template and adds instances using the instance image you provided.

For detailed instructions on deploying a VMSS using Harness, see the following how-tos. They are listed in the order they are commonly performed.

Harness uses tagging and naming for versioning. See Azure VMSS Versioning and Naming.

Before You Begin

Before learning about Harness VMSS deployments, you should have an understanding of Harness Key Concepts.


Harness virtual machine scale set (VMSS) deployments do not support proxy servers that require authentication. This is a known Azure limitation with Java environment properties and their SDK.

What Does Harness Need Before You Start?

A Harness VMSS deployment requires the following:

  • A working Azure VM instance image that Harness will use to create your instances.
  • A working VMSS that Harness will use as a template for the new VMSS(s) it creates.
  • An Azure VM to host the Harness Delegate that will perform the deployment tasks.
  • Azure subscription you will use to connect Harness to your Azure platform. The subscription must have a Reader role at minimum. This role is only used by the Harness Delegate when it uses the Azure APIs to discover target VMs.
  • SSH key for Harness to set up on the new VMSS instances. This enables users to log into the new instances.

What Does Harness Deploy?

Harness takes the instance image and base VMSS you provide and creates a new VMSS and populates it with instances using the image. You can specify the desired, min, and max instances for the new VMSS, resize strategy, and other settings in Harness.

What Operation Systems are Supported?

Linux and Windows VMSS deployments are supported.

What Does a Harness VMSS Deployment Involve?

The following list describes the major steps of a Harness VMSS deployment:





Install a Harness Delegate on a VM in your target Azure subnet.

Connect to Azure for VMSS Deployments


Add the VM instance image Harness will use for creating new instances in the new VMSS.

Add Your Azure VM Image for Deployment


Select an existing VMSS to use as template when Harness creates a new VMSS.

Define Your Azure VMSS Target Infrastructure


Create a Harness Workflow to perform deployment.

Select the deployment strategy you want to perform:

How did we do?