What is Microsoft Azure Availability Set
Microsoft Azure Availability SetA data center is a facility of one or more buildings that houses a centralized computing infrastructure, typically servers, storage, and networking equipment. All this centralized computing infrastructure are kept on racks. A rack is specially designed to organize and keep IT equipment. A datacenter consists of multiple racks.
Suppose we need to deploy our application on azure machines called Virtual Machines(VMs). We will be having indepth look at virtual machines in the next tutorial. In Azure whenever we create or allocate a virtual machine, this gets created on the physical server which is mounted on the rack in the Azure Data Center. Each rack has its own power supply and network.
If suppose are are deploying our application on two azure machines and we get allocated different servers which are on the same rack in the Azure Data Center. Due to some reason if there is an issue with the power supply or network of that particular rack then our application will be down.
This is where the availability sets come into picture. Before creating a VM we first create a new Availability set. So when creating the VM we also select the Availability set that VM should belong to. What this does is that it deploys VMs belonging to same availability set to server's having different fault domains and update domains.
- Fault domain - Fault domains indicate the group of virtual machines that share common power source and network switch limiting the impact of potential physical hardware failures, network outages, or power interruptions. Suppose we have set the fault domains to 3 and we have created 3 virtual machines. Then each of them will be placed in 3 different fault domains. If suppose one of the rack goes down due to power failure, then only one VM will be down, the other two VMs will be running normally.
- Update domain - Update domains indicate the group of virtual machines and underlying physical hardware that can be rebooted at the same time ensuring availability of some virtual machines during a planned maintenance. Suppose we have 3 VMs deployed across 3 update domains. If an update is installed and a restart is required, only one update domain is restarted at any given time. This means you have the other 2 VMs available from the rest of the 2 update domains which will be running normally.
A Datacenter has multiple azure availability sets.
This ensures that there is minimal downtime for our application. For all Virtual Machines that have two or more instances deployed in the same Availability Set, Microsoft guarantees, you will have Virtual Machine Connectivity to at least one instance at least 99.95% of the time.