Vault™ > AZ-400: Designing and Implementing Microsoft DevOps Solutions

Access to the Vault™ requires an active Microsoft Live Subscription.

Login Buy Subscription

AZ-400: Designing and Implementing Microsoft DevOps Solutions

By David Cobb
4 Days
Live Class Recording
September 18, 2023
Courseware

Courseware is available for this class. Click here to view in a new tab/window.

Course Description

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

Course Outline

Learning Path 1: Get started on a DevOps transformation journey

Modules

  • Introduction to DevOps
  • Choose the right project
  • Describe team structures
  • Choose the DevOps tools
  • Plan Agile with GitHub Projects and Azure Boards
  • Introduction to source control
  • Describe types of source control systems
  • Work with Azure Repos and GitHub

Labs:

  • Agile planning and portfolio management with Azure Boards
  • Version controlling with Git in Azure Repos

After completing this Learning Path, students will be able to:

  • 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
  • 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)
  • Understand agile practices and principles of agile development
  • Create a team and agile organizational structure

 

Learning Path 2: Development for enterprise DevOps

Modules

  • Structure your Git Repo
  • Manage Git branches and workflows
  • Collaborate with pull requests in Azure Repos
  • Explore Git hooks
  • Plan foster inner source
  • Manage Git repositories
  • Identify technical debt

Lab:

  • Version controlling with Git in Azure Repos

After completing this Learning Path, students will be able to:

  • Understand Git repositories
  • Implement mono repo or multiple repos
  • Explain how to structure Git Repos
  • Implement a change log
  • Describe Git branching workflows
  • Implement feature branches
  • Implement GitFlow
  • Fork a repo
  • Leverage pull requests for collaboration and code reviews
  • Give feedback using pull requests

 

Learning Path 3: Implement CI with Azure Pipelines and GitHub Actions

Modules

  • Explore Azure Pipelines
  • Manage Azure Pipeline agents and pools
  • Describe pipelines and concurrency
  • Explore Continuous integration
  • Implement a pipeline strategy
  • Integrate with Azure Pipelines
  • Introduction to GitHub Actions
  • Learn continuous integration with GitHub Actions
  • Design a container build strategy

Labs:

  • Configuring agent pools and understanding pipeline styles
  • Enabling continuous integration with Azure Pipelines
  • Integrating external source control with Azure Pipelines
  • Implementing GitHub Actions by using DevOps Starter
  • Deploying Docker Containers to Azure App Service web apps

After completing this Learning Path, students will be able to:

  • Describe Azure Pipelines
  • Explain the role of Azure Pipelines and its components
  • Decide Pipeline automation responsibility
  • Understand Azure Pipeline key terms
  • Choose between Microsoft-hosted and self-hosted agents
  • Install and configure Azure pipelines Agents
  • Configure agent pools
  • Make the agents and pools secure
  • Use and estimate parallel jobs

 

Learning Path 4: Design and implement a release strategy

Modules

  • Introduction to continuous delivery
  • Explore release strategy recommendations
  • Build a high-quality release pipeline
  • Introduction to deployment patterns
  • Implement blue-green deployment and feature toggles
  • Implement canary releases and dark launching
  • Implement A/B testing and progressive exposure deployment

Labs:

  • Creating a release dashboard
  • Controlling deployments using Release Gates

After completing this Learning Path, students will be able to:

  • Explain continuous delivery (CD)
  • Implement continuous delivery in your development cycle
  • Understand releases and deployment
  • Identify project opportunities to apply CD
  • 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
  • Differentiate between a release and a deployment

 

Learning Path 5: Implement a secure continuous deployment using Azure Pipelines

Modules

  • Create a release pipeline
  • Provision and test environments
  • Manage and modularize tasks and templates
  • Automate inspection of health
  • Manage application configuration data
  • Integrate with identity management systems
  • Implement application configuration

Labs:

  • Configuring pipelines as code with YAML
  • Setting up and running functional tests
  • Integrating Azure Key Vault with Azure DevOps

After completing this Learning Path, students will be able to:

  • 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
  • Differentiate between multi-agent and multi-configuration release job
  • 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
  • Use and manage task and variable groups

 

Learning Path 6: Manage infrastructure as code using Azure and DSC

Modules

  • Explore infrastructure as code and configuration management
  • Create Azure resources using Azure Resource Manager templates
  • Create Azure resources by using Azure CLI
  • Explore Azure Automation with DevOps
  • Implement Desired State Configuration (DSC)
  • Implement Bicep

Lab:

  • Azure deployments using Azure Resource Manager templates

After completing this Learning Path, students will be able to:

  • Understand how to deploy your environment
  • Plan your environment configuration
  • Choose between imperative versus declarative configuration
  • Explain idempotent configuration
  • Create Azure resources using ARM templates
  • Understand ARM templates and template components
  • Manage dependencies and secrets in templates
  • Organize and modularize templates
  • Create Azure resources using Azure CLI

 

Learning Path 7: Implement security and validate code bases for compliance

Modules

  • Introduction to Secure DevOps
  • Implement open-source software
  • Software Composition Analysis
  • Static analyzers
  • OWASP and Dynamic Analyzers
  • Security Monitoring and Governance

