A collection of hands-on labs to learn and practice Azure architecture, services, and Infrastructure as Code (IaC) using Terraform.
This repository contains step-by-step labs covering a wide range of Azure topics, from basic web hosting to advanced networking, security, and full-stack deployments. Each lab is self-contained and includes Terraform code for reproducible infrastructure.
- IaC-first: All labs use Terraform for resource provisioning.
- Progressive complexity: Start simple and build up to advanced, real-world scenarios.
- Best practices: Naming, security, and architecture follow Azure recommendations.
| ID | Labs | IaC? | Status | Description |
|---|---|---|---|---|
| 1 | Lab01 | Yes | DONE | Azure FD + Azure Static Web App |
| 2 | Lab02 | Yes | DONE | Azure App Service |
| 3 | Lab03 | Yes | DONE | Azure FD + Azure Static Web App (Modular approach) |
| 4 | Lab04 | Yes | DONE | Azure FD + Custom Domain + Redirect |
| 5 | Lab05 | Yes | DONE | Build your first static web app |
| 6 | Lab06 | Yes | DONE | Azure FD + Redirect home + Static Web Apps |
| 7 | Lab07 | Yes | DONE | Azure FD + Static Web Apps + cross RG |
| 8 | Lab08 | Yes | DONE | Azure FD + Storage Account + Blob Storage |
| 9 | Lab09 | Yes | DONE | Linux VM |
| 10 | Lab10 | Yes | DONE | Azure Kubernetes Service (AKS) cluster |
| 11 | Lab11 | Yes | DONE | Basic Web Application |
| 12 | Lab12 | Yes | DONE | Fullstack apps with FD/SWA/App Service/SQL/... |
Note: Lab names follow the Abbreviation recommendations for Azure resources.
-
Clone this repository:
git clone https://github.com/TheDevOpsHub/Azure-Labs.git cd Azure-Labs -
Choose a lab:
Navigate to the desired lab folder underLabs/and follow its README for instructions. -
Prerequisites:
- Azure CLI
- Terraform CLI
- An active Azure subscription
-
Each lab contains:
- A dedicated
README.mdwith scenario, architecture, and deployment steps - Terraform code for infrastructure provisioning
- (Optional) Sample application code or deployment scripts
- A dedicated
-
Labs are independent—complete them in any order.
Contributions, suggestions, and issues are welcome! Please open a pull request or issue for improvements or new labs.
Happy learning and building!