AZ-104 Azure Administrator β Project-Based Lab Portfolio
This repository was built through HandsOnCert β a guided cloud certification platform that delivers a passing exam score and a GitHub portfolio simultaneously. Every project, screenshot, and ARM template in this repo was completed as part of the AZ-104 structured lab path. Learn Β· Build Β· Prove.
This repository contains the complete evidence pack for the Microsoft AZ-104: Azure Administrator Associate certification. All 5 projects were completed using real Azure resources β not simulations. Each project maps to official exam objectives and produces verifiable GitHub evidence.
π Projects Overview
Project 1 β Azure Compute & Identity Management β
Project 2 β Azure Networking & Storage β
Project 3 β Monitoring, Backup & Recovery β
Project 4 β Entra ID & Identity Management β
Project 5 β App Service & Scaling β
πΈ Evidence Screenshots
Selected screenshots from the lab portfolio. Full evidence packs are in each project folder.
π Evidence Summary
| Project | Key Resources Created | Evidence | Done |
|---|---|---|---|
| 1 β Compute & Identity | Ubuntu VM, Key Vault, RBAC groups, Azure Policy, Cost Budget | 12 screenshots + ARM |
β |
| 2 β Networking & Storage | VNet (10.0.0.0/16), NSG, Private Endpoint, Storage Account w/ LRS | 8 screenshots + 2 ARM |
β |
| 3 β Monitoring & Backup | Log Analytics Workspace, DCR, Alert Rules, Recovery Services Vault | 11 screenshots + 3 KQL |
β |
| 4 β Entra ID & IAM | App Registration, API Permissions, Client Secret, MFA, Sign-in Logs | 10 screenshots |
β |
| 5 β App Service & Scaling | Python Flask app deployed, Alert Rules, Metrics dashboard | 10 screenshots + live URL |
β |
π KQL Queries (Project 3)
Sample queries run against the Log Analytics workspace during Project 3:
// Heartbeat β verify VM connectivity to Log Analytics
Heartbeat
| summarize LastHeartbeat = max(TimeGenerated) by Computer
| project Computer, LastHeartbeat
// CPU Performance β average processor utilization
Perf
| where CounterName == "% Processor Time"
| summarize avg(CounterValue) by Computer, bin(TimeGenerated, 5m)
| order by TimeGenerated desc
π ARM Templates (Project 2)
Infrastructure as Code templates exported from the Azure Portal after each deployment:
project-2-networking-storage/arm-templates/vnet-template.jsonβ VNet with 2 subnets, NSG, service endpointsproject-2-networking-storage/arm-templates/storage-template.jsonβ Storage account with Private Endpoint, LRS, encryption
π‘ Key Lessons Learned
- Azure Policy blocked Project 2 β the tag enforcement policy I created in Project 1 required an Environment tag on all resources. Had to add
Environment: Labto all Project 2 resources. Governance works. - Private Endpoint vs Service Endpoint β Service Endpoints keep traffic on the Azure backbone but the resource is still technically public. Private Endpoints give a storage account a private IP and make it fully inaccessible from the internet.
- Log Analytics region matching β the workspace MUST be in the same region as the VM for Data Collection Rules to work. Learned this the hard way in Project 3.
- P1 license required for Conditional Access β group-based app assignment requires Entra ID P1. Free tier supports individual user assignment only.
- Deployment slots require S1+ tier β Free F1 App Service plan doesn't support deployment slots or autoscaling. Documented the limitation and moved on.
π Exam Resources Used
- Microsoft Learn AZ-104 Learning Path β free, structured, lab-included
- John Savill's AZ-104 Study Cram β YouTube, ~4 hours, covers everything
- Tutorials Dojo Practice Exams β completed 3 full practice exams before exam day
- HandsOnCert AZ-104 Lab Path β these 5 projects, with Cert Buddy AI guidance throughout
π€ About Alex Remi
Career switcher from retail management breaking into cloud. Completed AZ-900 in January 2026, AZ-104 in May 2026 after 3 weeks of dedicated study and hands-on lab work via HandsOnCert. Currently targeting SAA-C03 (AWS) next.
Built with HandsOnCert Β· handsoncert.com Β· Learn Β· Build Β· Prove