What
You’ll Learn
You’ll Learn
- Learn to design a DevOps strategy that includes planning for transformation
- team structures
- and modern development practices.
- Set up and manage CI/CD pipelines using Azure DevOps
- GitHub Actions
- and other tools to automate software builds
- tests
- and deployments.
- Use Git for version control and tools like ARM templates
- Bicep
- and Terraform to provision infrastructure as code.
- Implement logging
- telemetry
- and monitoring with tools like Azure Monitor and Application Insights to ensure application health and continuous improvement.
Requirements
- Candidates should have experience with Azure administration and development
- and a strong understanding of version control
- CI/CD
- and Agile practices.
Description
Skills at a glance
-
Design and implement processes and communications (10–15%)
-
Design and implement a source control strategy (10–15%)
-
Design and implement build and release pipelines (50–55%)
-
Develop a security and compliance plan (10–15%)
-
Implement an instrumentation strategy (5–10%)
Design and implement processes and communications (10–15%)
Design and implement traceability and flow of work
-
Design and implement a structure for the flow of work, including GitHub Flow
-
Design and implement a strategy for feedback cycles, including notifications and GitHub issues
-
Design and implement integration for tracking work, including GitHub projects, Azure Boards, and repositories
-
Design and implement source, bug, and quality traceability
Design and implement appropriate metrics and queries for DevOps
-
Design and implement a dashboard, including flow of work, such as cycle times, time to recovery, and lead time
-
Design and implement appropriate metrics and queries for project planning
-
Design and implement appropriate metrics and queries for development
-
Design and implement appropriate metrics and queries for testing
-
Design and implement appropriate metrics and queries for security
-
Design and implement appropriate metrics and queries for delivery
-
Design and implement appropriate metrics and queries for operations
Configure collaboration and communication
-
Document a project by configuring wikis and process diagrams, including Markdown and Mermaid syntax
-
Configure release documentation, including release notes and API documentation
-
Automate creation of documentation from Git history
-
Configure integration by using webhooks
-
Configure integration between Azure Boards and GitHub repositories
-
Configure integration between GitHub or Azure DevOps and Microsoft Teams
Design and implement a source control strategy (10–15%)
Design and implement branching strategies for the source code
-
Design a branch strategy, including trunk-based, feature branch, and release branch
-
Design and implement a pull request workflow by using branch policies and branch protections
-
Implement branch merging restrictions by using branch policies and branch protections
Configure and manage repositories
-
Design and implement a strategy for managing large files, including Git Large File Storage (LFS) and git-fat
-
Design a strategy for scaling and optimizing a Git repository, including Scalar and cross-repository sharing
-
Configure permissions in the source control repository
-
Configure tags to organize the source control repository
-
Recover specific data by using Git commands
-
Remove specific data from source control
Design and implement build and release pipelines (50–55%)
Design and implement a package management strategy
-
Recommend package management tools including GitHub Packages registry and Azure Artifacts
-
Design and implement package feeds and views for local and upstream packages
-
Design and implement a dependency versioning strategy for code assets and packages, including semantic versioning (SemVer) and date-based (CalVer)
-
Design and implement a versioning strategy for pipeline artifacts
Design and implement a testing strategy for pipelines
-
Design and implement quality and release gates, including security and governance
-
Design a comprehensive testing strategy, including local tests, unit tests, integration tests, and load tests
-
Implement tests in a pipeline, including configuring test tasks, configuring test agents, and integration of test results
-
Implement code coverage analysis
Design and implement pipelines
-
Select a deployment automation solution, including GitHub Actions and Azure Pipelines
-
Design and implement a GitHub runner or Azure DevOps agent infrastructure, including cost, tool selection, licenses, connectivity, and maintainability
-
Design and implement integration between GitHub repositories and Azure Pipelines
-
Develop and implement pipeline trigger rules
-
Develop pipelines by using YAML
-
Design and implement a strategy for job execution order, including parallelism and multi-stage pipelines
-
Develop and implement complex pipeline scenarios, such as hybrid pipelines, VM templates, and self-hosted runners or agents
-
Create reusable pipeline elements, including YAML templates, task groups, variables, and variable groups
-
Design and implement checks and approvals by using YAML-based environments
Design and implement deployments
-
Design a deployment strategy, including blue-green, canary, ring, progressive exposure, feature flags, and A/B testing
-
Design a pipeline to ensure that dependency deployments are reliably ordered
-
Plan for minimizing downtime during deployments by using virtual IP address (VIP) swap, load balancing, rolling deployments, and deployment slot usage and swap
-
Design a hotfix path plan for responding to high-priority code fixes
-
Design and implement a resiliency strategy for deployment
-
Implement feature flags by using Azure App Configuration Feature Manager
-
Implement application deployment by using containers, binaries, and scripts
-
Implement a deployment that includes database tasks
Design and implement infrastructure as code (IaC)
-
Recommend a configuration management technology for application infrastructure
-
Implement a configuration management strategy for application infrastructure
-
Define an IaC strategy, including source control and automation of testing and deployment
-
Design and implement desired state configuration for environments, including Azure Automation State Configuration, Azure Resource Manager, Bicep, and Azure Automanage Machine Configuration
-
Design and implement Azure Deployment Environments for on-demand self-deployment
Maintain pipelines
-
Monitor pipeline health, including failure rate, duration, and flaky tests
-
Optimize a pipeline for cost, time, performance, and reliability
-
Optimize pipeline concurrency for performance and cost
-
Design and implement a retention strategy for pipeline artifacts and dependencies
-
Migrate a pipeline from classic to YAML in Azure Pipelines
Develop a security and compliance plan (10–15%)
Design and implement authentication and authorization methods
-
Choose between Service Principals and Managed Identity (including system-assigned and user-assigned)
-
Implement and manage GitHub authentication, including GitHub Apps, GITHUB_TOKEN, and personal access tokens
-
Implement and manage Azure DevOps service connections and personal access tokens
-
Design and implement permissions and roles in GitHub
-
Design and implement permissions and security groups in Azure DevOps
-
Recommend appropriate access levels, including stakeholder access in Azure DevOps and outside collaborator access in GitHub
-
Configure projects and teams in Azure DevOps
Design and implement a strategy for managing sensitive information in automation
-
Implement and manage secrets, keys, and certificates by using Azure Key Vault
-
Implement and manage secrets in GitHub Actions and Azure Pipelines
-
Design and implement a strategy for managing sensitive files during deployment, including Azure Pipelines secure files
-
Design pipelines to prevent leakage of sensitive information
Automate security and compliance scanning
-
Design a strategy for security and compliance scanning, including dependency, code, secret, and licensing scanning
-
Configure Microsoft Defender for Cloud DevOps Security
-
Configure GitHub Advanced Security for both GitHub and Azure DevOps
-
Integrate GitHub Advanced Security with Microsoft Defender for Cloud
-
Automate container scanning, including scanning container images and configuring an action to run CodeQL analysis in a container
-
Automate analysis of licensing, vulnerabilities, and versioning of open-source components by using Dependabot alerts
Implement an instrumentation strategy (5–10%)
Configure monitoring for a DevOps environment
-
Configure Azure Monitor and Log Analytics to integrate with DevOps tools
-
Configure collection of telemetry by using Application Insights, VM Insights, Container Insights, Storage Insights, and Network Insights
-
Configure monitoring in GitHub, including enabling insights and creating and configuring charts
-
Configure alerts for events in GitHub Actions and Azure Pipelines
Analyze metrics from instrumentation
-
Inspect infrastructure performance indicators, including CPU, memory, disk, and network
-
Analyze metrics by using collected telemetry, including usage and application performance
-
Inspect distributed tracing by using Application Insights
-
Interrogate logs using basic Kusto Query Language (KQL) queries
Who this course is for:
- This certification is ideal for DevOps engineers
- software developers
- system administrators
- and professionals responsible for optimizing development lifecycles and automating infrastructure using Microsoft Azure.
