Skip to content

Georges034302/az-104-training

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

19 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

AZ-104 Azure Administrator Training

Comprehensive, hands-on training materials for Microsoft Azure Administrator (AZ-104) certification

This repository provides structured learning paths combining conceptual lessons with practical labs, covering all five core domains of Azure administration.

πŸ“‹ Repository Overview

Structure: Each module contains conceptual lessons and hands-on labs organized by topic

  • Lessons: Theory, text-based architecture diagrams, and best practices
  • Labs: Two tracks per module: labs/cli-arm/ and labs/portal/
  • Parameterization: All labs use variables and .env files for portable, reusable configuration
  • Cleanup: Every lab includes explicit cleanup steps (e.g., az group delete, rm -f .env)
  • Portal Labs: All portal labs are written as detailed, step-by-step instructions (not just high-level)

Default Configuration:

  • Region: australiaeast
  • Environment: .env files for portable configuration

πŸŽ“ Training Modules

Module 01: Identity & Governance

Focus: Azure AD (Entra ID), RBAC, managed identities, and governance controls

πŸ“– Lessons

πŸ§ͺ Labs

Module 02: Virtual Networking

Focus: VNets, subnets, NSGs, peering, routing, DNS, and load balancing

πŸ“– Lessons

πŸ§ͺ Labs

Module 02 lab quality baseline:

  • CLI + ARM labs are fully parameterized with .env and include validation + cleanup.
  • Portal labs are detailed step-by-step and aligned with equivalent CLI outcomes.
  • Networking diagrams in labs are text-based (no Mermaid).

Module 03: Azure Storage

Focus: Storage account design, redundancy, blob lifecycle, Azure Files, and secure data access

πŸ“– Lessons

πŸ§ͺ Labs

Module 03 lab quality baseline:

  • CLI + ARM labs are fully parameterized with .env and include validation + cleanup.
  • Portal labs are detailed step-by-step and aligned with equivalent CLI outcomes.
  • Storage lab diagrams are text-based (no Mermaid).

Module 04: Compute Resources

Focus: VM operations, availability design, scaling strategy, App Service administration, and container runtimes

πŸ“– Lessons

  • Virtual Machines - VM resource model, lifecycle states, dependency troubleshooting, and secure operations
  • Availability Sets & Zones - Availability set versus zonal architecture and resilience trade-offs
  • Scaling - Scale up/down versus out/in, VMSS autoscale policy design, and App Service plan scaling semantics
  • App Service - Plan tiers, app configuration, deployment slots, and networking behavior
  • Containers: ACR, ACI & ACA - Image registry workflows, runtime selection, and secure image pull patterns

πŸ§ͺ Labs

Module 04 lab quality baseline:

  • CLI + ARM labs are fully parameterized with .env and include validation + cleanup.
  • Portal labs are detailed step-by-step and aligned with equivalent CLI outcomes.
  • Compute lab diagrams are text-based (no Mermaid).

Module 05: Monitoring & Backup

Focus: Azure Monitor observability, operational alerting, backup recoverability, and resilience planning

πŸ“– Lessons

  • Azure Monitor Foundations - Signal taxonomy, data routing patterns, and troubleshooting workflow across metrics, activity logs, and resource logs
  • Log Analytics & KQL - Workspace/table model, query design, and collection-path precision for operational investigation
  • Alerts & Action Groups - Alert type selection, noise-control strategy, and action routing design for reliable response
  • Azure Backup - Vault/policy/recovery-point behavior, restore paths, and governance practices
  • Azure Site Recovery - Replication, failover/failback lifecycle, and DR validation expectations
  • Availability & Resilience - SLA, RTO/RPO design reasoning and HA/Backup/DR decision alignment

πŸ§ͺ Labs

Module 05 lab quality baseline:

  • CLI + ARM labs are fully parameterized with .env and include explicit validation + cleanup.
  • Portal labs are detailed step-by-step and aligned with equivalent CLI outcomes.
  • Monitoring diagrams in lessons/labs are text-based (no Mermaid).

πŸš€ Getting Started

One-Time Setup

Run this script to install all required tools and authenticate with Azure:

./shared/scripts/az_login.sh

What it does:

  • βœ… Installs Azure CLI (if not present)
  • βœ… Installs Bicep CLI (for infrastructure as code)
  • βœ… Installs jq (for JSON parsing)
  • βœ… Logs you into Azure
  • βœ… Displays your active subscription

Note: You only need to run this once per environment. If already logged in, just skip this step.


Best Practices

