platformUpdateDomainCount Value in Availability Set ARM Template
Your company has an Azure subscription. You need to deploy a number of Azure virtual machines (VMs) using Azure Resource Manager (ARM) templates. You have been informed that the VMs will be included in a single availability set. You are required to make sure that the ARM template you configure allows for as many VMs as possible to remain accessible in the event of fabric failure or maintenance. Which of the following is the value that you should configure for the platformUpdateDomainCount property?
Community Insight
The question tests the maximum allowed update domain count in an availability set, and the trap is choosing 30 or 40 because Azure limits platformUpdateDomainCount to 20 (while fault domains max out at 3).
When deploying Azure VMs into an availability set with an ARM template, the platformUpdateDomainCount property sets how many update domains the availability set uses. Azure caps this value at 20, so configuring 20 maximizes how many VMs stay online during planned maintenance and platform updates.
Test-takers pick D (40) by assuming a higher number always improves resilience, or C (30) by confusing update domains with other limits; Azure rejects any value above 20 update domains per availability set, so those deployments fail.
Community Discussion (85 comments)
Comments & Corrections
No comments yet — spotted an error or have a note? Share it below.
Expert Analysis
Why the Answer Is Correct
Azure documents that each availability set can be configured with up to 3 fault domains and 20 update domains, so 20 is the highest legal value for platformUpdateDomainCount. Update domains are rebooted in rolling batches during planned maintenance, so more update domains means fewer VMs are taken down simultaneously and more remain accessible. Setting the property to 20 therefore gives the maximum possible resilience against fabric maintenance, exactly what the question asks for. Any value above 20 is out of range for an availability set and would be rejected by the ARM template deployment.Why the Other Options Are Wrong
Option A (10) is a valid but suboptimal value — it works, yet halves the update-domain granularity and lets more VMs reboot together than necessary. Options C (30) and D (40) exceed the documented maximum of 20 update domains per availability set, so ARM validation fails and no VMs deploy at all. Note that 3 is the fault-domain limit, not an update-domain limit, so it cannot justify the higher numbers either. Since the requirement is "as many VMs as possible remain accessible," only the maximum valid value satisfies it.Community Comment Notes
Comments consistently converge on B, with tubby04 quoting the official wording, "Each availability set can be configured with up to three fault domains and twenty update domains." Mehedi007 links the same Learn documentation line, and elishlomo explains the mechanism: with fewer update domains, batches of VMs go down together during maintenance. Push_Harder adds that "the best value you could configure against the update domain will be its maximum of 20," while MSExpert and Pradh both ask the site to correct a displayed answer of 40.Official Reference
Exam Strategy
Memorize the availability set pair of limits: 3 fault domains and 20 update domains. If an ARM template question asks for maximum resilience, set platformFaultDomainCount to 3 and platformUpdateDomainCount to 20.
Frequently Asked Questions
Why can't platformUpdateDomainCount be set to 30 or 40?
Azure limits an availability set to a maximum of 20 update domains (and 3 fault domains), so values above 20 fail ARM template validation and the deployment is rejected.
How do update domains keep VMs accessible during maintenance?
Update domains are logical batches rebooted one at a time during planned maintenance, so with 20 domains only a fifth of the VMs are affected at any moment and the rest stay online.
Related Analysis
Practice All AZ-104 Questions
Access 100 questions with complete answers and detailed explanations.
View Full AZ-104 Practice Test →