M-AZ400: Microsoft Azure DevOps Engineer
This course provides the knowledge and skills to implement DevOps processes. Students will learn how to use source control, scale Git for an enterprise, and implement and manage build infrastructure. We will also look at continuous integration, learning how to implement continuous integration in an Azure DevOps pipeline, managing code quality and security principles and implementing a container build strategy.
The course focuses on implementing continuous delivery with students learning how to design a release strategy, set up a release management workflow, and implement an appropriate deployment pattern, and implementing dependency management where students learn how to design a dependency management strategy and manage security and compliance.
We examine the deployment of application infrastructure in DevOps pipelines – how to implement infrastructure as code and configuration management, how to provision Azure infrastructure using common automation tools, and how to deploy an application infrastructure using various Azure services and deployment methodologies. Students will also learn how to integrate 3rd party deployment tools with Azure, such as Chef and Puppet to incorporate compliance and security into the release pipeline.
Our course provides the knowledge and skills needed to implement continuous feedback, working on how to recommend and design system feedback mechanisms, implement a process for routing system feedback to development teams, and optimize feedback mechanisms.
Finally, we will look at designing a DevOps strategy. Students will learn how to plan for transformation, select a project, and create team structures. They will also learn how to develop quality and security strategies, and planning for migrating and consolidating artefacts and source control will also be covered
Course Content
Module 1: Getting started with Source Control
- What is Source Control?
- Benefits of Source Control
- Types of source control systems
- Introduction to Azure Repos
- Migrating from TFVC to Git
- Authenticating to your Git Repos
Module 2: Scaling git for enterprise DevOps
- How to structure your git repo
- Git Branching workflows
- Collaborating with Pull Requests
- Why care about GitHooks?
- Fostering Internal Open Source
- Git Version
- Public projects
- Files in Git
Module 3: Implement & Manage Build Infrastructure
- The concept of pipelines in DevOps
- Azure Pipelines
- Evaluate use of Hosted vs Private Agents
- Agent pools
- Pipelines & Concurrency
- Azure DevOps and Open Source projects
- Azure Pipelines YAML vs Visual Designer
- Setup private agents
- Integrate Jenkins with Azure Pipelines
- Integration external source control with Azure Pipelines
- Analyze & Integrate Docker multi-stage builds
Module 4: Managing Application Config & Secrets
- Introduction to Security
- Implement secure & compliant development process
- Rethinking application config data
- Manage secrets, tokens & certificates
- Implement tools for managing security and compliance in a pipeline
Module 5: Implement a Mobile DevOps Strategy
- Introduction to Mobile DevOps
- Introduction to Visual Studio App Center
- Manage mobile target device sets and distribution groups
- Manage target UI test device sets
- Provision tester devices for deployment
- Create public and private distribution groups
M-AZ-400T02
Module 1: Implementing Continuous Integration in an Azure DevOps Pipeline.
In this module, you’ll be introduced to continuous integration principles including: benefits, challenges, build best practices, and implementation steps. You will also learn about implementing a build strategy with workflows, triggers, agents, and tools.
- Implementing a Build Strategy
Lab: Enabling Continuous Integration with Azure Pipelines
Lab: Creating a Jenkins Build Job and Triggering CI
Module 2: Managing Code Quality and Security Policies
In this module, you will be learn how to manage code quality including: technical debt, SonarCloud, and other tooling solutions. You will also learn how to manage security policies with open source, OWASP, and WhiteSource Bolt. Lessons
- Managing Code Quality
- Managing Security Policies
Lab: Managing Technical Debt with Azure DevOps and SonarCloud
Lab: Checking Vulnerabilities using WhiteSource Bolt and Azure DevOps
Module 3: Implementing a Container Build Strategy
In this module, you will learn how to implement a container strategy including how containers are different from virtual machines and how microservices use containers. You will also learn how to implement containers using Docker.
- Implementing a Container Build Strategy
Lab: Existing .NET Applications with Azure and Docker Images
M-AZ-400T03
Module 1: 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
Lab: Building a release strategy
Module 2: 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: Automating your infrastructure deployments in the Cloud with Terraform and Azure Pipelines
Lab: Setting up secrets in the pipeline with Azure Key vault
Lab: Setting up and Running Load Tests
Lab: Setting up and Running Functional Tests
Lab: Using Azure Monitor as release gate
Lab: Creating a Release Dashboard
Module 3: Implement an appropriate deployment pattern
- Introduction into Deployment Patterns
- Implement Blue Green Deployment
- Feature Toggles
- Canary Releases
- Dark Launching
- AB Testing
- Progressive Exposure Deployment
Lab: Blue-Green Deployments
Lab: Traffic Manager
M-AZ-400T04
Module 1: Designing a Dependency Management Strategy
- Introduction
- Packaging dependencies
- Package management
- Implement a versioning strategy
Lab: Updating packages
Module 2: Manage security and compliance
- Introduction
- Package security
- Open source software
- Integrating license and vulnerability scans
M-AZ-400T05
Module 1: Infrastructure and Configuration Azure Tools
- Learning Objectives
- 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
- Additional Automation Tools
- Version Control
- Lab Deploy to Azure using ARM templates
- Module Review Questions
Module 2: Azure Deployment Models and Services
- Learning Objectives
- Deployment Models and Options
- Azure Infrastructure-as-a-Service (IaaS) Services
- Azure Automation with DevOps
- Desired State Configuration (DSC)
- Azure Platform-as-a-Service (PaaS) services
- Azure Service Fabric
- Lab Azure Automation – IaaS or PaaS deployment
- Module Review Questions
Module 3: Create and Manage Kubernetes Service Infrastructure
- Learning Objectives
- Azure Kubernetes Service
- Lab Deploy and Scale AKS Cluster
- Module Review Questions
Module 4: Third Party and Open Source Tools available with Azure
- Learning Objectives
- Chef
- Puppet
- Ansible
- Cloud-Init
- Terraform
- Lab Provision and configure an App in Azure Using X
- Module Review Questions
Module 5: Implement Compliance and Security in your Infrastructure
- Security and Compliance Principles with DevOps
- Azure Security Center
- Lab Integrate a scanning extension or tool in an AZ DevOps pipeline/security center
- Module Review Questions
M-AZ-400T06
Module 1: 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
Lab: Feature Flags
Module 2: 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
Module 3: 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 PostMortems and a Just Culture
M-AZ-400T07
Module 1: Planning for DevOps
In this module, students will learn about transformation planning, project selection, and team structures.
- Transformation Planning
- Project Selection
- Team Structures
Lab: Agile Planning and Portfolio Management with Azure Boards
Module 2: Planning for Quality and Security In this module, students will learn about developing a quality strategy and planning for secure development.
- Planning a Quality Strategy
- Planning Secure Development
Lab: Feature Flag Management with LaunchDarkly and AzureDevOps
Module 3: Migrating and Consolidating Artefacts and Tools
In this module, students will learn about migrating and consolidating artefacts, and migrating and integrating source control measures.
- Migrating and Consolidating Artifacts
- Migrating and Integrating Source Control
Lab: Integrating Azure Repos and Azure Pipelines with Eclipse
COURSE PREREQUISITES
Fundamental knowledge about Azure, version control, Agile software development, and core software development principles is required, along with experience with virtual machines and containers, and some exposure to automation and scripting. Students should also have knowledge of general application development and deployment processes.
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.
Experience working in a software development or operations environment with either Windows or Linux would be helpful but is not essential, as would experience in an organization that delivers software.
Students who attend this course are interested in implementing DevOps processes or in passing the Microsoft Azure DevOps Solutions certification exam.
Audience
Students in this course are interested in implementing DevOps processes like dependency management, application infrastructure and the management and configuration of that infrastructure; or in passing the Microsoft Azure DevOps Solutions certification exam.
