Based on the exhibit, which deployment change best meets the resilience requirement for the application VMs?
Availability zones provide isolation across datacenters within the same region. By placing the two VMs in different zones, the workload can continue if one zone or datacenter becomes unavailable. The load balancer can direct traffic to the surviving VM. This design matches the stated requirement more closely than an availability set, which only spreads VMs across fault and update domains inside a single datacenter cluster.
Why this answer
Deploying each VM into a different availability zone ensures that the VMs are physically separated across distinct data centers within an Azure region, protecting against zone-level failures. The load balancer in front distributes traffic across the VMs, providing high availability even if one zone goes offline. This meets the resilience requirement by eliminating a single point of failure at the data center level.
Exam trap
The trap here is that candidates often confuse availability sets (which protect against rack-level failures within a single data center) with availability zones (which protect against full data center outages), leading them to choose Option A thinking it provides sufficient resilience.
Why the other options are wrong
An availability set only protects against rack-level failures and update domain reboots, not against a full datacenter outage. The question's resilience requirement demands protection against a zonal failure, which only availability zones provide.
The question focuses on resilience (high availability), not latency. A proximity placement group reduces network latency but does not protect against zonal or rack-level failures, so it fails to meet the resilience requirement.
Adding more managed disks does not provide VM resilience; it only increases storage redundancy. The question requires application VM resilience, which is about compute availability, not disk redundancy.
When would these options actually be correct?
If the requirement were to protect against planned maintenance or hardware failures within a single datacenter, and the VMs must remain in the same datacenter for low latency, then placing them in the same availability set would be correct.
This option would be correct in a scenario where the requirement is to minimize network latency between VMs for a tightly coupled, low-latency application, such as a high-performance computing (HPC) workload, and resilience is not the primary concern.
This option would be correct in a scenario where the requirement is to ensure data durability and high availability for the managed disks themselves, such as when using Azure Site Recovery or backup policies that require multiple disks for redundancy.
Why candidates pick the wrong answer
Candidates often confuse availability sets with availability zones, thinking that spreading across update domains provides sufficient resilience for all failure scenarios, or they underestimate the scope of a datacenter outage.
Candidates may confuse 'resilience' with 'performance' or think that grouping VMs close together improves availability, not realizing that proximity placement groups actually increase the risk of simultaneous failure.
Candidates may confuse disk redundancy with VM resilience, thinking that more disks automatically make the application more resilient, or they may overgeneralize the concept of redundancy from storage to compute.