Skip to content

thomast1906/DevOps-Journey-Using-Azure-DevOps

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

43 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

License: MITBlogLinkedInX / Twitter

🎯 What You'll Learn   ✅ Prerequisites   🗺️ Lab Sequence   🔄 CI/CD Flow   🙋 Getting Help

DevOps Journey Using Azure DevOps

✨ A hands-on, end-to-end DevOps course — from zero pipeline to a fully monitored AKS application.

This course walks you through a real-world DevOps setup using Azure DevOps, Terraform, AKS, and Application Insights. Every lab builds on the last, so by the end you'll have a production-style CI/CD pipeline deploying a containerised Python app to Kubernetes — with monitoring and alerting configured.

No prior Azure DevOps experience required. If you're comfortable with the Azure portal and a terminal, you're ready.

This course is designed for:

  • Cloud engineers who want hands-on Azure DevOps and AKS experience
  • Developers looking to understand infrastructure-as-code with Terraform
  • Teams wanting a reference implementation for CI/CD on Azure

🎯 What You'll Learn

Topic Skills Gained
🛠️ Azure DevOps Organisations, projects, pipelines-as-code, Workload Identity Federation
🏗️ Terraform on Azure Remote state, modules, AKS, ACR, VNet, Key Vault, Application Insights
🐳 Containers & ACR Docker builds, pushing images, service connections
🚀 AKS Deployment Helm, ALB Controller, Gateway API, kubelogin
🔄 CI/CD Trigger configuration, automated rollouts, rollout status gating
📊 Monitoring Application Insights, availability tests, Log Analytics Container Insights

✅ Prerequisites

Before starting, review the full prerequisites guide. You'll need:

  • Azure subscription with Contributor access
  • Azure DevOps organisationcreate one free
  • Azure CLIaz installed and authenticated
  • Terraform — v1.14+
  • Docker Desktop — for local image testing
  • kubectl and kubelogin
  • Helm — v3+

📚 Lab Sequence

Complete the labs in order — each builds on the previous.

Lab Title What You'll Do
1a 🔧 Azure DevOps Setup Create org, project, and WIF service connection
1b 🗄️ Terraform Remote State Create Azure Storage for Terraform state
1c 👥 AKS Admin AD Group Create Azure AD group for AKS administrators
2 ⚙️ Terraform Pipeline Deploy all Azure infrastructure via pipeline
3 📦 Deploy App to ACR Build and push Docker image to Azure Container Registry
4a 🔑 Key Vault Secret Store App Insights connection string in Key Vault
4b 🚀 Deploy App to AKS Deploy the containerised app to AKS
5a 🔄 Introduce CI/CD Add pipeline triggers for automatic runs on push
5b 🤖 Automated Deployments Fully automated deploy on every merge to main
6a 📊 Application Insights View live telemetry from your running app
6b 🔔 Availability Tests Configure uptime alerting
6c 📋 Container Insights Review AKS logs and metrics in Log Analytics

📖 How Each Lab Works

Every lab follows the same pattern:

  1. Context — why this step matters in a real DevOps workflow
  2. Step-by-step instructions — exact commands and portal steps
  3. Expected output — what success looks like
  4. Validation — how to confirm the step worked before moving on

🔄 CI/CD Flow

Once all labs are complete, your pipeline works like this:

Developer pushes to main
        ↓
Azure DevOps CI triggers
        ↓
Terraform plan → apply  (infrastructure updated)
        ↓
Docker build → push to ACR  (new image tagged with Build ID)
        ↓
kubectl apply to AKS  (rolling update)
        ↓
kubectl rollout status  (pipeline waits for healthy pods)
        ↓
Application Insights + Container Insights  (monitoring active)

🏗️ Infrastructure Overview

All Azure resources are provisioned by Terraform in Lab 2:

Resource Name Purpose
Resource Group devopsjourneyapr2026-rg Container for all resources
AKS Cluster devopsjourneyapr2026 Kubernetes cluster
Azure Container Registry devopsjourneyapr2026acr Docker image registry
Key Vault (from Terraform output) Secrets management
Application Insights (from Terraform output) App telemetry
Log Analytics Workspace (from Terraform output) Centralised logging
ALB (App Gateway for Containers) devopsjourneyapr2026-alb Ingress / load balancing

🙋 Getting Help


Did you find this helpful? Please ⭐ star and share the repository!

License

This project is licensed under the terms of the MIT open source license. Please refer to the LICENSE file for the full terms.

About

A DevOps journey using Azure DevOps (CI/CD, reporting, terraform, AKS)

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors