Welcome to your interactive guide through a DevOps journey using Azure DevOps! 🚀
This tutorial will walk you through the entire process, from setting up your pipeline to deploying an application on your Azure Kubernetes cluster.
- 🛠️ Azure DevOps Setup: Learn how to set up Azure DevOps to begin deploying to Azure using Pipelines as code.
- 🏗️ Terraform Deployment: Discover how to deploy Azure resources using Terraform modules for efficient infrastructure management.
- 🚢 Application Deployment to AKS: Deploy a test application to Azure Kubernetes Service (AKS) and understand the deployment process.
- 🔄 CI/CD Fundamentals: Grasp the concepts of Continuous Integration and Continuous Deployment (CI/CD) with automated application deployments.
- 📊 Monitoring and Alerting: Explore monitoring and alerting solutions using Application Insights and Container Insights to keep track of your application's health and performance.
This setup is designed to reflect a real-world scenario, providing you with practical, applicable skills.
- Before you begin, please ensure you have reviewed the prerequisites. This step is crucial to ensure you have all necessary tools and configurations in place.
- Yes
- No (Please do so before continuing)
- The labs are organised sequentially. You can find them here. Please complete each lab in order: 1, 2, 3, etc.
By following this structured approach, you will build a strong foundation in DevOps practices using Azure DevOps. This journey is not only about learning but also about applying your knowledge to real-life scenarios. Enjoy your DevOps journey!
-
Initial Setup starts you off with setting up:
- Azure DevOps Setup
- Create an Azure DevOps organisation
- Create a new Azure DevOps project
- Create Azure Workload Identity
- Azure DevOps Setup
-
- Create a Blob Storage location for the Terraform state file
- Create Azure AD Group for AKS Admins
- Create an Azure AD group for AKS administrators
Setup Azure DevOps Pipeline The purpose of this lab is to create all of the Azure cloud services you'll need from an environment/infrastructure perspective to run the test application.
- Pipeline setup
- Configure the Azure DevOps pipeline to create necessary Azure cloud services for your environment
-
Deploy Application to Azure Container Registry Deploy sample Application to Container Registry.
- Deploy Application to Azure Container Registry
- Build the Docker image locally
- Run the Docker image locally
- Deploy the sample application to the Azure Container Registry
-
Deploy Application to Azure Kubernetes Cluster
-
Use Terraform to assign roles for AKS managed identity to access the Azure Container Registry
-
Add Application Insights to Terraform
- Integrate Application Insights for monitoring the application
-
Add Azure Key Vault to Terraform
- Use Azure Key Vault to store secrets in your Azure DevOps Variable Group
-
Update Pipeline to Deploy Application to AKS
- Update the pipeline to deploy the application to AKS
-
-
Introducing CI/CD to your pipeline
- Configure pipeline triggers for automatic runs
-
Automated deployment of your AKS Application
- Automate the application deployment process to AKS, ensuring updates each time the pipeline runs
-
-
-
- Use Application Insights to view telemetry data
-
Azure Application Insights Availability Tests
- Configure availability tests using Application Insights
-
Log Analytics Container Insights
- Review Log Analytics Container Insights
-
Learn how to set up and configure a pipeline that incorporates CI/CD practices:
- Developer changes code ✍️
- Code committed to Azure Repos 📤
- CI triggers build 🏗️ : Continuous integration triggers an application build.
- CD triggers deployment 🚀 : Continuous deployment within Azure Pipelines triggers an automated deployment with environment-specific configuration values.
- App deployed to Kubernetes 🎯 : Updated application is deployed to an environment-specific Kubernetes cluster.
- Monitoring begins 📊 : Application Insights collects and analyzes health, performance, and usage data.
- Monitoring continues 📊 : Azure Monitor collects and analyzes health, performance, and usage data.
Thank you for participating in this tutorial/labs. Your feedback is valuable!
Connect with me on social media:
Feel free to check out my blog for more awesome content! https://thomasthornton.cloud/
Did you find this helpful? Please star and share this repository! ⭐