AZ-400: Designing and Implementing Microsoft DevOps Solutions
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 Path 1: Implement development for enterprise DevOps
This learning path examines the key Git features that organizations must plan for when designing their enterprise DevOps.
Modules
- Introduction to DevOps.
- Plan Agile with GitHub Projects and Azure Boards.
- Design and implement branch strategies and workflows.
- Collaborate with pull requests in Azure Repos.
- Explore Git hooks.
- Plan foster inner source.
- Manage and configure repositories.
- Identify technical debt.
Labs:
- Agile planning and portfolio management with Azure Boards
- Version controlling with Git in Azure Repos
Learning Path 2: Implement CI with Azure Pipelines and GitHub Actions
This learning path introduces the continuous integration concept using Azure Pipelines and GitHub Actions and provides instruction on configuring those services and building applications.
Modules
- Explore Azure Pipelines.
- Manage Azure Pipeline agents and pools.
- Describe pipelines and concurrency.
- Design and implement a pipeline strategy.
- Integrate with Azure Pipelines.
- Introduction to GitHub Actions.
- Learn continuous integration with GitHub Actions.
- Design a container build strategy.
Lab:
- Configuring Agent Pools and Understanding Pipeline Styles
- Enabling continuous integration with Azure Pipelines
- Implementing GitHub Actions for CI/CD
- Deploying Docker containers to Azure App Service web apps
Learning Path 3: Design and implement a release strategy
This learning path explains the concepts of continuous delivery and releases strategy considerations for setting up deployment stages and your delivery and deployment cadence, and lastly, setting up your release approvals.
Modules
- Create a release pipeline.
- Explore release recommendations.
- Provision and test environments.
- Manage and modularize tasks and templates.
- Automate inspection of health.
Labs:
- Configuring pipelines as code with YAML
- Controlling deployments using Release Gates
- Setting up and running functional tests
Learning Path 4: Implement a secure continuous deployment using Azure Pipelines
This learning path helps you understand automated release gates, secrets, and secret management in your pipeline. You learn how to implement alerting mechanisms, report on your quality, and get notified by using service hooks.
Modules
- 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.
- Integrate with identity management systems.
- Manage application configuration data.
Labs:
- Integrating Azure Key Vault with Azure DevOps
- Enable Dynamic Configuration and Feature Flags
Learning Path 5: Manage infrastructure as code using Azure and DSC
This learning path explores the “Infrastructure as Code” (IaC) concept and how to manage your operations environment the same way you do applications or other code for general release.
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:
- Deployments using Azure Bicep templates
Learning Path 6: Implement security and validate code bases for compliance
This learning path explores an infrastructure and configuration strategy and appropriate toolset for a release pipeline and application infrastructure. It explains compliance and security implementation in your application infrastructure.
Modules
- Introduction to Secure DevOps.
- Implement open-source software.
- Software Composition Analysis.
- Security Monitoring and Governance.
Lab:
- None
Learning Path 7: Design and implement a dependency management strategy
This learning path examines dependency management in software development, how to identify them in your codebase and how to package and manage dependencies in package feeds.
Modules
- Explore package dependencies.
- Understand package management.
- Migrate, consolidating and secure artifacts.
- Implement a versioning strategy.
- Introduction to GitHub Packages.
Lab:
- Package management with Azure Artifacts
Learning Path 8: Implement continuous feedback
This learning path introduces the continuous feedback concept and describes how to implement it in your DevOps cycle.
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.
Lab:
- Monitoring Application Performance with Azure Load Testing
- Sharing team knowledge using Azure project wikis