AZ-900 Describe Azure architecture and services Practice Question
A company runs a customer-facing e-commerce platform on multiple Azure virtual machines behind a load balancer. The platform experiences unpredictable traffic spikes during promotions. The operations team needs a solution that automatically adds new virtual machines when CPU utilization exceeds 80% and removes virtual machines when utilization drops below 30%. The solution must also ensure that if a virtual machine fails, the load balancer immediately stops routing traffic to it. Which Azure compute service should the team use?
⚠ Common exam trap
Many candidates confuse Availability Sets (which only provide fault-domain redundancy) with the autoscaling and health-probe-based traffic management that only Virtual Machine Scale Sets provide.
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
✓
Virtual Machine Scale Sets
Virtual Machine Scale Sets (VMSS) provide automatic scaling based on metrics like CPU utilization, enabling the platform to add VMs when CPU exceeds 80% and remove VMs when it drops below 30%. Additionally, VMSS integrates with Azure Load Balancer to automatically detect VM failures via health probes and immediately stop routing traffic to unhealthy instances, meeting all stated requirements.
Answer analysis
Option-by-option breakdown
For each option: why learners choose it and why it is or isn't the right answer here.
- ✓
Virtual Machine Scale Sets
Why this is correct
Virtual Machine Scale Sets are the correct choice because they provide true infrastructure-level autoscaling: you define a scaling rule based on metrics such as CPU utilization, and the scale set automatically increments or decrements the number of VM instances to match demand. The scale set natively integrates with an Azure Load Balancer (or Application Gateway) and uses health probes to detect and automatically remove unhealthy VMs from the traffic rotation, ensuring that only healthy instances receive customer traffic for the e-commerce platform.
- ✗
Azure App Service
Why it's wrong here
Incorrect. Azure App Service is a PaaS offering for web applications that does support autoscaling, but the scenario explicitly requires managing virtual machines and a load balancer. App Service abstracts away the VMs, so it is not the appropriate solution here.
When this WOULD be correct
A company wants to deploy a web application with automatic scaling and high availability without managing VMs. The solution must support multiple programming languages and frameworks, provide built-in load balancing, and handle traffic spikes automatically. Azure App Service would be the correct choice.
- ✗
Availability Sets
Why it's wrong here
Incorrect. Availability Sets protect against hardware failures and maintenance events by distributing VMs across fault domains and update domains, but they do not provide autoscaling or the ability to automatically add/remove VMs based on load.
When this WOULD be correct
An exam question asking for a solution to ensure high availability for two or more VMs running the same workload, without any autoscaling requirement, where the goal is to guarantee at least one VM remains available during planned or unplanned maintenance.
- ✗
Azure Batch
Why it's wrong here
Azure Batch is incorrect for this scenario because it is a job-scheduling and compute-pool service designed for large-scale parallel and high-performance computing workloads, not for hosting an always-on, customer-facing web application. Batch runs discrete tasks (e.g., rendering, data processing) on transient pool nodes and does not expose those nodes through a load balancer with health probes for continuous HTTP traffic; it lacks the VMSS-style autoscaling based on real-time performance metrics like CPU usage that the scenario explicitly requires.
When this WOULD be correct
A company needs to run a large number of batch jobs (e.g., video transcoding, financial risk simulations) that can be split into parallel tasks. The solution must automatically provision and manage compute resources to execute these jobs efficiently, and scale based on job queue length.
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-900 exam frequently reuses these exact scenarios with slightly different constraints.
✓Virtual Machine Scale SetsCorrect answer▾
Why this is correct
Virtual Machine Scale Sets are the correct choice because they provide true infrastructure-level autoscaling: you define a scaling rule based on metrics such as CPU utilization, and the scale set automatically increments or decrements the number of VM instances to match demand. The scale set natively integrates with an Azure Load Balancer (or Application Gateway) and uses health probes to detect and automatically remove unhealthy VMs from the traffic rotation, ensuring that only healthy instances receive customer traffic for the e-commerce platform.
✗Azure App ServiceWrong answer — click to see why▾
Why this is wrong here
Azure App Service does not support automatic scaling based on CPU utilization thresholds or health probe-based traffic routing to individual instances; it uses built-in autoscaling but lacks the granular VM-level control and load balancer integration required for this scenario.
★ When this WOULD be the correct answer
A company wants to deploy a web application with automatic scaling and high availability without managing VMs. The solution must support multiple programming languages and frameworks, provide built-in load balancing, and handle traffic spikes automatically. Azure App Service would be the correct choice.
Why candidates choose this
Candidates may confuse App Service's autoscaling feature with VMSS autoscaling, not realizing App Service abstracts away VMs and does not allow direct VM-level health probe configuration with a load balancer.
✗Availability SetsWrong answer — click to see why▾
Why this is wrong here
Availability Sets only provide high availability by grouping VMs across fault and update domains, but they do not support autoscaling based on CPU utilization or automatic VM replacement on failure.
★ When this WOULD be the correct answer
An exam question asking for a solution to ensure high availability for two or more VMs running the same workload, without any autoscaling requirement, where the goal is to guarantee at least one VM remains available during planned or unplanned maintenance.
Why candidates choose this
Candidates may confuse Availability Sets with Scale Sets, thinking that grouping VMs together provides both high availability and scaling capabilities, but Availability Sets lack the autoscaling and health-based auto-replacement features.
✗Azure BatchWrong answer — click to see why▾
Why this is wrong here
Azure Batch is designed for large-scale parallel and high-performance computing (HPC) jobs, not for automatically scaling web servers behind a load balancer based on CPU metrics or handling VM failures in real-time.
★ When this WOULD be the correct answer
A company needs to run a large number of batch jobs (e.g., video transcoding, financial risk simulations) that can be split into parallel tasks. The solution must automatically provision and manage compute resources to execute these jobs efficiently, and scale based on job queue length.
Why candidates choose this
Candidates may confuse 'batch' processing with automatic scaling, or think that Azure Batch can handle any workload that requires adding/removing VMs, without understanding its specific focus on job scheduling and parallel tasks.
Analysis generated from the official AZ-900blueprint 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-900 question is part of Courseiva's 981-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 →
JA
Written by Johnson Ajibi, MSc IT Security
Senior Network & Security Engineer · founder of Courseiva
This AZ-900 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-900 exam.