βœ… Before starting: Run ./shared/scripts/az_login.sh to set up your environment
βœ… Read first: Review Portal instructions before running CLI commands
βœ… Understand: Know what each command does before executing
βœ… Monitor costs: Check Azure Portal regularly to avoid unexpected charges βœ… Use .env files for portable lab configuration (add .env to .gitignore) βœ… Clean up: Always delete lab resources after completion (including the .env files)

Tip: To see all your lab resource groups, run:

az group list --query "[?starts_with(name,'az104-')].{Name:name,Location:location}" -o table

πŸ“ Repository Structure

.
β”œβ”€β”€ README.md
β”œβ”€β”€ docs/
β”‚   β”œβ”€β”€ cost-safety.md
β”‚   β”œβ”€β”€ naming-standards.md
β”‚   β”œβ”€β”€ prerequisites.md
β”‚   └── toc.md
β”œβ”€β”€ modules/
β”‚   β”œβ”€β”€ 01-identity/
β”‚   β”‚   β”œβ”€β”€ README.md
β”‚   β”‚   β”œβ”€β”€ labs/
β”‚   β”‚   β”‚   β”œβ”€β”€ cli-arm/
β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ 01-rbac-role-assignment.md
β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ 02-managed-identity-storage-access.md
β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ 03-tags-lock-policy.md
β”‚   β”‚   β”‚   β”‚   └── 04-entra-users-groups-rbac.md
β”‚   β”‚   β”‚   └── portal/
β”‚   β”‚   β”‚       β”œβ”€β”€ 01-rbac-role-assignment.md
β”‚   β”‚   β”‚       β”œβ”€β”€ 02-managed-identity-storage-access.md
β”‚   β”‚   β”‚       β”œβ”€β”€ 03-tags-lock-policy.md
β”‚   β”‚   β”‚       └── 04-entra-users-groups-rbac.md
β”‚   β”‚   └── lessons/
β”‚   β”‚       β”œβ”€β”€ 01-entra-id-basics.md
β”‚   β”‚       β”œβ”€β”€ 02-rbac.md
β”‚   β”‚       β”œβ”€β”€ 03-managed-identities.md
β”‚   β”‚       β”œβ”€β”€ 04-azure-policy.md
β”‚   β”‚       └── 05-resource-management-locks-tags.md
β”‚   β”œβ”€β”€ 02-networking/
β”‚   β”‚   β”œβ”€β”€ README.md
β”‚   β”‚   β”œβ”€β”€ labs/
β”‚   β”‚   β”‚   β”œβ”€β”€ cli-arm/
β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ 01-create-vnet-subnets-nsg.md
β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ 02-vnet-peering-connectivity.md
β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ 03-udr-routing-simulation.md
β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ 04-private-endpoint-storage-dns.md
β”‚   β”‚   β”‚   β”‚   └── 05-basic-load-balancer.md
β”‚   β”‚   β”‚   └── portal/
β”‚   β”‚   β”‚       β”œβ”€β”€ 01-create-vnet-subnets-nsg.md
β”‚   β”‚   β”‚       β”œβ”€β”€ 02-vnet-peering-connectivity.md
β”‚   β”‚   β”‚       β”œβ”€β”€ 03-udr-routing-simulation.md
β”‚   β”‚   β”‚       β”œβ”€β”€ 04-private-endpoint-storage-dns.md
β”‚   β”‚   β”‚       └── 05-basic-load-balancer.md
β”‚   β”‚   └── lessons/
β”‚   β”‚       β”œβ”€β”€ 01-vnet-subnets.md
β”‚   β”‚       β”œβ”€β”€ 02-vnet-peering.md
β”‚   β”‚       β”œβ”€β”€ 03-nsg-asg.md
β”‚   β”‚       β”œβ”€β”€ 04-routing-udr.md
β”‚   β”‚       β”œβ”€β”€ 05-azure-dns.md
β”‚   β”‚       β”œβ”€β”€ 06-private-endpoints.md
β”‚   β”‚       └── 07-load-balancing.md
β”‚   β”œβ”€β”€ 03-storage/
β”‚   β”‚   β”œβ”€β”€ README.md
β”‚   β”‚   β”œβ”€β”€ labs/
β”‚   β”‚   β”‚   β”œβ”€β”€ cli-arm/
β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ 01-storage-account-blob-container.md
β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ 02-lifecycle-policy.md
β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ 03-azure-files-share.md
β”‚   β”‚   β”‚   β”‚   └── 04-sas-vs-rbac.md
β”‚   β”‚   β”‚   └── portal/
β”‚   β”‚   β”‚       β”œβ”€β”€ 01-storage-account-blob-container.md
β”‚   β”‚   β”‚       β”œβ”€β”€ 02-lifecycle-policy.md
β”‚   β”‚   β”‚       β”œβ”€β”€ 03-azure-files-share.md
β”‚   β”‚   β”‚       └── 04-sas-vs-rbac.md
β”‚   β”‚   └── lessons/
β”‚   β”‚       β”œβ”€β”€ 01-storage-accounts-redundancy.md
β”‚   β”‚       β”œβ”€β”€ 02-blob-lifecycle.md
β”‚   β”‚       β”œβ”€β”€ 03-azure-files.md
β”‚   β”‚       └── 04-storage-security-sas-rbac.md
β”‚   β”œβ”€β”€ 04-compute/
β”‚   β”‚   β”œβ”€β”€ README.md
β”‚   β”‚   β”œβ”€β”€ labs/
β”‚   β”‚   β”‚   β”œβ”€β”€ cli-arm/
β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ 01-deploy-vm.md
β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ 02-vm-availability.md
β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ 03-vmss-autoscale.md
β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ 04-app-service-deploy.md
β”‚   β”‚   β”‚   β”‚   └── 05-acr-aci-container.md
β”‚   β”‚   β”‚   └── portal/
β”‚   β”‚   β”‚       β”œβ”€β”€ 01-deploy-vm.md
β”‚   β”‚   β”‚       β”œβ”€β”€ 02-vm-availability.md
β”‚   β”‚   β”‚       β”œβ”€β”€ 03-vmss-autoscale.md
β”‚   β”‚   β”‚       β”œβ”€β”€ 04-app-service-deploy.md
β”‚   β”‚   β”‚       └── 05-acr-aci-container.md
β”‚   β”‚   └── lessons/
β”‚   β”‚       β”œβ”€β”€ 01-virtual-machines.md
β”‚   β”‚       β”œβ”€β”€ 02-availability-sets-zones.md
β”‚   β”‚       β”œβ”€β”€ 03-scaling.md
β”‚   β”‚       β”œβ”€β”€ 04-app-service.md
β”‚   β”‚       └── 05-containers-acr-aci-aca.md
β”‚   └── 05-monitoring/
β”‚       β”œβ”€β”€ README.md
β”‚       β”œβ”€β”€ labs/
β”‚       β”‚   β”œβ”€β”€ cli-arm/
β”‚       β”‚   β”‚   β”œβ”€β”€ 01-enable-vm-insights.md
β”‚       β”‚   β”‚   β”œβ”€β”€ 02-create-alert-action-group.md
β”‚       β”‚   β”‚   β”œβ”€β”€ 03-backup-and-restore-vm.md
β”‚       β”‚   β”‚   └── 04-service-health-resource-health-alerts.md
β”‚       β”‚   └── portal/
β”‚       β”‚       β”œβ”€β”€ 01-enable-vm-insights.md
β”‚       β”‚       β”œβ”€β”€ 02-create-alert-action-group.md
β”‚       β”‚       β”œβ”€β”€ 03-backup-and-restore-vm.md
β”‚       β”‚       └── 04-service-health-resource-health-alerts.md
β”‚       └── lessons/
β”‚           β”œβ”€β”€ 01-azure-monitor.md
β”‚           β”œβ”€β”€ 02-log-analytics-kql.md
β”‚           β”œβ”€β”€ 03-alerts-action-groups.md
β”‚           β”œβ”€β”€ 04-azure-backup.md
β”‚           β”œβ”€β”€ 05-azure-site-recovery.md
β”‚           └── 06-availability-resilience.md
└── shared/
    └── scripts/
        └── az_login.sh

πŸ“Š 5 modules β€’ 27 lessons β€’ 44 labs (22 CLI+ARM + 22 Portal) β€’ 82 total files

πŸ›‘οΈ Cost Safety

All labs are designed with cost optimization:

  • Small VM sizes (B1s tier)
  • Short-lived resources
  • Async deletion (--no-wait)
  • Default to australiaeast region
  • .env files excluded from version control

🎯 Exam Preparation

These materials align with the official AZ-104 exam domains:

  • Identity & Governance (15-20%)
  • Storage (15-20%)
  • Compute (20-25%)
  • Networking (25-30%)
  • Monitoring & Backup (10-15%)

Good luck with your certification! πŸŽ“


πŸ§‘β€πŸ« Author: Georges Bou Ghantous

AZ-104 certification training materials with 27 lessons and 44 hands-on lab guides (22 CLI+ARM and 22 Portal) covering all five Azure Administrator exam domains.


About

AZ-104 Azure Administrator training repository covering identity, networking, storage, compute, monitoring, backup, disaster recovery, scaling, and governance through structured lessons and hands-on labs using Azure Portal, CLI, and ARM.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages