Edocti Training
Azure DevOps Engineering: From ClickOps to Automation
Scheduled sessions
No sessions are available at the moment.
Skills You Will Learn
Infrastructure as Code (Bicep)
YAML Pipelines Creation
Branching Policies Setup
Azure Container Registry Integrations
Secrets Management with Key Vault
Multi-stage CD Deployments
Azure Managed Identities
Application Insights Observability
Curriculum
Version Control & Branching Strategies
- Trunk-based development vs. GitFlow: what to choose and why?
- Setting up Branch Policies: mandatory Code Reviews, preventing direct pushes to main
- Lab: Configuring a repository with advanced main branch protections and integrating it with Azure Boards
Infrastructure as Code (IaC) in Azure
- Introduction to Bicep (the modern and native Microsoft alternative to ARM templates/Terraform)
- Declaring core resources: Resource Groups, App Services, Storage Accounts
- Lab: Writing your first Bicep file and deploying it using the Azure CLI directly from the terminal
Continuous Integration (CI) with Azure Pipelines
- Transitioning from Classic pipelines to YAML Pipelines (Pipeline as Code)
- Anatomy of a YAML Pipeline: Triggers, Stages, Jobs, Steps; Microsoft-hosted vs. Self-hosted agents
- Lab: Creating a YAML pipeline that compiles code, runs unit tests, and publishes a Build Artifact
Container Management (ACR)
- Introduction to Containerization concepts and Azure Container Registry (ACR)
- Securing access to Azure Container Registry instances
- Lab: Extending the previously created CI pipeline to automatically perform docker build and docker push to ACR
Continuous Delivery (CD) & Multi-Stage Pipelines
- Why deployments must be predictable and traverse isolated environments (Dev -> QA -> Prod)
- Configuring Environments in Azure DevOps and adding Manual Approvals and Gates
- Lab: Creating a CD pipeline that automatically deploys the infrastructure (Bicep) followed by the application code
Security, Identity & Secrets Management
- Service Principals and Managed Identities: how the pipeline and application authenticate in Azure without hardcoded passwords
- Integrating and securely managing secrets using Azure Key Vault
- Lab: Storing a Connection String in Key Vault and injecting it securely during the deployment process
Observability (Monitoring & Logging)
- Introduction to Azure Monitor, Log Analytics Workspaces, and Application Insights
- Efficiently collecting logs and performance metrics from deployed applications
- Lab: Instrumenting the application with Application Insights and creating automated alerts based on metrics (e.g., CPU Usage > 80%)
Troubleshooting & Best Practices
- Efficient debugging techniques when a YAML pipeline fails
- Reusing YAML code and adhering to the DRY principle by using Templates
- Q&A Session: solving specific technical issues from the attendees' day-to-day scenarios
Optional modules
Optional — Advanced Pipeline Migration
- Strategies for the gradual migration of legacy Classic UI pipelines to the modern Pipeline as Code (YAML) format
- Using Variable Groups and Azure DevOps CLI for automating platform administration
Course Day Structure
- Part 1: 09:00–10:30
- Break: 10:30–10:45
- Part 2: 10:45–12:45
- Lunch break: 12:15–13:15
- Part 3: 13:15–15:15
- Break: 15:15–15:30
- Part 4: 15:30–17:30