D2 · Architecture and Services

Azure compute services

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.

Icon-compute-21

in depth

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

TypeMax IOPSLatencyUse
Ultra Disk160,000+< 1msCritical DBs, SAP HANA
Premium SSD v280,000< 2msGeneral production DBs
Premium SSD20,000< 5msProduction apps
Standard SSD6,000< 10msWeb servers, dev/test
Standard HDD500< 20msBackups, archives

VM Scale Sets (VMSS)

A group of identical VMs with . Defines the image, size, and scale rules (CPU > 70% → +1 VM, CPU < 20% → -1 VM).

  • Configurable Min/Max instance count (e.g., minimum 2, maximum 50)
  • Automatic Load Balancer across instances
  • Automatic image upgrade (rolling or simultaneous)
  • Spot VMs in VMSS for interruption-tolerant workloads (up to 90% discount)
Icon-compute-34

VM families and series

The VM name (e.g., Standard_D4s_v3) encodes its family, version, and capabilities.

B

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

D

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

F

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

E

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

N

Series N

GPU

NVIDIA GPUs. For massively parallel processing.

Ideal use

ML training, AI inference, 3D rendering, scientific simulations

L

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_D4s_v3

Standard

Tier (Basic/Standard)

D

Family (General Purpose)

4

Number of vCPUs

s

Premium Storage supported

v3

Generation version

Icon-web-41

— tiers and deployment slots

TierRAM/CPUCustom DomainSlotsAuto-scaleVNetUse
Free1 GB / 1 CPU✗0✗✗Quick demo/testing
Shared1 GB / 1 CPU✓0✗✗Personal dev
Basic1.75–7 GB✓0Manual✗Dev/Test with low traffic
Standard1.75–7 GB✓5Auto✗Small-to-medium production
Premium3.5–32 GB✓20Auto+Zone✓Production with network isolation
Isolated3.5–32 GB✓20AutoDedicatedStrict 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.

Icon-compute-23

Containers: ACI and AKS

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.

StartupSeconds (not minutes like VMs)
ScalingManual (create more instances) — no auto-scale
StateStateless by default (ephemeral)
NetworkingPublic or private IP in a VNet
Use casesShort tasks, CI/CD jobs, demos, testing

ACI = simple and fast. Not meant for production at scale.

Managed Kubernetes. Microsoft manages the control plane (kube-apiserver, etcd). You manage the worker nodes (VMs).

Control planeFree — managed by Microsoft
NodesVMs you pay for normally (D-series typical)
Auto-scalingCluster Autoscaler + Horizontal Pod Autoscaler
GitOpsAzure Arc + Flux for native GitOps
Use casesMicroservices, cloud-native apps, ML workloads

AKS = for production at scale with microservices.

ACI vs AKS — when to choose each

DimensionACIAKS
ComplexityMinimalHigh (Kubernetes is complex)
ScaleLimited (manual)Unlimited (auto-scale)
Base cost$0 (pay for what you use)Node VMs always running
DurabilityEphemeral (tasks)Persistent (long-running services)
NetworkingSimpleAdvanced (Ingress, Service Mesh)
Related labD2 · Architecture and services

Deploy a container with Azure Container Instances

Run your first Docker container on Azure without provisioning VMs or an orchestrator, using Azure Container Instances (ACI).

Understand what ACI solves compared to a VM or a Kubernetes cluster
Deploy a container from a public image

+1 more...

6 min9 steps
Icon-compute-29

Azure Functions and Logic Apps

— serverless code

You run code in response to events. No servers to manage. Pay per execution (or CPU time).

Main triggers

HTTP trigger: An HTTP request triggers the function. Serverless REST API.
Timer trigger: Cron schedule. E.g., "run every night at 2am".
Blob trigger: Triggered when a file is uploaded to Azure Storage.
Queue trigger: Processes messages from a Service Bus or Storage Queue.
Event Hub trigger: Processes IoT/telemetry event streams.

Hosting plans

  • • Consumption: pay per execution. Scales to zero. Cold start.
  • • Premium: no cold start, VNet, pre-warmed instances.
  • • Dedicated (App Service): dedicated VMs. No serverless pricing.

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

Trigger: Email with attachment arrives in Outlook
→ Save attachment to SharePoint
→ Notify in Teams
→ Create task in Planner
→ Update record in Dynamics 365

vs Azure Functions

Functions = code. Logic Apps = visual/no-code. Both are serverless.

300+ connectors

SAP, Salesforce, Twitter, SQL, SharePoint, Teams, etc.

Related labD2 · Architecture and services

Create an Azure Function and test an HTTP trigger

Create your first serverless Function App, understand the Consumption plan, and explore a sample function with an HTTP trigger.

Understand Azure Functions' serverless compute model
Create a Function App on the Consumption plan

+1 more...

8 min9 steps

Azure Batch and HPC

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.

  • Financial simulations (Monte Carlo with millions of iterations)
  • VFX rendering (thousands of frames in parallel)
  • Genomic analysis (processing human genomes)
  • ML training on massive datasets

Azure CycleCloud (HPC)

Orchestration of traditional HPC clusters (MPI, SLURM, PBS) in Azure. For scientists and engineers who already have HPC workloads.

  • HPC clusters with InfiniBand (200Gbps between nodes, ultra-low latency)
  • MPI (Message Passing Interface) workloads for distributed computing
  • CFD (Computational Fluid Dynamics) for aerospace engineering

Compute decision tree

1

Do you need OS control or special licensing?

YES: → Azure VMs ()NO: Continue
2

Is it a web app/API or backend?

YES: → Azure App Service () or Azure Container AppsNO: Continue
3

Do you have multiple microservices with different scaling needs?

YES: → AKS (Kubernetes)NO: Continue
4

Is it a short task or an event-driven job?

YES: → Azure Functions (serverless) or ACINO: Continue
5

Is it a no-code integration/automation flow?

YES: → Azure Logic AppsNO: Continue
6

Is it massive parallel batch processing?

YES: → Azure BatchNO: → Review the previous cases
Related labD2 · Architecture and services

Create a Windows Virtual Machine

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.

Understand the process of creating a VM in Azure
Identify the image, size, and region options

+1 more...

12 min9 steps
Related labD2 · Architecture and services

Full flow: create a VM and set up RBAC access

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.

Run the full infrastructure creation flow in Azure
Create an Ubuntu Virtual Machine inside the Resource Group

+1 more...

20 min17 steps
Related labD3 · Management, security, and compliance

Deploy a web app with App Service (PaaS)

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.

Understand what PaaS is and how it differs from IaaS
Create an App Service with a Node.js runtime in Azure

+1 more...

12 min8 steps
Related labD2 · Architecture and services

Deploy a static site with Azure Static Web Apps

Create a Static Web App connected to a GitHub repo, with automatic build and deploy via GitHub Actions.

Understand Static Web Apps' hosting model
Configure the Free plan and connect a GitHub repo

+1 more...

7 min8 steps
Related labD2 · Architecture and services

Challenge: pick the right compute service

No guided steps: read a scenario with several stacked requirements and choose, out of 4 compute services, the only one that meets them all.

Compare Virtual Machines, App Service, Azure Functions, and Container Instances
Eliminate options based on stacked requirements

+1 more...

4 min2 steps

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?

Ready to test "Compute services"?

Put what you learned to the test with original AZ-900 exam questions.

Start AZ-900 mock exam

Unlimited mock exams with the Pro plan

Log in to track your progress.