AZ-104 Deploy and Manage Azure Compute Practice Question
A stateless API must run 4 to 12 identical Windows VMs, scale out automatically when average CPU stays above 70% for 10 minutes, and distribute instances to improve resiliency. Deployments are defined in Bicep. Which Azure compute service should be used?
⚠ Common exam trap
A common mix-up: candidates confuse autoscale settings (which only apply to scale sets or PaaS services) with individual VMs, or assume an availability set provides autoscaling, when in fact it only ensures fault tolerance for a static number of VMs.
Answer choices
Why each option matters
Answer the question above first, then reveal the full breakdown to understand why each option is right or wrong.
Correct answer & explanation
✓
A virtual machine scale set with autoscale enabled
A virtual machine scale set (VMSS) with autoscale enabled is the correct choice because it supports running multiple identical Windows VMs, can automatically scale out when average CPU exceeds 70% for 10 minutes, and distributes instances across fault domains and availability zones for resiliency. Bicep deployments natively define VMSS configurations, making it the ideal compute service for stateless, scalable API workloads.
Answer analysis
Option-by-option breakdown
For each option: why learners choose it and why it is or isn't the right answer here.
- ✗
A single Azure VM with an autoscale setting
Why it's wrong here
A single Azure VM cannot horizontally scale into multiple identical instances; Azure's autoscale feature is not applied to standalone VMs for changing instance count. You could manually resize a lone VM (vertical scaling) to change its SKU, but that does not satisfy the requirement to run 4 to 12 Windows VMs. Even if you wrote custom automation to provision/deprovision VMs, that would not be a native autoscale setting on that single VM, and it would not offer the built-in load balancing and management a scale set provides.
When this WOULD be correct
If the question required a single, stateless VM with automatic scaling within that VM (e.g., scaling application threads) and no need for multiple instances, a single VM with autoscale (via Azure Automation or similar) could be correct.
- ✓
A virtual machine scale set with autoscale enabled
Why this is correct
A virtual machine scale set with autoscale enabled is the correct choice because it is a native Azure service designed to manage a homogeneous pool of Windows VMs. Autoscale rules can dynamically adjust the instance count between the required minimum of 4 and maximum of 12 based on metrics such as CPU utilization or queue depth, ideal for a stateless API. The scale set distributes incoming traffic across all instances via a load balancer, ensuring identical configuration and enabling horizontal scale-out and scale-in without manual intervention.
- ✗
An availability set with manual VM resizing
Why it's wrong here
An availability set primarily provides placement redundancy by distributing VMs across fault domains and update domains, which improves resilience but does not add or remove VM instances. Manually resizing VMs in an availability set changes their VM size (SKU) — a vertical scaling operation — and this cannot adjust the instance count between 4 and 12. Availability sets have no built-in autoscale capability, so you would have to manually provision and delete VMs to meet demand, which is operationally inefficient and does not satisfy the requirement for automatic horizontal scalability.
When this WOULD be correct
For a stateful application requiring high availability with a fixed number of VMs (e.g., 3 VMs) that must be manually resized to handle planned load changes, an availability set with manual VM resizing would be correct.
- ✗
Azure Container Instances running one container per request
Why it's wrong here
Azure Container Instances (ACI) runs containers, not Windows VMs, so it does not meet the explicit requirement for a fleet of identical Windows VMs. Even if ACI could be used to run the stateless API, it lacks the VM-scale-set management model and does not azure natively autoscale to a specific VM instance count range without additional orchestration (e.g., KEDA or Kubernetes). The question demands Windows VM instances with autoscale; ACI is container-based and out of scope for that deployment pattern.
When this WOULD be correct
A question requiring a serverless container service to run stateless Linux containers that scale per request (e.g., HTTP triggers) and do not require VM-level control or Windows OS would make ACI correct.
Option-by-option analysis
Why each answer is right or wrong
Understanding why wrong answers are wrong — and when they would be correct — is what separates a 750 score from a 900. The AZ-104 exam frequently reuses these exact scenarios with slightly different constraints.
✓A virtual machine scale set with autoscale enabledCorrect answer▾
Why this is correct
A virtual machine scale set with autoscale enabled is the correct choice because it is a native Azure service designed to manage a homogeneous pool of Windows VMs. Autoscale rules can dynamically adjust the instance count between the required minimum of 4 and maximum of 12 based on metrics such as CPU utilization or queue depth, ideal for a stateless API. The scale set distributes incoming traffic across all instances via a load balancer, ensuring identical configuration and enabling horizontal scale-out and scale-in without manual intervention.
✗A single Azure VM with an autoscale settingWrong answer — click to see why▾
Why this is wrong here
A single Azure VM cannot scale out to 4-12 instances; autoscale requires a scale set to add or remove VMs, not a single VM.
★ When this WOULD be the correct answer
If the question required a single, stateless VM with automatic scaling within that VM (e.g., scaling application threads) and no need for multiple instances, a single VM with autoscale (via Azure Automation or similar) could be correct.
Why candidates choose this
Candidates may think 'autoscale' applies to any VM, confusing VM-level scaling (e.g., resizing) with instance-level scaling (adding/removing VMs).
✗An availability set with manual VM resizingWrong answer — click to see why▾
Why this is wrong here
An availability set does not provide autoscaling; it only distributes VMs across fault and update domains for high availability. Manual resizing cannot automatically scale out based on CPU thresholds.
★ When this WOULD be the correct answer
For a stateful application requiring high availability with a fixed number of VMs (e.g., 3 VMs) that must be manually resized to handle planned load changes, an availability set with manual VM resizing would be correct.
Why candidates choose this
Candidates may confuse availability sets with scale sets, thinking that distributing VMs for resiliency automatically includes scaling capabilities, or they may overlook the requirement for automatic scaling based on CPU metrics.
✗Azure Container Instances running one container per requestWrong answer — click to see why▾
Why this is wrong here
Azure Container Instances (ACI) does not support autoscaling based on CPU metrics for Windows containers, nor does it provide a VM-based environment for running Windows VMs; it runs containers, not VMs.
★ When this WOULD be the correct answer
A question requiring a serverless container service to run stateless Linux containers that scale per request (e.g., HTTP triggers) and do not require VM-level control or Windows OS would make ACI correct.
Why candidates choose this
Candidates may confuse container instances with VM scale sets, thinking ACI can autoscale VMs, or they may assume 'stateless API' implies containers are always the best choice without considering the requirement for Windows VMs.
Analysis generated from the official AZ-104blueprint and verified against question context. The “when correct” sections are what AI assistants cite when candidates ask “what’s the difference between these options?”
Go deeper
Related to this question
About these practice questions
This AZ-104 question is part of Courseiva's 1,049-question bank — original exam-style content with full explanations and wrong-answer analysis, never real exam questions or exam dumps. Learn why practice questions differ from exam dumps →
Same concept, more angles
2 more ways this is tested on AZ-104
These questions test the same concept from different angles. Work through them to make sure you can recognise it however the exam phrases it.
Variation 1. You need to deploy a set of identical Azure virtual machines that can automatically scale out during demand spikes and scale in when usage falls. Which Azure feature should you use?
medium- A.An availability set
- ✓ B.A Virtual Machine Scale Set
- C.A Recovery Services vault
- D.Boot diagnostics
Why B: A Virtual Machine Scale Set (VMSS) is the correct Azure feature because it is designed specifically to deploy and manage a set of identical, load-balanced VMs that can automatically scale out (increase instance count) during demand spikes and scale in (decrease instance count) when usage falls, using autoscale rules based on metrics like CPU or memory.
Variation 2. You need to run a stateless web workload on Azure virtual machines and automatically increase or decrease instance count based on demand. You also want a single management boundary for the VM instances. Which solution should you deploy?
hard- ✓ A.A Virtual Machine Scale Set
- B.An availability set with individual VMs
- C.Azure Backup
- D.A Recovery Services vault
Why A: A Virtual Machine Scale Set (VMSS) is the correct solution because it provides an autoscaling group of identical VMs that can automatically increase or decrease instance count based on demand (e.g., CPU or memory metrics). It also offers a single management boundary, allowing you to manage, monitor, and scale all instances as a unified resource rather than individually.
JA
Written by Johnson Ajibi, MSc IT Security
Senior Network & Security Engineer · founder of Courseiva
This AZ-104 practice question is part of Courseiva's free Microsoft certification practice question bank. Courseiva provides original exam-style practice questions with explanations, topic-based practice, mock exams, readiness tracking, and study analytics to help learners prepare for the AZ-104 exam.