AZ-900 Describe Azure architecture and services Practice Question
Which Azure service allows you to run Windows or Linux virtual machines in Azure?
⚠ Common exam trap
Test-takers frequently confuse PaaS services like App Service or serverless Functions with IaaS VMs, leading candidates to think they can run full OS-level workloads on services that only support code or containers.
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
✓
Azure Virtual Machines
Azure Virtual Machines (IaaS) provides full control over the guest operating system, allowing you to run both Windows and Linux VMs with custom configurations. Unlike PaaS or serverless services, VMs give you direct access to the OS for installing software, managing updates, and configuring networking.
Answer analysis
Option-by-option breakdown
For each option: why learners choose it and why it is or isn't the right answer here.
- ✗
Azure App Service
Why it's wrong here
Azure App Service is a platform-as-a-service (PaaS) offering that fully manages the underlying infrastructure, including the OS patching, load balancing, and runtime environment. While it is ideal for web apps, REST APIs, and mobile backends, it does not provide user-level access to the OS or the ability to install custom drivers or kernel modules. Therefore, for scenarios requiring full OS-level control—such as custom IIS extensions or legacy in-place migrations—App Service is not an appropriate choice.
- ✓
Azure Virtual Machines
Why this is correct
Azure Virtual Machines (VMs) are an infrastructure-as-a-service (IaaS) compute resource, giving you complete administrative control over the guest OS, whether Windows or Linux. You retain responsibility for OS updates, security configurations, and application deployment, while Azure handles the physical hardware and hypervisor. This full OS-level control is the defining feature that makes VMs the correct answer for workloads needing custom software stacks, specialized drivers, or legacy application compatibility that cannot be met by PaaS or serverless services.
- ✗
Azure Container Instances
Why it's wrong here
Azure Container Instances (ACI) runs containers directly in Azure without managing underlying virtual machines, but containers are not full OS instances. Containers share the host kernel and provide process-level isolation, which means you cannot run a separate OS inside them—only the container's user-mode components. While ACI offers fast startup and simple deployment for microservices or batch jobs, it lacks the complete OS isolation and raw hardware control that an Azure Virtual Machine provides, making it an incorrect choice for full OS-level control scenarios.
- ✗
Azure Functions
Why it's wrong here
Azure Functions is a serverless, event-driven compute service that executes code in response to triggers such as HTTP requests, timers, or queue messages. It abstracts away the entire virtual server, automatically scaling based on demand and charging only for execution time. However, Functions does not provide a full virtual server environment or persistent OS-level access; instead, it runs stateless code in a managed runtime, making it unsuitable for tasks that require installing custom binaries, modifying system settings, or maintaining a persistent session.
Quick reference
Cloud Service Model Comparison
| Model | You Manage | Provider Manages | Examples |
|---|---|---|---|
| IaaS | OS, runtime, apps, data | Hardware, hypervisor, networking | EC2, Azure VMs, GCP Compute Engine |
| PaaS | Apps and data | OS, runtime, middleware, hardware | Elastic Beanstalk, Azure App Service |
| SaaS | Data and settings only | Everything else | Microsoft 365, Salesforce, Workday |
| FaaS / Serverless | Function code only | Infra, scaling, runtime | Lambda, Azure Functions, Cloud Run |
| CaaS | Containers and apps | Kubernetes, OS, hardware | EKS, AKS, GKE |
Go deeper
Related to this question
Learn chapter
Azure Regions and Geographies
Key term
Serverless
Serverless is a cloud computing model where the cloud provider manages the servers, and you only pay for the actual compute time your code uses, without having to worry about provisioning or maintaining infrastructure.
Key term
IaaS
IaaS stands for Infrastructure as a Service, which means renting virtual computing resources like servers, storage, and networking from a cloud provider instead of buying and managing physical hardware yourself.
About these practice questions
Courseiva writes every AZ-900 question from scratch — 981 in total, each with an explanation and a wrong-answer breakdown. None are copied from real exams or 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.