AZ-400 Designing and Implementing DevOps Certification
About Course
Version 2.0 July 2022
Completed a major refresh of the AZ-400 course. This is to align with the major changes made to the AZ-400 exam by Microsoft on the 13th of July.
All sections are being refreshed. Sections are being added as NEW and will contain a refresh of all key concepts and demos.
The course now aligns with the new exam objectives
- Configure processes and communications
- Design and implement source control
- Design and implement build and release pipelines
- Develop a security and compliance plan
- Implement an instrumentation strategy
Version 1.1 Mar 2021
- Updated chapters on working with GitHub – This is to reflect the changes made to the naming convention of the main branch. GitHub now refers to the master branch as the main branch.
- Updated the chapters on working with Git repositories from Visual Studio 2019 – With the newer version of Visual Studio 2019, the way on working with Git Repositories has changed.
This course is designed for students who want to attempt the Exam AZ-400: Designing and Implementing Microsoft DevOps Solutions
This course has contents for the Exam AZ-400
The objectives covered in this course are
- Develop an instrumentation strategy (5-10%)
- Develop a Site Reliability Engineering (SRE) strategy (5-10%)
- Develop a security and compliance plan (10-15%)
- Manage source control (10-15%)
- Facilitate communication and collaboration (10-15%)
- Define and implement continuous integration (20-25%)
- Define and implement a continuous delivery and release management strategy (10-15%)
In this course , you will learn aspects which includes the following
- Working with Azure Boards
- How to work with Git – Here there are extensive labs on working with Git repositories. Here you will also learn how to work with Azure Repos
- How to create and implement Build pipelines using Azure Pipelines
- How to use Jenkins for configuration management
- Implementing security in your continuous pipeline
- Building your infrastructure with ARM templates. There are also chapters on how to work with Terraform
- Releasing your applications with Azure Release Pipelines
What Will You Learn?
- Students will be better prepared for the AZ-400 certification exam
- Students will learn the important aspects for what is required from an exam perspective
Course Content
01 NEW – Introduction
-
Download Resource Files
-
002 Our course approach
03:44 -
003 An important note on the course
02:40 -
004 Section Introduction
00:45 -
005 Primer to DevOps – Project lifecycle
09:02 -
006 Primer to DevOps – Agile Methodology
05:41 -
007 Primer to DevOps – Scrum process
07:19 -
008 Primer to DevOps – Development and Operations
05:26 -
009 Primer to DevOps – About DevOps
05:32 -
010 Azure DevOps Free Account
03:53
02 NEW – Configure processes and communications
-
Download Resource Files
-
001 Section Introduction
00:42 -
002 Let’s start with planning
02:10 -
003 Traditional Approach
02:53 -
004 Our Approach
01:59 -
005 Getting started with Azure Boards
05:49 -
006 Creating user stories
06:41 -
007 Azure Boards
03:52 -
008 Work item process
03:43 -
009 Adding tasks to user stories
03:27 -
010 Now lets create a sprint
03:30 -
011 Creating users
07:55 -
012 Using Dashboards
03:51 -
013 Using Queries
04:02 -
014 Seeing dashboards as another user
02:58 -
015 Understanding permissions
03:05 -
016 Azure DevOps query permissions
03:59 -
017 Azure DevOps Dashboard permissions
02:13 -
018 Azure DevOps – Wiki
03:11 -
019 Azure DevOps – Delivery plans
01:00 -
020 Azure Boards – Integration with Microsoft Teams
10:17 -
021 Trying out another project
03:27
03 NEW – Design and implement source control
-
Download Resource Files
-
001 What are we going to cover
01:15 -
002 What is source control
03:07 -
003 What is Git
03:13 -
004 Let’s install git
04:04 -
005 Let’s start working with Git
06:00 -
006 Adding to the git repository
05:25 -
007 Making changes to a file
03:19 -
008 Quick note on the commands
02:14 -
009 Going back to a previous commit
05:43 -
010 Un-staging a file
02:59 -
011 Git branches
04:32 -
012 Working with branches
03:55 -
013 Merging the branches
01:52 -
014 Using a remote repository
02:35 -
015 Creating a GitHub account
03:19 -
016 Publishing onto GitHub
03:33 -
017 Committing changes to GitHub
03:57 -
018 Note about using Visual Studio
01:18 -
019 About publishing code from Visual Studio
06:59 -
021 Publishing code from Visual Studio
06:54 -
022 Now let’s clone the repository as another user
07:15 -
023 Let’s create a merge request
05:01 -
024 More on merges
04:10 -
025 A different merge process
04:48 -
026 Squash Merge
04:00 -
027 Creating a branch on GitHub
04:38 -
028 Creating a branch in Visual Studio
03:47 -
029 Adding a branch protection rule in Github
04:33 -
030 Tagging in git
03:28 -
031 Note on data recovery
01:39 -
032 Note on large files in Git
03:02 -
033 Branching strategies
03:49 -
034 Azure Repos – Starting off
06:04 -
035 Azure Repos – Branches
02:44 -
036 Azure Repos – Pull request
03:17 -
037 Azure repos – Importing GitHub repos
03:31 -
038 Azure Repos – Branch policy
04:18 -
039 Azure Repos – Branch policy – Work items
03:35 -
040 Azure repos – Branch security
01:40 -
041 gitignore file
03:30 -
042 Azure repos – Publishing from Visual Studio
02:11 -
043 Deviation – Azure Pipelines
04:39 -
044 Deviation – Azure Pipelines – Completed
00:37 -
045 Azure repos – Visual Studio – Cloning a repository
03:01 -
046 Azure repos – Microsoft Teams
04:29 -
047 Azure Boards App with GitHub
05:52 -
049 Note on public and private projects
03:19 -
050 Note on the usage of Slack
01:13 -
051 Cherry picking changes
02:39
04 NEW – Design and implement build pipelines
-
Download Resource Files
-
002 What are we going to cover
01:07 -
003 What is Continuous Integration
05:00 -
004 About the build process
03:12 -
005 About the publish process
02:38 -
006 Now going back to continuous integration
04:25 -
007 What are Azure Pipelines
02:58 -
008 Creating a pipeline
04:50 -
009 So what exactly is happening_part1
04:59 -
009 So what exactly is happening_part2
04:59 -
010 Triggering the pipeline
01:47 -
011 Microsoft hosted agent
05:17 -
012 Resolving our issue
04:33 -
013 Self-hosted agent
02:45 -
014 Lab – Deploying the self-hosted agent
05:20 -
015 Lab – Registering the self-hosted agent
07:25 -
016 Running the pipeline
02:04 -
017 Exploring the work folder
07:38 -
018 A couple of notes on our pipeline
05:16 -
019 Few more aspects
01:37 -
020 Deleting your resources
01:11 -
021 Security at every stage
03:24 -
022 Using the Mend Bolt tool – Setup
08:27 -
023 Using the Mend Bolt tool – Usage
06:52 -
024 Going back to our base
03:02 -
025 Adding unit tests
04:53 -
026 Running unit tests in the pipeline
04:23 -
027 Code Coverage – Adding unit test
05:16 -
028 Code Coverage – Implementation
06:01 -
029 Azure Pipelines – GitHub repository
06:14 -
030 GitHub status badge
03:03 -
031 Azure Pipelines – Classic Editor_part1
04:12 -
031 Azure Pipelines – Classic Editor_part2
04:12 -
032 Using SonarCloud_part1
03:55 -
032 Using SonarCloud_part2
03:55 -
033 Parallel jobs
02:34 -
034 Note on pipeline caching
01:46 -
035 Azure Pipelines integration with Microsoft Teams
03:39 -
036 Using GitHub Actions_part1
03:54 -
036 Using GitHub Actions_part2
03:54 -
037 What have we seen so far
01:48 -
038 Lab – Installing Jenkins_part1
04:54 -
038 Lab – Installing Jenkins_part2
04:54 -
039 Jenkins – Creating a build pipeline
06:48 -
040 Jenkins Integration with Azure repos
05:58
05 NEW – Design and implement release pipelines
-
Download Resource Files
-
002 Understanding deployment
03:03 -
003 Azure Web App – Manual deployment
06:10 -
004 Azure Web App – Release pipelines
11:39 -
005 Resolving our issue
09:24 -
006 Multiple stages in the pipeline
06:19 -
007 Approvals and gates
04:31 -
008 Lab – Release pipelines – Approvals
04:58 -
009 Lab – Azure pipelines – Gates – Query work items_part1
05:26 -
009 Lab – Azure pipelines – Gates – Query work items_part2
05:26 -
010 Lab – Azure pipelines – Gates – Azure Monitor alerts
07:22 -
011 Lab – Azure pipelines – Gates – Azure Policies
07:18 -
012 Azure Releases – Manual Intervention
02:54 -
013 Lab – Deployment Groups – Setup_part1
04:42 -
013 Lab – Deployment Groups – Setup_part2
04:41 -
014 Lab – Deployment Groups – Implementation
06:48 -
015 Azure Web App – Azure SQL database
07:28 -
016 Lab – Deploying the Azure Web App
07:22 -
017 Lab – Azure Pipelines – SQL Database table
04:38 -
018 Lab – Azure Pipelines – Azure Web App – Connection string_part1
04:50 -
018 Lab – Azure Pipelines – Azure Web App – Connection string_part2
04:50 -
019 Release pipeline – Associate work items
03:36 -
020 The next step – Containers
03:51 -
021 Revision – Building a Docker image
11:19 -
022 Revision – Deploying a container_part1
04:05 -
022 Revision – Deploying a container_part2
04:05 -
023 Azure Pipeline – Azure Container Registry_part1
04:54 -
023 Azure Pipeline – Azure Container Registry_part2
04:54 -
024 Azure Pipeline – Azure Container Registry – Implementation_part1
05:39 -
024 Azure Pipeline – Azure Container Registry – Implementation_part2
05:39 -
025 Azure Pipelines – Azure Container Registry – Debugging
06:37 -
026 Lab – Azure Container Instance – Release pipelines
05:37 -
027 Revision – Deployment to Azure Kubernetes
05:17 -
028 Lab – Pipelines – Deployment to Azure Kubernetes
06:31 -
029 Lab – Release pipelines – Azure Kubernetes
06:03 -
030 Quick Note – Publish Artifacts
02:56 -
031 Lab – Multi-stage builds
05:44 -
032 About Container jobs
03:37 -
033 Working with Container jobs
07:39 -
034 Note – Publishing onto Azure Kubernetesmp4
02:16 -
035 Quick Note on Technical Debt
02:18 -
036 Note – When there are multiple builds
01:26
06 NEW – Design and Implement Infrastructure as Code
-
Download Resource Files
-
002 About managing infrastructure
08:25 -
003 About ARM templates
02:41 -
004 Lab – ARM Templates – Azure Web App_part1
05:52 -
004 Lab – ARM Templates – Azure Web App_part2
05:52 -
005 Lab – ARM Templates – Azure SQL database_part1
05:52 -
005 Lab – ARM Templates – Azure SQL database_part2
05:52 -
006 Lab – ARM Templates – Azure virtual machines
05:56 -
007 Modularize templates
03:27 -
008 Lab – Nested template
05:56 -
009 Lab – Linked template_part1
05:49 -
009 Lab – Linked template_part2
05:49 -
010 Lab – Release pipelines – ARM Templates_part1
04:46 -
010 Lab – Release pipelines – ARM Templates_part2
04:46 -
011 What happens if we run the pipeline again
02:44 -
012 Lab – Release pipelines – Deleting resources
06:15 -
013 Quick note on deployment to multiple environments
01:56 -
014 Lab – Release pipelines – ARM Templates Artifacts_part1
06:34 -
014 Lab – Release pipelines – ARM Templates Artifacts_part2_part1
03:17 -
014 Lab – Release pipelines – ARM Templates Artifacts_part2_part2
03:17 -
015 Lab – ARM Templates – Dynamic Resource creation_part1
06:36 -
015 Lab – ARM Templates – Dynamic Resource creation_part2
06:36 -
016 Lab – Release pipelines – Dynamic Resources_part1
05:04 -
016 Lab – Release pipelines – Dynamic Resources_part2
05:04 -
016 Lab – Release pipelines – Dynamic Resources_part3
05:04 -
017 Lab – Deploying resources via Azure CLI
06:50 -
018 Lab – Release Pipelines – Azure CLI
04:12 -
019 About Terraform
03:24 -
020 Installing Terraform
05:39 -
021 Lab – Creating resources via Terraform_part1
07:12 -
021 Lab – Creating resources via Terraform_part2
07:12 -
022 Lab – Release pipelines – Terraform_part1
04:38 -
022 Lab – Release pipelines – Terraform_part2
04:38 -
023 Lab – Azure Release Pipelines – YAML
12:59 -
024 Azure Release Pipelines – YAML – ARM Templates
03:21 -
025 Desired State Configuration
02:16 -
026 Lab – Azure Automation DSC_part1
05:10 -
026 Lab – Azure Automation DSC_part2
05:10 -
027 Note – File DSC resource
01:03 -
028 Using VM extensions
02:56 -
029 Lab – Team Services Agent_part1
05:19 -
029 Lab – Team Services Agent_part2
05:19 -
030 Lab – Custom Script Extension
04:14 -
031 Virtual Machine Scale Sets
02:03 -
032 ARM Template – Virtual Machine Scale Set
04:33 -
033 ARM Template – Virtual machine scale set extension
06:20 -
034 Note – VMSS – Application Health Extension
02:31
07 NEW – Deployments, Packages and Test Plans
-
Download Resource Files
-
002 The fear of changes
01:39 -
003 Blue-Green Deployments
04:54 -
004 Azure Web App – Deployment Slots
02:34 -
005 Lab – Azure Web App – Deployment Slots
12:42 -
006 Lab – Azure Pipelines – Deployment Slots_part1
05:44 -
006 Lab – Azure Pipelines – Deployment Slots_part2
05:44 -
007 Canary deployments
02:17 -
008 Azure Traffic Manager
04:44 -
009 Lab – Azure Traffic Manager_part1
07:08 -
009 Lab – Azure Traffic Manager_part2
07:08 -
010 Lab – Azure Pipelines – Azure Traffic Manager_part1
06:44 -
010 Lab – Azure Pipelines – Azure Traffic Manager_part2
06:44 -
011 Using a rolling deployment
01:51 -
012 Using a Load Balancer
02:31 -
013 Lab – Azure Load Balancer – VM Setup_part1
04:06 -
013 Lab – Azure Load Balancer – VM Setup_part2
04:06 -
014 Lab – Azure Load Balancer – Configuration
07:41 -
015 Using the Load Balancer in a pipeline
05:36 -
016 Package Management
04:17 -
017 Lab – Creating and publishing a package
09:56 -
018 Lab – Consuming the package
05:02 -
019 Azure Artifacts – Other aspects
01:43 -
020 Azure Artifacts – Upstream sources
03:30 -
021 Lab – Azure Pipelines – Package Publish
06:27 -
022 Pipeline reports
02:19 -
023 Note – Flaky tests
02:04 -
024 Azure App Config
03:14 -
025 Lab – Using Selenium_part1
04:12 -
025 Lab – Using Selenium_part2
04:12 -
026 Azure Test Plans
02:33 -
027 Subscribe to Test Plans Trial
02:12 -
028 Creating Test cases
03:22 -
029 Running the test cases
04:32 -
030 Test and Feedback extension
06:00
08 NEW – Develop a security and compliance plan
-
Download Resource Files
-
002 Quick overview of the section
01:07 -
003 Understanding variables
04:01 -
004 Lab – More on working with variables
04:35 -
005 Defining variables in the pipeline
04:54 -
006 Lab – Variable groups – YAML pipelines
02:54 -
007 Variable groups – Classic pipelines
01:56 -
008 Lab – Azure Key Vault
02:36 -
009 Lab – Azure Key Vault – Pipelines_part1
04:57 -
009 Lab – Azure Key Vault – Pipelines_part2
04:57 -
010 Azure Key Vault – Variable groups
02:13 -
011 Lab – Azure Key Vault – ARM Templates – Static reference
05:47 -
012 Lab – Azure Key Vault – ARM Templates – Dynamic reference
04:41 -
013 Using OWASP Tool – Build pipeline_part1
04:06 -
013 Using OWASP Tool – Build pipeline_part2
04:06 -
014 Using OWASP Tool – Release pipeline_part1
04:59 -
014 Using OWASP Tool – Release pipeline_part2
04:59 -
014 Using OWASP Tool – Release pipeline_part3
04:59 -
015 Review of service connections
01:33 -
016 Review of personal access tokens
01:38
09 NEW – Implement an instrumentation strategy
-
Download Resource Files
-
001 About this section
00:57 -
002 Quick look at the Azure Monitor service
03:16 -
003 Azure Monitor – Setting up alerts
06:35 -
004 Azure Monitor – Dynamic thresholds
04:22 -
005 Log Analytics workspace
01:35 -
006 Using a Log Analytics workspace
05:51 -
007 Service Map solution
05:13 -
008 Virtual Machine Scale Sets Notification
06:12 -
009 What is Application Insights
01:52 -
010 Example on using Application Insights
05:09 -
011 Application Insights – Availability test
03:18 -
012 Application Insights – Other features
04:17 -
013 Important note on Application Insights
02:01 -
014 Note – Azure Container Instances probes
01:56 -
015 Note – Azure DevOps notifications
01:28 -
016 Note on IT Service Management Connector
01:34
10 UPDATED – Practice Section
-
Download Resource Files
Student Ratings & Reviews
No Review Yet