Availability Sets and Availability Zones
Start course
1h 27m

This course will give you a basic understanding of Azure virtual machines (VMs) and how you can use them in your Azure environments.

The course begins by introducing you to Azure VMs and what resources are necessary to deploy them, before moving onto pricing and the different virtual machine options available. Next, the course explores availability sets and availability zones and gives a demonstration that shows you how to create an availability set using the Azure portal.

The course shows how to deploy both Windows and Linux virtual machines, and you'll get a demonstration of how to deploy and connect to each. Rounding off the course is a section on basic management tasks; you’ll learn how to start, stop, restart, redeploy, and resize virtual machines.

This course is packed full of real-world demonstrations from within the Azure portal to give you first-hand experience of how to get the most from Azure Virtual Machines.

For any feedback you may have relating to this course, please contact us at

Learning Objectives

  • Gain a foundational understanding of Azure virtual machines, their features, and their pricing
  • Learn how to set up availability sets
  • Learn how to create and connect to both Windows and Linux virtual machines with Azure
  • Learn how to manage your Azure VMs including starting, stopping, restarting, redeploying, and resizing VMs

Intended Audience

This course is intended for anyone who is interested in learning about the basics of Azure virtual machines.


To get the most from this course you should have a basic understanding of Microsoft Azure and of the Azure portal.


Hi there, welcome to availability sets and availability zones. Over the next few minutes, we’re going to take a look at what they are, and what they offer.

An availability set provides redundancy and availability for virtual machines. Deploying at least two virtual machines into an availability set ensures that at least one of them remains available whenever planned or unplanned maintenance occurs. When you deploy at least two virtual machines into an availability set, you qualify for a VM SLA of 99.95% uptime.

Even if you deploy a single virtual machine, by itself, into an availability set, you can qualify for a 99.9% VM SLA, provided you use premium SSD or ultra-disk for all operating system discs and all data disks that are attached to the VM.

Every VM that is deployed into an availability set is assigned an update domain and a fault domain by Microsoft Azure.

An availability set contains five update domains by default, although this can be increased to 20 update domains in resource manager deployments. An update domain is a group of virtual machines and underlying physical hardware that can be rebooted at the same time. When planned maintenance is performed on the Azure platform, only one update domain is rebooted at a time. This ensures that all VMs and associated hardware are not taken down at the same time.

a fault domain is a group of virtual machines that shares a common power source and a common network switch. When virtual machines are added to an availability set, they are distributed across up to three different fault domains in resource manager deployments, or across two fault domains in classic deployments.

Deploying VMs in an availability set will not protect an application from failures associated with the operating system of the VMs or from failures that are application-specific. However, placing virtual machines in an availability set will provide protection against network outages, physical hardware failures, and power interruptions within an Azure data center.

Availability zones are similar in concept to availability sets. However, there is a distinct difference. While availability sets are used to protect applications from hardware failures within an Azure data center, availability zones, protect applications from complete Azure data center failures.

An availability zone is a unique physical location that exists within an Azure region. Every availability zone contains at least one data center within the region. Each of these data centers has its own power, its own networking, and its own cooling. To ensure resiliency, every enabled region in Azure consists of at least three separate zones that are physically separated. It is this physical separation that protects applications from data center failures.

I should note here that when you deploy virtual machines in an availability zone, they will be covered by a 99.99% VM uptime SLA.

Like availability sets, availability zones consist of fault domains and update domains. However, unlike availability sets, an availability zone consists of a single fault domain and a single update domain. Deploying three or more VMs across three availability zones within an Azure region will cause Azure to split those VMs across three different fault domains and three different update domains to ensure that the virtual machines in different zones are never updated at the same time.

Ultimately, availability zones are used to protect applications from entire Azure data center failures, while availability sets are used to protect applications from hardware failures within an azure datacenter.

About the Author
Learning Paths

Tom is a 25+ year veteran of the IT industry, having worked in environments as large as 40k seats and as small as 50 seats. Throughout the course of a long an interesting career, he has built an in-depth skillset that spans numerous IT disciplines. Tom has designed and architected small, large, and global IT solutions.

In addition to the Cloud Platform and Infrastructure MCSE certification, Tom also carries several other Microsoft certifications. His ability to see things from a strategic perspective allows Tom to architect solutions that closely align with business needs.

In his spare time, Tom enjoys camping, fishing, and playing poker.