Thursday, 22 December 2022

Azure Availability Sets

 

Definition of Azure Availability Set

When you deploy new virtual machines (VMs), Azure, by default, does not possess the necessary information to identify dependencies among them. Hence, this may lead to a single point of failure in the hosted service due to an unexpected hardware fault or a maintenance operation.

An Azure Availability Set is a logical grouping capability that guarantees that the VMs included in the same group are isolated from each other. Availability Sets are based on two logical groupings: fault domains and update domains.

  • VMs in the same fault domain share common power and network resources, similar to a rack at an on-premises datacenter.
  • VMs belonging to the same update domain group can undergo planned and unplanned maintenance and simultaneous reboots. This configuration covers 99.95% of service-level agreements (SLAs).

When working with Availability Sets, a best practice is to create one Availability Set per workload, understanding the workload as a set of servers that work together running the same service (for example, Active Directory Domain Controllers).

Availability Sets and Availability Zones: What’s the Difference?

Depending on the SLAs required by different organizations, Azure includes different options for building and configuring high availability solutions. Availability Zones are unique physical locations within an Azure Region (set of datacenters). Each zone comprises one or more data centers equipped with independent power, cooling, and networking resources.

The main difference between Availability Zones and Availability Sets is that Availability Zones protect your resources from a potential datacenter failure. In contrast, Availability Sets only offer protection from hardware failures within a datacenter, thus increasing SLA coverage from 99.95% to 99.99%.

Steps to Set Up an Availability Set in Azure

To configure an Availability Set in Azure, two steps are required: creating the Availability Set and the assignment of VMs.

Create an Availability Set

To create an availability Set from the Azure portal, follow these steps:

  1. Log on to your Azure account.
  1. Click on Create a Resource, search for Availability Set, and click on the Create button.
  1. Fill in the Subscription, Resource Group, Name, and Region fields according to your requirements. Next, specify the number of fault domains and update domains needed for this Availability Set. Azure automatically manages the distribution of virtual machines among the created domains, always ensuring the best possible configuration within a group. For this example, we configure two fault domains and two update domains.

Figure 1 - Azure Availability Set

  1. Click on the Review + create button. Once the validation process is complete, click on the Create button.
  1. Once the deployment is complete, you can explore the resource and review its features before assigning new virtual machines.

Availability Sets can also be created using Azure PowerShell.

Assign a Virtual Machine

You assign a VM to an Availability Set through the Create a virtual machine wizard. Under the Basics tab, locate the Availability options field. Select Availability set from the drop-down list, and choose the Availability Set resource needed for the VM being created. Complete the rest of the configuration fields according to your requirements.

Figure 2 - Azure Availability Set

Important things to note are that VMs can be included in an Availability Set only when deployed (existing machines cannot be assigned to an Availability Set). The Availability Set of a virtual machine can’t be changed after being created.

Read more regarding how Azure distributes virtual machines among existing fault and update domains.

No comments:

Post a Comment