AZ-900
Deep Dive
VMs, App Service, Containers, Functions, and when to use each one. The compute domain represents ~20% of the AZ-900. The key is knowing how to choose the right service for each scenario.
Contents
Components of a VM
Compute (vCPU + RAM)
The "brain". Measured in vCPUs and GB of RAM. Defines the VM size (e.g., Standard_D4s_v3 = 4 vCPU, 16 GB RAM).
OS Disk (Managed Disk)
The operating system disk. Always present. Premium SSD = faster. Standard HDD = cheaper.
Data Disks
Additional disks for data. A VM can have multiple data disks. Each disk = separate Managed Disk.
Network Interface Card (NIC)
The virtual network card. Connects the VM to a VNet/Subnet. A VM can have multiple NICs.
Public IP (optional)
Public IP address for access from the internet. Without it, the VM is only accessible from within the VNet.
Disk types for VMs
| Type | Max IOPS | Latency | Use |
|---|---|---|---|
| Ultra Disk | 160,000+ | < 1ms | Critical DBs, SAP HANA |
| Premium SSD v2 | 80,000 | < 2ms | General production DBs |
| Premium SSD | 20,000 | < 5ms | Production apps |
| Standard SSD | 6,000 | < 10ms | Web servers, dev/test |
| Standard HDD | 500 | < 20ms | Backups, archives |
VM Scale Sets (VMSS)
A group of identical VMs with automatic auto-scaling. Defines the image, size, and scale rules (CPU > 70% → +1 VM, CPU < 20% → -1 VM).
The VM name (e.g., Standard_D4s_v3) encodes its family, version, and capabilities.
Series B
Burstable
Low baseline CPU, accumulates credits when idle and uses them during spikes. Ideal for intermittent workloads.
Ideal use
Dev/Test, low-traffic web servers, CI/CD agents
Series D
General Purpose
Balance between CPU and memory. The most versatile family. The "default" for most workloads.
Ideal use
Web apps, medium databases, API backends
Series F
Compute Optimized
Higher CPU/RAM ratio. For workloads that need lots of CPU with little RAM.
Ideal use
Gaming servers, simulations, intensive batch processing
Series E
Memory Optimized
High RAM per vCPU ratio. For workloads that need lots of memory.
Ideal use
SAP HANA, in-memory Redis, SQL Server with large databases
Series N
GPU
NVIDIA GPUs. For massively parallel processing.
Ideal use
ML training, AI inference, 3D rendering, scientific simulations
Series L
Storage Optimized
High disk I/O. Ultra-fast local NVMe SSDs (ephemeral).
Ideal use
Cassandra, Elasticsearch, large volumes of transactional data
How to read a VM name
Standard
Tier (Basic/Standard)
D
Family (General Purpose)
4
Number of vCPUs
s
Premium Storage supported
v3
Generation version
| Tier | RAM/CPU | Custom Domain | Slots | Auto-scale | VNet | Use |
|---|---|---|---|---|---|---|
| Free | 1 GB / 1 CPU | ✗ | 0 | ✗ | ✗ | Quick demo/testing |
| Shared | 1 GB / 1 CPU | ✓ | 0 | ✗ | ✗ | Personal dev |
| Basic | 1.75–7 GB | ✓ | 0 | Manual | ✗ | Dev/Test with low traffic |
| Standard | 1.75–7 GB | ✓ | 5 | Auto | ✗ | Small-to-medium production |
| Premium | 3.5–32 GB | ✓ | 20 | Auto+Zone | ✓ | Production with network isolation |
| Isolated | 3.5–32 GB | ✓ | 20 | Auto | Dedicated | Strict compliance, isolated network (ASE) |
Deployment Slots — zero-downtime deployments
Slots are separate environments within the same App Service Plan. Each slot has its own URL (myapp-staging.azurewebsites.net). You can swap between slots atomically — with no downtime.
1. Deploy to Staging
The new version goes to the Staging slot. Staging URL for QA. Production is untouched.
2. Smoke test in Staging
QA verifies at staging.azurewebsites.net. If there are issues, they get fixed without affecting prod.
3. Swap slots
Staging ↔ Production in seconds. No downtime. Rollback = another swap.
Azure Container Instances (ACI)
Serverless containers: no VMs or orchestration to manage. Load a Docker image and run. Billing per second of CPU and GB of RAM used.
ACI = simple and fast. Not meant for production at scale.
Azure Kubernetes Service (AKS)
Managed Kubernetes. Microsoft manages the control plane (kube-apiserver, etcd). You manage the worker nodes (VMs).
AKS = for production at scale with microservices.
ACI vs AKS — when to choose each
| Dimension | ACI | AKS |
|---|---|---|
| Complexity | Minimal | High (Kubernetes is complex) |
| Scale | Limited (manual) | Unlimited (auto-scale) |
| Base cost | $0 (pay for what you use) | Node VMs always running |
| Durability | Ephemeral (tasks) | Persistent (long-running services) |
| Networking | Simple | Advanced (Ingress, Service Mesh) |
Run your first Docker container on Azure without provisioning VMs or an orchestrator, using Azure Container Instances (ACI).
+1 more...
Azure Functions — serverless code
You run code in response to events. No servers to manage. Pay per execution (or CPU time).
Main triggers
Hosting plans
Azure Logic Apps — no-code workflows
Automate workflows visually, without writing code. Connectors for hundreds of services (Office 365, Salesforce, SAP, etc.).
Typical use case
vs Azure Functions
Functions = code. Logic Apps = visual/no-code. Both are serverless.
300+ connectors
SAP, Salesforce, Twitter, SQL, SharePoint, Teams, etc.
Create your first serverless Function App, understand the Consumption plan, and explore a sample function with an HTTP trigger.
+1 more...
Azure Batch
Massive-scale batch processing. Automatically provisions a pool of VMs, runs jobs in parallel, scales to thousands of cores, and releases the VMs when done.
Azure CycleCloud (HPC)
Orchestration of traditional HPC clusters (MPI, SLURM, PBS) in Azure. For scientists and engineers who already have HPC workloads.
Do you need OS control or special licensing?
Is it a web app/API or backend?
Do you have multiple microservices with different scaling needs?
Is it a short task or an event-driven job?
Is it a no-code integration/automation flow?
Is it massive parallel batch processing?
Provision a virtual machine running Windows Server on Azure. VMs are the most widely used IaaS service in the cloud and form the base of the AZ-900 domain.
+1 more...
A capstone lab combining the fundamental concepts: create a Resource Group, provision an Ubuntu VM, and assign a Contributor role via RBAC. This is the most common flow in an Azure team's onboarding.
+1 more...
Create a web app using Azure App Service, Microsoft's PaaS service for hosting applications. Understanding the difference between IaaS and PaaS is one of the most tested concepts on the AZ-900.
+1 more...
Create a Static Web App connected to a GitHub repo, with automatic build and deploy via GitHub Actions.
+1 more...
No guided steps: read a scenario with several stacked requirements and choose, out of 4 compute services, the only one that meets them all.
+1 more...
Did you get this topic?
Test what you just learned
Which Azure service lets you run containers quickly without needing to manage an orchestration cluster?
Put what you learned to the test with original AZ-900 exam questions.
Start AZ-900 mock examUnlimited mock exams with the Pro plan
Log in to track your progress.