Ensure High Availability for Azure Virtual Machines Hosting Web App

Deploying Multiple Virtual Machines for Web App High Availability

Question

You plan to deploy three Azure virtual machines named VM1, VM2, and VM3. The virtual machines will host a web app named App1.

You need to ensure that at least two virtual machines are available if a single Azure datacenter becomes unavailable.

What should you deploy?

Answers

Explanations

Click on the arrows to vote for the correct answer

A. B. C. D.

C

Use availability zones to protect from datacenter level failures.

https://docs.microsoft.com/en-us/azure/virtual-machines/windows/manage-availability https://docs.microsoft.com/en-us/azure/virtual-machines/windows/tutorial-availability-sets

To ensure high availability of the web app named App1 in case of a single Azure datacenter failure, we need to deploy the virtual machines in such a way that the web app continues to run without any downtime.

Availability Zones and Availability Sets are Azure services that provide high availability for virtual machines running in Azure.

An Availability Zone is a physically separate datacenter within an Azure region that provides redundancy and isolation from other zones within the same region. If one zone goes down, the virtual machines running in other zones continue to run, providing high availability and fault tolerance.

An Availability Set is a logical grouping of two or more virtual machines that are deployed to separate physical hardware in a datacenter. The purpose of an availability set is to ensure that during maintenance or unplanned downtime, at least one virtual machine remains available and continues to run.

Now let's look at the options given in the question:

A. Deploying all three virtual machines in a single Availability Zone: This option does not meet the requirement of ensuring that at least two virtual machines are available if a single Azure datacenter becomes unavailable. If the Availability Zone goes down, all three virtual machines will be affected.

B. Deploying all virtual machines in a single Availability Set: This option also does not meet the requirement of ensuring that at least two virtual machines are available if a single Azure datacenter becomes unavailable. The Availability Set provides high availability within a single datacenter, but if the datacenter goes down, all the virtual machines in the Availability Set will be affected.

C. Deploying each virtual machine in a separate Availability Zone: This option meets the requirement of ensuring that at least two virtual machines are available if a single Azure datacenter becomes unavailable. By deploying each virtual machine in a separate Availability Zone, we ensure that even if one zone goes down, the other virtual machines in different zones continue to run and provide high availability for the web app.

D. Deploying each virtual machine in a separate Availability Set: This option also provides high availability, but it does not provide fault tolerance in case of a datacenter failure. If all the virtual machines are deployed to separate Availability Sets within the same datacenter and the datacenter goes down, all the virtual machines will be affected.

Therefore, the correct answer is option C: deploy each virtual machine in a separate Availability Zone.