Microsoft Azure DevOps Engineer Expert Outline
Planning for DevOps
Transformation Planning
Project Selection
Team Structures
Migrating to Azure DevOps
Lab : Agile Planning and Portfolio Management with Azure Boards
Getting started with Source Control
What is Source Control
Benefits of Source Control
Types of Source Control Systems
Introduction to Azure Repos
Introduction to GitHub
Migrating from Team Foundation Version Control (TFVC) to Git in Azure Repos
Authenticating to Git in Azure Repos
Lab : Version Controlling with Git
Scaling Git for enterprise DevOps
How to Structure your Git Repo
Git Branching Workflows
Collaborating with Pull Requests in Azure Repos
Why care about GitHooks
Fostering Inner Source
Lab : Code Review with Pull Requests
Consolidating Artifacts & Designing a Dependency Management Strategy
Packaging Dependencies
Package Management
Migrating and Consolidating Artifacts
Lab : Updating Packages
Implementing Continuous Integration with Azure Pipelines
The concept of pipelines in DevOps
Azure Pipelines
Evaluate use of Hosted vs Private Agents
Agent Pools
Pipelines and Concurrency
Azure DevOps and Open Source Projects (Public Projects)
Azure Pipelines YAML vs Visual Designer
Continuous Integration Overview
Implementing a Build Strategy
Integration with Azure Pipelines
Integrate External Source Control with Azure Pipelines
Set Up Private Agents
Analyze and Integrate Docker Multi-Stage Builds
Lab : Enabling Continuous Integration with Azure Pipelines
Lab : Integrating External Source Control with Azure Pipelines
Lab : Integrate Jenkins with Azure Pipelines
Lab : Deploying a Multi-Container Application
Managing Application Config and Secrets
Introduction to Security
Implement secure and compliant development process
Rethinking application config data
Manage secrets, tokens, and certificates
Implement tools for managing security and compliance in a pipeline
Lab : Integrating Azure Key Vault with Azure DevOps
Managing Code Quality and Security Policies
Managing Code Quality
Managing Security Policies
Lab : Managing Technical Debt with Azure DevOps and SonarCloud
Implementing a Container Build Strategy
Implementing a Container Build Strategy
Lab : Modernizing Existing ASP.NET Apps with Azure
Manage Artifact versioning, security & compliance
Package security
Open source software
Integrating license and vulnerability scans
Implement a versioning strategy (git version)
Lab : Manage Open Source Security and License with WhiteSource
Design a Release Strategy
Introduction to Continuous Delivery
Release strategy recommendations
Building a High-Quality Release pipeline
Choosing a deployment pattern
Choosing the right release management tool
Set up a Release Management Workflow
Create a Release Pipeline
Provision and Configure Environments
Manage and Modularize Tasks and Templates
Integrate Secrets with the release pipeline
Configure Automated Integration and Functional Test Automation
Automate Inspection of Health
Lab : Configuring Pipelines as Code with YAML
Lab : Setting up secrets in the pipeline with Azure Key vault
Lab : Setting up and Running Functional Tests
Lab : Using Azure Monitor as release gate
Lab : Creating a release Dashboard
Implement an appropriate deployment pattern
Introduction to Deployment Patterns
Implement Blue Green Deployment
Feature Toggles
Canary Releases
Dark Launching
AB Testing
Progressive Exposure Deployment
Lab : Feature Flag Management with LaunchDarkly and Azure DevOps
Implement process for routing system feedback to development teams
Implement Tools to Track System Usage, Feature Usage, and Flow
Implement Routing for Mobile Application Crash Report Data
Develop Monitoring and Status Dashboards
Integrate and Configure Ticketing Systems
Lab : Monitoring Application Performance
Infrastructure and Configuration Azure Tools
Infrastructure as Code and Configuration Management
Create Azure Resources using ARM Templates
Create Azure Resources using Azure CLI
Create Azure Resources by using Azure PowerShell
Desired State Configuration (DSC)
Azure Automation with DevOps
Additional Automation Tools
Lab : Azure Deployments using Resource Manager Templates
Azure Deployment Models and Services
Deployment Modules and Options
Azure Infrastructure-as-a-Service (IaaS) Services
Azure Platform-as-a-Service (PaaS) services
Serverless and HPC Computer Services
Azure Service Fabric
Lab : Azure Automation – IaaS or PaaS deployment
Create and Manage Kubernetes Service Infrastructure
Azure Kubernetes Service
Lab : Deploying a multi-container application to Azure Kubernetes Service
Third Party Infrastructure as Code Tools available with Azure
Chef
Puppet
Ansible
Terraform
Lab : Infrastructure as Code
Lab : Automating Your Infrastructure Deployments in the Cloud with Terraform and Azure Pipelines
Implement Compliance and Security in your Infrastructure
Security and Compliance Principles with DevOps
Azure security Center
Lab : Implement Security and Compliance in an Azure DevOps Pipeline
Recommend and design system feedback mechanisms
The inner loop
Continuous Experimentation mindset
Design practices to measure end-user satisfaction
Design processes to capture and analyze user feedback
Design process to automate application analytics
Lab : Integration between Azure DevOps and Teams
Optimize feedback mechanisms
Site Reliability Engineering
Analyze telemetry to establish a baseline
Perform ongoing tuning to reduce meaningless or non-actionable alerts
Analyze alerts to establish a baseline
Blameless Retrospectives and a Just Culture
Azure DevOps Engineer Expert prerequisites
Students should have fundamental knowledge about Azure, version control, Agile software development, and core software development principles. It would be helpful to have experience in an organization that delivers software.
It is recommended that you have experience working in an IDE, as well as some knowledge of the Azure portal. However, students who may not have a technical background in these technologies, but who are curious about DevOps practices as a culture shift, should be able to follow the procedural and expository explanations of continuous integration regardless.
Who Should Attend
Students in this course are interested in implementing DevOps processes or in passing the DevOps Engineer Expert certification exam.