top of page
Blue Background

AZ-400 -Designing and Implementing Microsoft DevOps Solutions

AZ-400: Designing and Implementing Microsoft DevOps Solutions

 

Duration: 4 Days Overview

 

This course provides the knowledge and skills to design and implement DevOps processes and practices. Students will learn how to plan for DevOps, use source control, scale Git for an enterprise, consolidate artifacts, design a dependency management strategy, manage secrets, implement continuous integration, implement a container build strategy, design a release strategy, set up a release management workflow, implement a deployment pattern, and optimize feedback mechanisms

 

Learning Objectives

  • Plan for the transformation with shared goals and timelines

  • Select a project and identify project metrics and Key Performance Indicators (KPI's)

  • Create a team and agile organizational structure

  • Design a tool integration strategy

  • Design a license management strategy (e.g., Azure DevOps and GitHub users)

  • Design a strategy for end-to-end traceability from work items to working software

  • Design an authentication and access strategy

  • Design a strategy for integrating on-premises and cloud resources

  • Describe the benefits of using Source Control

  • Describe Azure Repos and GitHub

  • Migrate from TFVC to Git

  • Manage code quality including technical debt SonarCloud, and other tooling solutions

  • Build organizational knowledge on code quality

  • Explain how to structure Git repos

  • Describe Git branching workflows

  • Leverage pull requests for collaboration and code reviews

  • Leverage Git hooks for automation

  • Use Git to foster inner source across the organization

  • Explain the role of Azure Pipelines and its components

  • Configure Agents for use in Azure Pipelines

  • Explain why continuous integration matters

  • Implement continuous integration using Azure Pipelines

  • Define Site Reliability Engineering

  • Design processes to measure end-user satisfaction and analyze user feedback

  • Design processes to automate application analytics

  • Manage alerts and reduce meaningless and non-actionable alerts

  • Carry out blameless retrospectives and create a just culture

  • Define an infrastructure and configuration strategy and appropriate toolset for a release pipeline and application infrastructure

  • Implement compliance and security in your application infrastructure

  • Describe the potential challenges with integrating open-source software

  • Inspect open-source software packages for security and license compliance

  • Manage organizational security and compliance policies

  • Integrate license and vulnerability scans into build and deployment pipelines

  • Configure build pipelines to access package security and license ratings

 

Course Outline:

  1. Introduction to DevOps

  • Understand what DevOps is and the steps to accomplish it

  • Identify teams to implement the process

  • Plan for the transformation with shared goals and timelines

  • Plan and define timelines for goals

  1. Choose the right project

  • Understand different projects and systems to guide the journey

  • Select a project to start the DevOps transformation

  • Identify groups to minimize initial resistance

  • Identify project metrics and Key Performance Indicators (KPI's)

  1. Describe team structures

  • Understand agile practices and principles of agile development

  • Create a team and agile organizational structure

  • Identify ideal DevOps team members

  • Select and configure tools for collaboration

  1. Choose the DevOps tools

  • Design a tool integration strategy

  • Design a license management strategy (e.g. Azure DevOps and GitHub users)

  • Design a strategy for end-to-end traceability from work items to working software

  • Design an authentication and access strategy

  • Design a strategy for integrating on-premises and cloud resources

  1. Plan Agile with GitHub Projects and Azure Boards

  • Describe GitHub Projects and Azure Boards

  • Link Azure Boards and GitHub

  • Configure and Manage GitHub Projects and boards

  • Customize Project views

  1. Introduction to source control

  • Understand source control

  • Apply best practices for source control

  • Describe the benefits of using source control

  1. Describe types of source control systems

  • Apply source control practices in your development process

  • Explain the differences between centralized and distributed version control

  • Understand Git and TFVC

  • Develop using Git

  1. Work with Azure Repos and GitHub

    • Describe Azure Repos and GitHub

    • Migrate from TFVC to Git

    • Work with GitHub Codespaces

  1. Structure your Git Repo

  • Understand Git repositories

  • Implement mono repo or multiple repos

  • Explain how to structure Git Repos

  • Implement a change log

  1. Manage Git branches and workflows

  • Describe Git branching workflows

  • Implement feature branches

  • Implement GitHub Flow

  • Fork a repo

  1. Collaborate with pull requests in Azure Repos

  • Leverages pull requests for collaboration and code reviews

  • Give feedback using pull requests

  • Configure branch policies

  • Use GitHub mobile for pull requests approvals

Lab:

Azure Repos collaborating with pull requests

  1. Identify technical debt

  • Identify and manage technical debt

  • Integrate code quality tools

  • Plan code reviews

  • Describe complexity and quality metrics

  1. Explore Git hooks

  • Understand Git hooks

  • Identify when used Git hooks

  • Implement Git hooks for automation

  • Explain Git hooks' behavior

  1. Plan foster inner source

  • Use Git to foster inner source across the organization

  • Implement fork workflow

  • Choose between branches and forks

  • Share code between forks

  1. Manage Git repositories

    • Understand large Git repositories

    • Explain VFS for Git

    • Use Git Large File Storage (LFS)

    • Purge repository data

    • Manage and Automate Release Notes with GitHub

  1. Explore Azure Pipelines

  • Describe Azure Pipelines

  • Explain the role of Azure Pipelines and its components

  • Decide Pipeline automation responsibility

  • Understand Azure Pipeline key terms

  1. Manage Azure Pipeline agents and pools

  • Choose between Microsoft-hosted and self-hosted agents

  • Install and configure Azure Pipelines Agents.

  • Configure agent pools

  • Make the agents and pools secure

  • Explore communication to deploy using Azure Pipelines

  1. Describe pipelines and concurrency

  • Use and estimate parallel jobs

  • Use Azure Pipelines for open-source or private projects

  • Use Visual Designer

  • Work with Azure Pipelines and YAML

  1. Explore continuous integration

  • Explain why continuous integration matters

  • Implement continuous integration using Azure Pipelines

  • Explain the benefits of continuous integration

  • Describe build properties

  1. Implement a pipeline strategy

  • Define a build strategy

  • Explain and configure demands

  • Implement multi-agent builds

  • Use different source control types available in Azure Pipelines

  1. Integrate with Azure Pipelines

  • Describe advanced Azure Pipelines anatomy and structure

  • Detail templates and YAML resources

  • Implement and use multiple repositories

  1. Introduction to GitHub Actions

  • Explain GitHub Actions and workflows

  • Create and work with GitHub Actions and Workflows

  • Describe Events, Jobs and Runners

  • Examine output and release management for actions

  1. Learn continuous integration with GitHub Actions

  • Implement Continuous Integration with GitHub Actions

  • Use environment variables

  • Share artifacts between jobs and use Git tags

  • Create and manage secrets

  1. Design a container build strategy

  • Design a container strategy

  • Work with Docker Containers

  • Create an Azure Container Registry

  • Explain Docker microservices and containers

  1. Introduction to continuous delivery

  • Explain continuous delivery (CD)

  • Implement continuous delivery in your development cycle

  • Understand releases and deployment

  • Identify project opportunities to apply CD

  1. Create a release pipeline

  • Explain the terminology used in Azure DevOps and other Release Management Tooling.

  • Describe what a Build and Release task is, what it can do, and some available deployment tasks

  • Implement release jobs

Lab:

 

Select an artifact source

Lab:

Set up stages

  1. Explore release recommendations

  • Explain things to consider when designing your release strategy

  • Define the components of a release pipeline and use artifact sources

  • Create a release approval plan

  • Implement release gates

Lab:

 

Select your delivery and deployment cadence

Lab:

Set up manual approvals

  1. Provision and test environments

    • Provision and configure target environment

    • Deploy to an environment securely using a service connection

    • Configure functional test automation and run availability tests

    • Setup test infrastructure

Lab:

Set up service connections

  1. Manage and modularize tasks and templates

  • Use and manage task and variable groups

  • Use release variables and stage variables in your release pipeline

  • Use variables in release pipelines

Lab:

 

Create and manage task groups

Lab:

Create and manage variable groups

  1. Automate inspection of health

  • Implement automated inspection of health

  • Create and configure events

  • Configure notifications in Azure DevOps and GitHub

  • Create service hooks to monitor the pipeline

  • Classify a release versus a release process, and outline how to control the quality of both.

  • Choose a release management tool

Lab:

Set up service hooks to monitor the pipeline

  1. Introduction to deployment patterns

  • Describe deployment patterns

  • Explain microservices architecture

  • Understand classical and modern deployment patterns

  • Plan and design your architecture

  1. Implement blue-green deployment and feature toggles

  • Explain deployment strategies

  • Implement blue-green deployment

  • Understand deployment slots

  • Implement and manage feature toggles

Lab:

 

Set up a blue-green deployment

  1. Implement canary releases and dark launching

    • Describe deployment strategies

    • Implement canary release

    • Explain traffic manager

    • Understand dark launching

  1. Implement A/B testing and progressive exposure deployment

  • Implement progressive exposure deployment

  • Implement A/B testing

  • Implement CI/CD with deployment rings

  • Identify the best deployment strategy

Lab:

 

Ring-based deployment

  1. Integrate with identity management systems

  • Integrate Azure DevOps with identity management systems

  • Integrate GitHub with single sign-on (SSO)

  • Understand and create a service principal

  • Create managed service identities

  1. Manage application configuration data

  • Rethink application configuration data

  • Understand the separation of concerns

  • Integrate Azure Key Vault with Azure Pipelines

  • Manage secrets, tokens, and certificates

  • Describe Azure App Configuration

  • Understand Key-value pairs

  • Understand app configuration feature management

  • Implement application configuration

  1. Explore infrastructure as code and configuration management

  • Understand how to deploy your environment

  • Plan your environment configuration

  • Choose between imperative versus declarative configuration

  • Explain idempotent configuration

  1. Create Azure resources using Azure Resource Manager templates

  • Create Azure resources using Azure Resource Manager templates

  • Understand Azure Resource Manager templates and template components

  • Manage dependencies and secrets in templates

  • Organize and modularize templates

  1. Create Azure resources by using Azure CLI

  • Create Azure resources using Azure CLI

  • Understand and work with Azure CLI

  • Run templates using Azure CLI

  • Explains Azure CLI commands

Lab:

Run templates using Azure CLI

  1. Explore Azure Automation with DevOps

  • Implement automation with Azure DevOps

  • Create and manage runbooks

  • Create webhooks

  • Create and run a workflow runbook and PowerShell workflows

Lab:

Create and run a workflow runbook

  1. Implement Desired State Configuration (DSC)

  • Implement Desired State Configuration (DSC)

  • Describe Azure Automation State Configuration

  • Implement DSC and Linux Automation on Azure

  • Plan for hybrid management

Lab:

Import and compile

Lab:

Onboard machines for management

  1. Implement Bicep

  • Learn what Bicep is

  • Learn how to install it and create a smooth authoring experience

  • Use Bicep to deploy resources to Azure

  • Deploy Bicep files in Cloud Shell and Visual Studio Code

Lab:

Create Bicep templates

Lab:

Deploy a Bicep file from Azure Pipelines

Lab:

Deploy a Bicep file from GitHub workflows

  1. Introduction to Secure DevOps

  • Identify SQL injection attack

  • Understand DevSecOps

  • Implement pipeline security

  • Understand threat modeling

  1. Implement open-source software

  • Implement open-source software

  • Explain corporate concerns for open-source components

  • Describe open-source licenses

  • Understand the license implications and ratings

  1. Software Composition Analysis

  • Inspect and validate code bases for compliance

  • Integrate security tools like WhiteSource with Azure DevOps

  • Implement pipeline security validation

  • Interpret alerts from scanning tools

  • Configure GitHub Dependabot alerts and security

  1. Static analyzers

  • Understand Static Analyzers

  • Work with SonarCloud

  • Work with CodeQL in GitHub

  • Interpret alerts from scanning tools

  1. OWASP and Dynamic Analyzers

  • Understand OWASP and Dynamic Analyzers

  • Implement OWASP Security Coding Practices

  • Understand compliance for code bases

  1. Security Monitoring and Governance

  • Configure Microsoft Defender for Cloud

  • Understand Azure policies

  • Describe initiatives, resource locks and Azure Blueprints

  • Work with Microsoft Defender for Identity

  1. Explore package dependencies

  • Define dependency management strategy

  • Identify dependencies

  • Describe elements and componentization of a dependency management

  • Scan your codebase for dependencies

  1. Understand package management

  • Implement package management

  • Manage package feed

  • Consume and create packages

  • Publish packages

  1. Migrate consolidating and secure artifacts

    • Identify artifact repositories

    • Migrate and integrate artifact repositories

    • Secure package feeds

    • Understand roles, permissions, and authentication

  1. Implement a versioning strategy

  • Implement a versioning strategy

  • Promote packages

  • Push packages from the pipeline

  • Describe semantics and explore best practices for versioning

Lab:

Promote a package

Lab:

Push from the pipeline

  1. Introduction to GitHub Packages

  • Publish packages

  • Install packages

  • Delete and restore packages

  • Configure access control and visibility

  1. Implement tools to track usage and flow

  • Implement tools to track feedback

  • Plan for continuous monitoring

  • Implement Application Insights

  • Use Kusto Query Language (KQL)

Lab:

Add Application Insights to an ASP.NET core application

  1. Develop monitor and status dashboards

  • Configure Azure Dashboards

  • Work with View Designer in Azure Monitor

  • Create Azure Monitor Workbooks

  • Monitor with Power BI

  1. Share knowledge within teams

  • Share knowledge with development teams

  • Work with Azure DevOps Wikis

  • Integrate with Azure Boards

  1. Design processes to automate application analytics

  • Automate application analytics

  • Assist DevOps with rapid responses and augmented search

  • Integrate telemetry

  • Implement monitoring tools and technologies

     

  1. Manage alerts, blameless retrospectives, and a just culture

  • Carry out blameless retrospectives and create a just culture

  • Improve application performance

  • Explain server response time degradation

  • Reduce meaningless and non-actionable alerts

Prerequisites Required

  • Both Azure administration and Azure development with proven expertise in at least one of these areas.

  • Cloud computing concepts, including an understanding of PaaS, SaaS, and IaaS implementations.

  • Version control, Agile software development, and core software development principles. It would be helpful to have experience in an organization that delivers software.

Audience Profile

Students in this course are interested in designing and implementing DevOps processes or in passing the Microsoft Azure DevOps Solutions certification exam.

Job role:

DevOps Engineer Preparation for exam: AZ-400 Recommended

  • AZ-104T00: Microsoft Azure Administrator

  • AZ-204T00: Developing Solutions for Microsoft Azure

  • AZ-900T00: Microsoft Azure Fundamentals

 

bottom of page