Single VM Resource deployed : 99.9% SLA
VM deployed with High Availability Set : 99.95% SLA
VM deployed with High Availability Zone : 99.99% SLA
Distinction between Availability Zones and Availability Sets
Using a VM workload as an example, a single VM has an SLA of 99.9%. This means the VM will be available 99.9% of the time. Within a single datacenter, the use of Availability Sets can increase the level of SLA to 99.95% by protecting a set of VMs, ensuring they will not all be on the same hardware. Within a region, VM workloads can be distributed across Availability Zones to increase the SLA to 99.99%. For more information, refer to
Availability Sets ensure that the Azure virtual machines are deployed across multiple isolated hardware nodes in a cluster.
By deploying your vms across multiple hardware nodes Azure ensures that if hardware or software failure happens within Azure, only a sub-set of your virtual machines are impacted and your overall solution is safe and in working condition.
Availability set provides redundancy for your virtual machines.
Availability set spreads your virtual machines across multiple fault domains and update domains.
If you want to leverage Microsoft’s 99.95% SLA from Microsoft you must place your VMs inside availability set except your VMs are having premium storage.
Following are the 3 main scenarios which can cause your vms in Azure to be impacted or make them in a faulted state.
Unplanned Hardware Maintainance Events - When Azure platform predicts that the hardware or any platform components associated to a physical machine is about to fail.
An unexpected downtime -- rarely occurs
Planned Maintenance events -- periodic updates made by Microsfot.
After both planned and unplanned updates your virtual machines and your operating system will be rebooted.
Each virtual machine in the Availability Set is assigned an Update domain and Fault domain by the Azure platform.
Fault domains define the group of virtual machines that share a common power source and network switch.
Each and every fault domain contains some racks and each rack contains virtual machine.
Each of these Fault domain shares a power supply and a network switch.
If there is a failure in the fault domain then all the resources in the fault domain become unavailable.
You should place your vms such a way that each fault domain get one web server, one database server and like that.
Consider a below mentioned diagram.
Here we have arranged web server vm and database server vm in such a way that if one Fault Domain fails, still your vms would be available.
Virtual machines get update domains automatically once they are put inside availability set.
All virtual machines within that update domain will reboot together.
Update domains are used for patching of the virtual machines
Only one update domain would be updated at the time
If the service-level agreement (SLA) for an IaaS app requires > 99% availability, you can place VMs in
proximity placement groups
to configure high availability for the app. The HA and DR solutions you choose depend on the required SLA, latency considerations, and regional DR requirements.