Figure 12.9 Viewing the recently completed and currently running operations in
Microsoft Azure
Availability Sets
An availability set is an important concept if you want high availability in Microsoft
Azure and want virtual machines in Azure to be covered by an SLA. Consider that
Microsoft Azure comprises many datacenters, and those datacenters have many racks
of servers. Each rack can be considered a point of failure, a fault domain, which
includes the servers, power, networking, and so on. While Microsoft takes every
precaution, there is the chance that a rack could fail, which will cause a brief
interruption of virtual machines/services running on that rack before the Azure fabric
can perform healing and reinstantiate the VM on another host in another rack.
Additionally, Microsoft does perform maintenance, which will result in virtual
machines on hosts being shut down for maintenance. While Hyper-V fully supports
Live Migration, this is not performed in Azure. When an Azure host has to be rebooted
for maintenance, the VMs on the box will be unavailable. Microsoft does not patch
hosts in Azure; it would take too long. Instead, hosts are simply rebooted to a new
image that contains the updated OS. There has been a lot of work to minimize this
downtime, including VM Preserving Host Update (VMPHU), which enables a host to
reboot without wiping the memory content that enables VMs to be paused, the host to
be rebooted, and the VMs unfrozen with their memory intact.