# microsoft/windows-server-azure-lab architecture

> Architecture diagram of the GitHub repository microsoft/windows-server-azure-lab, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-09-30). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/microsoft/windows-server-azure-lab
- Repository: https://github.com/microsoft/windows-server-azure-lab

## Overview

This repository is a self-paced Azure lab, not an executable application. The learner follows Exercise 1 to deploy IIS virtual machines, then uses those VMs in Exercises 2–5 for gateway, monitoring, backup, and security tasks; Exercise 6 is independent. The graph follows the README’s stated exercise goals and dependencies; no source excerpts were provided, so relationships are limited to those documented there.

Main entry points: [`Exercises/01-iis-availability-set-lab.md`](https://github.com/microsoft/windows-server-azure-lab/blob/main/Exercises/01-iis-availability-set-lab.md) (IIS VMs), [`Exercises/04-backup-recovery-lab.md`](https://github.com/microsoft/windows-server-azure-lab/blob/main/Exercises/04-backup-recovery-lab.md) (Backup and Restore), [`Exercises/05-defender-for-cloud-lab.md`](https://github.com/microsoft/windows-server-azure-lab/blob/main/Exercises/05-defender-for-cloud-lab.md) (Security and Updates), [`Exercises/02-application-gateway-lab.md`](https://github.com/microsoft/windows-server-azure-lab/blob/main/Exercises/02-application-gateway-lab.md) (Application Gateway)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_foundation["VM Foundation"]
  node_exercise1["Deploy IIS VMs"]
  node_iis_vms["IIS VMs"]
  node_wac["Windows Admin Center"]
end

subgraph group_operations["VM Operations"]
  node_exercise2["Application Gateway"]
  node_gateway["Azure Application Gateway"]
  node_exercise3["Monitoring"]
  node_monitor[("Log Analytics")]
  node_exercise4["Backup and Restore"]
  node_backup["Azure Backup"]
  node_restored_vm["Restored VM"]
  node_exercise5["Security and Updates"]
  node_defender["Defender for Cloud"]
  node_update_manager["Azure Update Manager"]
end

subgraph group_identity["Identity Lab"]
  node_exercise6["Domain Services"]
  node_entra["Entra Domain Services"]
  node_domain_vm["Domain-joined VM"]
end

node_learner(("Learner"))

node_learner -->|"follows"| node_exercise1
node_exercise1 -->|"deploys"| node_iis_vms
node_exercise1 -->|"configures management"| node_wac
node_learner -->|"follows"| node_exercise2
node_exercise2 -->|"uses"| node_iis_vms
node_exercise2 -->|"configures"| node_gateway
node_learner -->|"follows"| node_exercise3
node_exercise3 -->|"collects telemetry"| node_iis_vms
node_exercise3 -->|"sends telemetry"| node_monitor
node_learner -->|"follows"| node_exercise4
node_exercise4 -->|"protects"| node_iis_vms
node_exercise4 -->|"uses"| node_backup
node_exercise4 -->|"restores"| node_restored_vm
node_learner -->|"follows"| node_exercise5
node_exercise5 -->|"secures"| node_iis_vms
node_exercise5 -->|"configures"| node_defender
node_exercise5 -->|"uses"| node_update_manager
node_learner -->|"follows independently"| node_exercise6
node_exercise6 -->|"configures"| node_entra
node_exercise6 -->|"domain joins"| node_domain_vm

click node_exercise1 "https://github.com/microsoft/windows-server-azure-lab/blob/main/Exercises/01-iis-availability-set-lab.md"
click node_iis_vms "https://github.com/microsoft/windows-server-azure-lab/blob/main/Exercises/01-iis-availability-set-lab.md"
click node_wac "https://github.com/microsoft/windows-server-azure-lab/blob/main/Exercises/01-iis-availability-set-lab.md"
click node_exercise2 "https://github.com/microsoft/windows-server-azure-lab/blob/main/Exercises/02-application-gateway-lab.md"
click node_gateway "https://github.com/microsoft/windows-server-azure-lab/blob/main/Exercises/02-application-gateway-lab.md"
click node_exercise3 "https://github.com/microsoft/windows-server-azure-lab/blob/main/Exercises/03-log-analytics-monitoring-lab.md"
click node_monitor "https://github.com/microsoft/windows-server-azure-lab/blob/main/Exercises/03-log-analytics-monitoring-lab.md"
click node_exercise4 "https://github.com/microsoft/windows-server-azure-lab/blob/main/Exercises/04-backup-recovery-lab.md"
click node_backup "https://github.com/microsoft/windows-server-azure-lab/blob/main/Exercises/04-backup-recovery-lab.md"
click node_restored_vm "https://github.com/microsoft/windows-server-azure-lab/blob/main/Exercises/04-backup-recovery-lab.md"
click node_exercise5 "https://github.com/microsoft/windows-server-azure-lab/blob/main/Exercises/05-defender-for-cloud-lab.md"
click node_defender "https://github.com/microsoft/windows-server-azure-lab/blob/main/Exercises/05-defender-for-cloud-lab.md"
click node_update_manager "https://github.com/microsoft/windows-server-azure-lab/blob/main/Exercises/05-defender-for-cloud-lab.md"
click node_exercise6 "https://github.com/microsoft/windows-server-azure-lab/blob/main/Exercises/06-entra-domain-services-lab.md"
click node_entra "https://github.com/microsoft/windows-server-azure-lab/blob/main/Exercises/06-entra-domain-services-lab.md"
click node_domain_vm "https://github.com/microsoft/windows-server-azure-lab/blob/main/Exercises/06-entra-domain-services-lab.md"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_exercise1,node_iis_vms,node_wac toneBlue
class node_exercise2,node_gateway,node_exercise3,node_monitor,node_exercise4,node_backup,node_restored_vm,node_exercise5,node_defender,node_update_manager toneAmber
class node_exercise6,node_entra,node_domain_vm toneMint
class node_learner toneIndigo
```

## Components

### VM Foundation

- [Deploy IIS VMs](https://github.com/microsoft/windows-server-azure-lab/blob/main/Exercises/01-iis-availability-set-lab.md): `Exercises/01-iis-availability-set-lab.md`
- [IIS VMs](https://github.com/microsoft/windows-server-azure-lab/blob/main/Exercises/01-iis-availability-set-lab.md): `Exercises/01-iis-availability-set-lab.md`
- [Windows Admin Center](https://github.com/microsoft/windows-server-azure-lab/blob/main/Exercises/01-iis-availability-set-lab.md): `Exercises/01-iis-availability-set-lab.md`

### VM Operations

- [Application Gateway](https://github.com/microsoft/windows-server-azure-lab/blob/main/Exercises/02-application-gateway-lab.md): `Exercises/02-application-gateway-lab.md`
- [Azure Application Gateway](https://github.com/microsoft/windows-server-azure-lab/blob/main/Exercises/02-application-gateway-lab.md): `Exercises/02-application-gateway-lab.md`
- [Monitoring](https://github.com/microsoft/windows-server-azure-lab/blob/main/Exercises/03-log-analytics-monitoring-lab.md): `Exercises/03-log-analytics-monitoring-lab.md`
- [Log Analytics](https://github.com/microsoft/windows-server-azure-lab/blob/main/Exercises/03-log-analytics-monitoring-lab.md): `Exercises/03-log-analytics-monitoring-lab.md`
- [Backup and Restore](https://github.com/microsoft/windows-server-azure-lab/blob/main/Exercises/04-backup-recovery-lab.md): `Exercises/04-backup-recovery-lab.md`
- [Azure Backup](https://github.com/microsoft/windows-server-azure-lab/blob/main/Exercises/04-backup-recovery-lab.md): `Exercises/04-backup-recovery-lab.md`
- [Restored VM](https://github.com/microsoft/windows-server-azure-lab/blob/main/Exercises/04-backup-recovery-lab.md): `Exercises/04-backup-recovery-lab.md`
- [Security and Updates](https://github.com/microsoft/windows-server-azure-lab/blob/main/Exercises/05-defender-for-cloud-lab.md): `Exercises/05-defender-for-cloud-lab.md`
- [Defender for Cloud](https://github.com/microsoft/windows-server-azure-lab/blob/main/Exercises/05-defender-for-cloud-lab.md): `Exercises/05-defender-for-cloud-lab.md`
- [Azure Update Manager](https://github.com/microsoft/windows-server-azure-lab/blob/main/Exercises/05-defender-for-cloud-lab.md): `Exercises/05-defender-for-cloud-lab.md`

### Identity Lab

- [Domain Services](https://github.com/microsoft/windows-server-azure-lab/blob/main/Exercises/06-entra-domain-services-lab.md): `Exercises/06-entra-domain-services-lab.md`
- [Entra Domain Services](https://github.com/microsoft/windows-server-azure-lab/blob/main/Exercises/06-entra-domain-services-lab.md): `Exercises/06-entra-domain-services-lab.md`
- [Domain-joined VM](https://github.com/microsoft/windows-server-azure-lab/blob/main/Exercises/06-entra-domain-services-lab.md): `Exercises/06-entra-domain-services-lab.md`

### Other components

- **Learner**

## Connections

- Learner → Deploy IIS VMs: follows (evidence: `README.md`)
- Deploy IIS VMs → IIS VMs: deploys (evidence: `README.md`)
- Deploy IIS VMs → Windows Admin Center: configures management (evidence: `README.md`)
- Learner → Application Gateway: follows (evidence: `README.md`)
- Application Gateway → IIS VMs: uses (evidence: `README.md`)
- Application Gateway → Azure Application Gateway: configures (evidence: `README.md`)
- Learner → Monitoring: follows (evidence: `README.md`)
- Monitoring → IIS VMs: collects telemetry (evidence: `README.md`)
- Monitoring → Log Analytics: sends telemetry (evidence: `README.md`)
- Learner → Backup and Restore: follows (evidence: `README.md`)
- Backup and Restore → IIS VMs: protects (evidence: `README.md`)
- Backup and Restore → Azure Backup: uses (evidence: `README.md`)
- Backup and Restore → Restored VM: restores (evidence: `README.md`)
- Learner → Security and Updates: follows (evidence: `README.md`)
- Security and Updates → IIS VMs: secures (evidence: `README.md`)
- Security and Updates → Defender for Cloud: configures (evidence: `README.md`)
- Security and Updates → Azure Update Manager: uses (evidence: `README.md`)
- Learner → Domain Services: follows independently (evidence: `README.md`)
- Domain Services → Entra Domain Services: configures (evidence: `README.md`)
- Domain Services → Domain-joined VM: domain joins (evidence: `README.md`)
