Learn any cloudLabs
Browser labs
WorkspacesUnknownEach lab below opens in VS Code in your browser with az, terraform, kubectl, helm and ansible already installed, or runs on your own machine from the same container image. Nothing here installs anything on your computer beyond Docker, and nothing you do in a lab reaches anything else: the workspaces run on the Hybrid Lab host, a single server whose Azure Arc status is on the live card further down this page.
Open lab opens the lab's own page: its objectives and steps, and the workspace in a pane. The first time, you sign in with GitHub in a new tab that brings you back, approve the workspace, and land in the lab folder. Workspaces stop after an hour of inactivity and are limited to one CPU and two gigabytes of memory, so treat them as scratch space and keep anything you want in your own repository.
How labs work
- Lab
- A structured exercise on this site: what you will learn, what to have ready, the steps in order, and where a check can confirm your work. Each lab is listed under the provider it teaches.
- Desktop
- The workspace a lab opens in: VS Code in your browser, running in a container on the Hybrid Lab host with the lab’s tools installed and its folder open. You sign in with GitHub, and the workspace stops on its own after an hour of inactivity.
- Agent
- The job runner on the same host. It takes a file or folder you submit, runs one fixed check on it (a Terraform validate, an Ansible syntax check) in a sandbox with no network, and returns what the tool printed. Nothing you submit is executed against anything.
GitHub public identity check only (read:user scope). No repository write access.
Hybrid Lab Pre-Flight Briefing
Every lab launches an isolated, sandboxed container workspace in your browser. Review duration, toolchains, and security guarantees below.
✓ Linting complete: 0 issues found (AVM policy passed)
Pick a lab
AzureAll Azure labs
Validate a Landing Zone Builder download
Take the zip the Landing Zone Builder at /tools/landing-zone hands you, unpack it in the workspace, and run terraform init, fmt and validate against the Azure Verified Modules it declares — the same checks the lab runner applies before anything is planned.
Open lab Validate a Landing Zone Builder download: steps, and the workspace; GitHub sign-in required for the workspaceRun it locally
Change into the folder that holds your files first; the container mounts it at /workspace. Pick the line for the shell you are in.
PowerShelldocker run --rm -it -v ${PWD}:/workspace hybridcloudworks/hcw-lab:latestbashdocker run --rm -it -v "$PWD":/workspace hybridcloudworks/hcw-lab:latestWSL2 Container Sandbox for Coding Agents
Supplementary Linux container simulation (no Windows 11 Azure VM): step into a rootless Linux container workspace that models a WSL2 Ubuntu distribution, inspect Dockerfile.agentic-wslc and /etc/wsl.conf isolation, and validate the Terraform harness offline.
Open lab WSL2 Container Sandbox for Coding Agents: steps, and the workspace; GitHub sign-in required for the workspaceIntermediateabout 25 minutesToolsaz, terraform
Run it locally
Change into the folder that holds your files first; the container mounts it at /workspace. Pick the line for the shell you are in.
PowerShelldocker run --rm -it -v ${PWD}:/workspace hybridcloudworks/hcw-lab:latestbashdocker run --rm -it -v "$PWD":/workspace hybridcloudworks/hcw-lab:latestDefender for Endpoint WSL2 Plug-in & Hunting Walkthrough
Supplementary Linux container simulation (no Windows 11 Azure VM): explore how Microsoft Defender for Endpoint monitors WSL2 Linux distributions (`<HostName>-wslc`), inspect simulated healthcheck and EDR telemetry, practise the three Advanced Hunting KQL queries, and validate the Azure policy baseline.
Open lab Defender for Endpoint WSL2 Plug-in & Hunting Walkthrough: steps, and the workspace; GitHub sign-in required for the workspaceIntermediateabout 30 minutesToolsaz, terraform
Run it locally
Change into the folder that holds your files first; the container mounts it at /workspace. Pick the line for the shell you are in.
PowerShelldocker run --rm -it -v ${PWD}:/workspace hybridcloudworks/hcw-lab:latestbashdocker run --rm -it -v "$PWD":/workspace hybridcloudworks/hcw-lab:latest
AWSAll AWS labs
AWS Multi-Account Transit Gateway Walkthrough
Inspect and validate an enterprise AWS multi-account architecture with AWS Organizations, Service Control Policies, and Transit Gateway routing in an ephemeral container sandbox.
Open lab AWS Multi-Account Transit Gateway Walkthrough: steps, and the workspace; GitHub sign-in required for the workspaceIntermediateabout 15 minutesToolsterraform
Run it locally
Change into the folder that holds your files first; the container mounts it at /workspace. Pick the line for the shell you are in.
PowerShelldocker run --rm -it -v ${PWD}:/workspace hybridcloudworks/hcw-lab:latestbashdocker run --rm -it -v "$PWD":/workspace hybridcloudworks/hcw-lab:latest
Google CloudAll Google Cloud labs
Google Cloud Shared VPC & Org Policies Walkthrough
Explore and validate Google Cloud Foundation Fabric Resource Manager folders, Organization Policies, and Shared VPC Host networking in a browser container workspace.
Open lab Google Cloud Shared VPC & Org Policies Walkthrough: steps, and the workspace; GitHub sign-in required for the workspaceIntermediateabout 15 minutesToolsterraform
Run it locally
Change into the folder that holds your files first; the container mounts it at /workspace. Pick the line for the shell you are in.
PowerShelldocker run --rm -it -v ${PWD}:/workspace hybridcloudworks/hcw-lab:latestbashdocker run --rm -it -v "$PWD":/workspace hybridcloudworks/hcw-lab:latest
VMwareAll VMware labs
VMware HCX Hybrid Interconnect & Migration Walkthrough
Inspect and validate VMware Cloud Foundation (VCF) and Azure VMware Solution (AVS) hybrid interconnect topology, L2 stretched network extensions, and HCX migration policies.
Open lab VMware HCX Hybrid Interconnect & Migration Walkthrough: steps, and the workspace; GitHub sign-in required for the workspaceIntermediateabout 20 minutesToolsterraform
Run it locally
Change into the folder that holds your files first; the container mounts it at /workspace. Pick the line for the shell you are in.
PowerShelldocker run --rm -it -v ${PWD}:/workspace hybridcloudworks/hcw-lab:latestbashdocker run --rm -it -v "$PWD":/workspace hybridcloudworks/hcw-lab:latest
TerraformAll Terraform labs
Terraform validate, step by step
Start from a small root that passes, see what terraform init -backend=false, terraform fmt -check and terraform validate each check, break it three different ways to learn which command catches which mistake, and find out why init works here with no registry at all.
Open lab Terraform validate, step by step: steps, and the workspace; GitHub sign-in required for the workspaceIntroductoryabout 20 minutesToolsterraform
Run it locally
Change into the folder that holds your files first; the container mounts it at /workspace. Pick the line for the shell you are in.
PowerShelldocker run --rm -it -v ${PWD}:/workspace hybridcloudworks/hcw-lab:latestbashdocker run --rm -it -v "$PWD":/workspace hybridcloudworks/hcw-lab:latest
AnsibleAll Ansible labs
Ansible syntax check, step by step
Run ansible-playbook --syntax-check over the playbook that configures the Hybrid Lab host itself, see it fail until the collections it needs are installed, break a play and read what the check reports, and learn what a syntax check is not — with no host in reach and nothing executed.
Open lab Ansible syntax check, step by step: steps, and the workspace; GitHub sign-in required for the workspaceIntroductoryabout 20 minutesToolsansible
Run it locally
Change into the folder that holds your files first; the container mounts it at /workspace. Pick the line for the shell you are in.
PowerShelldocker run --rm -it -v ${PWD}:/workspace hybridcloudworks/hcw-lab:latestbashdocker run --rm -it -v "$PWD":/workspace hybridcloudworks/hcw-lab:latest
DockerAll Docker labs
Docker Sandboxes & Agent Containment Walkthrough
Explore and validate rootless container execution, unprivileged user namespaces, read-only rootfs mounts, and network-isolated local AI agent sandboxes.
Open lab Docker Sandboxes & Agent Containment Walkthrough: steps, and the workspace; GitHub sign-in required for the workspaceIntermediateabout 15 minutesToolsdocker
Run it locally
Change into the folder that holds your files first; the container mounts it at /workspace. Pick the line for the shell you are in.
PowerShelldocker run --rm -it -v ${PWD}:/workspace hybridcloudworks/hcw-lab:latestbashdocker run --rm -it -v "$PWD":/workspace hybridcloudworks/hcw-lab:latest
The Hybrid Lab right now
This card shows what Azure Arc reports for the lab host right now: its connection, its Arc agent and its policy compliance, and whether the lab's job runner is answering.
Reading the lab host status…
Coder status
Coder is where you sign in with GitHub and open a lab workspace. This card shows whether it is up and how many workspaces are running, at most a minute old; your browser does not contact Coder until you open a workspace.
Reading Coder status…
Run an agent against your landing zone
The Docker Sandboxes recipe has its own page in the Docker hub now: Run an agent in a sandbox.
Articles for these labs
- Build a landing zone you can readAzure blog
- Follow along in one containerTerraform blog
- Let an agent explain itTerraform blog