For most Azure regions the only option for availability is the Availability Set. When a VM is in an Availability Set it belongs to an availability group with other VMs. These VMs will be distributed across multiple hardware across multiple servers in order to provide the following benefits:
- Fault Domains – VMs in the same fault domain share a common power source and physical network switch. In an Availability Set that has more than 1 fault domain the VMs are distributed across different fault domains.
- Update Domain – VMs in the same update domains will receive any updates and patches at the same time requiring downtime or reboots. VMs across different update domains are updated at different times.
Availability Zones are different geographical locations within the same region.
Neither Availability Set or Availability Zone provide load balancing by default. These will have to be deployed separately.
VM Scale Set
A VM Scale Set (VMSS) allow us to create VMs that are scalable from 1 to 1000 in a single set. These can be deployed into ab Availability Zone or an Availability Set. VM instances are created and destroyed using CPU usage threshold.
The Scale Set provides a choice of an Application Gateway or a Load Balancer.