One really important things related to Azure VMs, especially if you have plan to deploy more than one VM with the same functionality, is Availability Set. Availability Set is a logical grouping capability for isolating VM resources from each other when they’re deployed. Once you deploy Availability Set, Azure guarantee that the VMs you place within an Availability Set will run across multiple physical servers, compute racks, storage units, and network switches. In case of hardware or software failure, only some of your VMs will be affected and your solution will remain “up & running”.
Each Availability Set is divided to Update and Fault domain. Update Domain define underlying physical hardware that can be rebooted at the same time. Fault Domain share common storage as well as a common power source and network switch.
When you decide to deploy Availability Set, you just need to define how many update and fault domains you need to configure. Also, if you plan to use managed disks in VMs, Availability Set SKU need to be set to Aligned.
If you want to create Availability Set using PowerShell, you need to run following command.
New-AzAvailabilitySet -Location "North Europe" -Name "AVSetName" -ResourceGroupName "RGName" -Sku Aligned -PlatformFaultDomainCount 2 -PlatformUpdateDomainCount 2