Availability sets
To create a reliable infrastructure, adding your VMs to an availability set is key. There are several scenarios that can have an impact on the availability of your Azure VMs. These are as follows:
- Unplanned hardware maintenance event: When hardware is about to fail, Azure fires an unplanned hardware maintenance event. Live migration technology is used, which predicts the failure and then moves the VM, the network connections, memory, and storage to different physical machines, without disconnecting the client. When your VM is moved, the performance is reduced for a short time because the VM is paused for 30 seconds. Network connections, memory, and open files are still preserved.
- Unexpected downtime: The VM is down when this event occurs because Azure needs to heal your VM inside the same data center. A hardware or physical infrastructure failure often causes this event to happen.
- Planned hardware maintenance event: This type of event is a periodic update
from Microsoft in Azure to improve the platform. Most of these updates don’t have a significant impact on the uptime of VMs, but some of them may require a reboot or restart.
To provide redundancy during these types of events, you can group two or more VMs in an availability set. By leveraging availability sets, VMs are distributed across multiple isolated hardware nodes in a cluster within a single region. This way, Azure can ensure that during an event or failure, only a subset of your VMs is impacted and your overall solution will remain operational and available. To meet the 99.95% Azure Service-Level Agreement (SLA) during outages and other failures, Microsoft advises that two ormore VMs are deployed within an availability set. There are no costs associated with availability sets.
Top Tip
VMs can only be assigned to an availability set during initial deployment.
You have just learned about the various factors to be considered that comprise VM configurations, such as availability sets and scale sets. Next, we will explore the steps involved in deploying a VM in Azure.