An availability set is a logical grouping of VMs that allows Azure to understand how your application is built to provide for redundancy and availability. We recommended that two or more VMs are created within an availability set to provide for a highly available application and to meet the 99.95% Azure SLA. There is no cost for the Availability Set itself, you only pay for each VM instance that you create.
- 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.
- 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
- Max update domain is 20
- 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.
- Max fault domain is 3