Labs:

  • Implement security and compliance in Azure Pipelines
  • Managing technical debt with SonarQube and Azure DevOps

After completing this Learning Path, students will be able to:

  • Identify SQL injection attack
  • Understand DevSecOps
  • Implement pipeline security
  • Understand threat modeling
  • Implement open-source software
  • Explain corporate concerns for open-source components
  • Describe open-source licenses
  • Understand the license implications and ratings
  • Work with Static and Dynamic Analyzers
  • Configure Microsoft Defender for Cloud

 

Learning Path 8: Design and implement a dependency management strategy

Modules

  • Explore package dependencies
  • Understand package management
  • Migrate, consolidate, and secure artifacts
  • Implement a versioning strategy
  • Introduction to GitHub Packages

Lab:

  • Package management with Azure Artifacts

After completing this Learning Path, students will be able to:

  • Define dependency management strategy
  • Identify dependencies
  • Describe elements and componentization of a dependency management
  • Scan your codebase for dependencies
  • Implement package management
  • Manage package feed
  • Consume and create packages
  • Publish packages
  • Identify artifact repositories
  • Migrate and integrate artifact repositories

 

Learning Path 9: Implement continuous feedback

Modules

  • Implement tools to track usage and flow
  • Develop monitor and status dashboards
  • Share knowledge within teams
  • Design processes to automate application analytics
  • Manage alerts, Blameless retrospectives and a just culture

Labs:

  • Monitoring application performance with Application Insights
  • Integration between Azure DevOps and Microsoft Teams
  • Sharing Team Knowledge using Azure Project Wikis

After completing this Learning Path, students will be able to:

  • Implement tools to track feedback
  • Plan for continuous monitoring
  • Implement Application Insights
  • Use Kusto Query Language (KQL)
  • Implement routing for mobile applications
  • Configure App Center Diagnostics
  • Configure alerts
  • Create a bug tracker
  • Configure Azure Dashboards
  • Work with View Designer in Azure Monitor

 

Course Content
Introduction
Introduction
Introduction (Continuation after break)
Learning Path 01: Get started on a DevOps transformation journey
Module 01: Introduction to DevOps
Module 02: Choose the right project
Module 03: Describe team structures
Module 04: Choose the DevOps tools
Module 05: Plan Agile with GitHub Projects and Azure Boards
Module 06: Introduction to source control
Module 07: Describe types of source control systems
Module 08: Work with Azure Repos and GitHub
Learning Path 02: Development for enterprise DevOps
Module 01: Structure your Git Repo
Module 02: Manage Git branches and workflows
Module 03: Collaborate with pull requests in Azure Repos
Module 04: Explore Git hooks
Module 05: Plan foster inner source
Module 06: Manage Git repositories
Module 07: Identify technical debt
Learning Path 03: Implement CI with Azure Pipelines and GitHub Actions
Module 01: Explore Azure Pipelines
Module 02: Manage Azure Pipeline agents and pools
Module 03: Describe pipelines and concurrency
Module 04: Explore Continuous integration
Module 05: Implement a pipeline strategy
Module 06: Integrate with Azure Pipelines
Module 07: Introduction to GitHub Actions
Module 08: Learn continuous integration with GitHub Actions
Module 09: Design a container build strategy
Learning Path 04: Design and implement a release strategy
Module 01: Introduction to continuous delivery
Module 02: Create a release pipeline
Module 03: Explore release strategy recommendations
Discussion how to apply the knowledge you are learning
Discussion how to apply the knowledge you are learning
Learning Path 04: Design and implement a release strategy
Module 05: Manage and modularize tasks and templates
Module 04: Provision and test environments
Module 06: Multi-stage YAML
Module 07: Automate inspection of health
Learning Path 05: Implement a secure continuous deployment using Azure Pipelines
Module 01: Introduction to deployment patterns
Module 02: Implement blue-green deployment and feature toggles
Module 03: Implement canary releases and dark launching
Module 04: Implement A/B testing and progressive exposure deployment
Module 05: Integrate with identity management systems
Module 06: Manage application configuration data
Learning Path 06: Manage infrastructure as code using Azure and DSC
Module 01: Explore infrastructure as code and configuration management
Module 02: Create Azure resources using Azure Resource Manager templates
Module 03: Implement Bicep
Module 04: Create Azure resources by using Azure CLI
Module 05: Explore Azure Automation with DevOps
Module 06: Implement Desired State Configuration (DSC)
Exam Resources
Exam Resources
Learning Path 07: Implement security and validate code bases for compliance
Module 01: Introduction to Secure DevOps
Module 02: Implement open-source software
Module 03: Software Composition Analysis
Module 04: Static analyzers
Module 05: OWASP and Dynamic Analyzers
Module 06: Security Monitoring and Governance
Learning Path 08: Design and implement a dependency management strategy
Module 01: Explore package dependencies
Module 02: Understand package management
Module 03: Migrate, consolidating and secure artifacts
Module 04: Implement a versioning strategy
Module 05: Introduction to GitHub Packages
Learning Path 09: Implement continuous feedback
Module 01: Implement tools to track usage and flow
Module 02: Develop monitor and status dashboards
Module 03: Share knowledge within teams
Module 04: Design processes to automate application analytics
Module 05: Manage alerts, Blameless retrospectives and a just culture