EXAM LINK

DevOps engineers are developers or infrastructure administrators who also have subject matter expertise in working with people, processes, and products to enable continuous delivery of value in organizations.

Responsibilities for this role include designing and implementing strategies for collaboration, code, infrastructure, source control, security, compliance, continuous integration, testing, delivery, monitoring, and feedback.

DevOps engineers work on cross-functional teams that include developers, site reliability engineers, and Azure administrators.

DevOps engineers must have experience with administering and developing in Azure, with strong skills in at least one of these areas. They should be familiar with both Azure DevOps and GitHub.

This exam measures your ability to accomplish the following technical tasks:

  • 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

Skills measured

  • Configure processes and communications (10-15%)
  • Design and implement source control (15-20%)
  • Design and implement build and release pipelines (40-45%)
  • Develop a security and compliance plan (10-15%)
  • Implement an instrumentation strategy (10-15%)

Tips

Modules

Get started on a DevOps transformation journeyGet started on a DevOps transformation journey

This learning path helps you understand what DevOps is and how to plan for a DevOps transformation journey.

Readings

  1. Introduction to DevOps Introduction to DevOps
    1. Introduction
    2. What is DevOps?
    3. Explore the DevOps journey
    4. Identify transformation teams
    5. Explore shared goals and define timelines
    6. Knowledge check
    7. Summary
  2. Choose the right project Choose the right project
    1. Introduction
    2. Explore greenfield and brownfield projects
    3. Decide when to use greenfield and brownfield projects
    4. Decide when to use systems of record versus systems of engagement
    5. Identify groups to minimize initial resistance
    6. Identify project metrics and key performance indicators (KPIs)
    7. Knowledge check
    8. Summary
  3. Describe team structures Describe team structures
    1. Introduction
    2. Explore agile development practices
    3. Explore principles of agile development
    4. Define organization structure for agile practices
    5. Explore ideal DevOps team members
    6. Enable in-team and cross-team collaboration
    7. Select tools and processes for agile practices
    8. Knowledge check
    9. Summary
  4. Choose the DevOps tools Choose the DevOps tools
    1. Introduction
    2. What is Azure DevOps?
    3. What is GitHub?
    4. Explore an authorization and access strategy
    5. Migrate or integrate existing work management tools
    6. Migrate or integrate existing test management tools
    7. Design a license management strategy
    8. Knowledge check
    9. Summary
  5. Plan Agile with GitHub Projects and Azure Boards Plan Agile with GitHub Projects and Azure Boards
    1. Introduction
    2. Introduction to GitHub Projects and Project boards
    3. Introduction to Azure Boards
    4. Link GitHub to Azure Boards
    5. Configure GitHub Projects
    6. Manage work with GitHub Project boards
    7. Customize Project views
    8. Collaborate using team discussions
    9. Agile plan and portfolio management with Azure Boards
    10. Knowledge check
    11. Summary
  6. Introduction to source control Introduction to source control
    1. Introduction
    2. Explore DevOps foundational practices
    3. What is source control?
    4. Explore benefits of source control
    5. Explore best practices for source control
    6. Knowledge check
    7. Summary
  7. Describe types of source control systems Describe types of source control systems
    1. Introduction
    2. Understand centralized source control
    3. Understand distributed source control
    4. Explore Git and Team Foundation Version Control
    5. Examine and choose Git
    6. Understand objections to using Git
    7. Describe working with Git locally
    8. Knowledge check
    9. Summary
  8. Work with Azure Repos and GitHub Work with Azure Repos and GitHub
    1. Introduction
    2. Introduction to Azure Repos
    3. Introduction to GitHub
    4. Migrate from TFVC to Git
    5. Use GIT-TFS
    6. Develop online with GitHub Codespaces
    7. Version Control with Git in Azure Repos
    8. Knowledge check
    9. Summary

Development for enterprise DevOpsDevelopment for enterprise DevOps

This learning path examines the key Git features that organizations must plan for when designing their enterprise DevOps.

Readings

  1. Structure your Git Repo Structure your Git Repo
    1. Introduction
    2. Explore monorepo versus multiple repos
    3. Implement a change log
    4. Knowledge check
    5. Summary
  2. Manage Git branches and workflows Manage Git branches and workflows
    1. Introduction
    2. Explore branch workflow types
    3. Explore feature branch workflow
    4. Explore Git branch model for continuous delivery
    5. Explore GitHub flow
    6. Explore fork workflow
    7. Version control with Git in Azure repos
    8. Knowledge check
    9. Summary
  3. Collaborate with pull requests in Azure Repos Collaborate with pull requests in Azure Repos
    1. Introduction
    2. Collaborate with pull requests
    3. Exercise - Azure Repos collaborating with pull requests
    4. Examine GitHub mobile for pull request approvals
    5. Knowledge check
    6. Summary
  4. Identify technical debt Identify technical debt
    1. Introduction
    2. Examine code quality
    3. Examine complexity and quality metrics
    4. Introduction to technical debt
    5. Measure and manage technical debt
    6. Integrate other code quality tools
    7. Plan effective code reviews
    8. Knowledge check
    9. Summary
  5. Explore Git hooks Explore Git hooks
    1. Introduction
    2. Introduction to Git hooks
    3. Implement Git hooks
    4. Knowledge check
    5. Summary
  6. Plan foster inner source Plan foster inner source
    1. Introduction
    2. Explore foster inner source
    3. Implement the fork workflow
    4. Describe inner source with forks
    5. Knowledge check
    6. Summary
  7. Manage Git repositories Manage Git repositories
    1. Introduction
    2. Work with large repositories
    3. Purge repository data
    4. Manage releases with GitHub Repos
    5. Automate release notes with GitHub
    6. Knowledge check
    7. Summary

Implement CI with Azure Pipelines and GitHub ActionsImplement 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.

Readings

  1. Explore Azure Pipelines Explore Azure Pipelines
    1. Introduction
    2. Explore the concept of pipelines in DevOps
    3. Describe Azure Pipelines
    4. Understand Azure Pipelines key terms
    5. Knowledge check
    6. Summary
  2. Manage Azure Pipeline agents and pools Manage Azure Pipeline agents and pools
    1. Introduction
    2. Choose between Microsoft-hosted versus self-hosted agents
    3. Explore job types
    4. Introduction to agent pools
    5. Explore predefined agent pool
    6. Understand typical situations for agent pools
    7. Communicate with Azure Pipelines
    8. Communicate to deploy to target servers
    9. Examine other considerations
    10. Describe security of agent pools
    11. Configure agent pools and understanding pipeline styles
    12. Knowledge check
    13. Summary
  3. Describe pipelines and concurrency Describe pipelines and concurrency
    1. Introduction
    2. Understand parallel jobs
    3. Estimate parallel jobs
    4. Describe Azure Pipelines and open-source projects
    5. Explore Azure Pipelines and Visual Designer
    6. Describe Azure Pipelines and YAML
    7. Knowledge check
    8. Summary
  4. Explore continuous integration Explore continuous integration
    1. Introduction
    2. Introduction to continuous integration
    3. Learn the four pillars of continuous integration
    4. Explore benefits of continuous integration
    5. Describe build properties
    6. Enable Continuous Integration with Azure Pipelines
    7. Knowledge check
    8. Summary
  5. Implement a pipeline strategy Implement a pipeline strategy
    1. Introduction
    2. Configure agent demands
    3. Implement multi-agent builds
    4. Explore source control types supported by Azure Pipelines
    5. Knowledge check
    6. Summary
  6. Integrate with Azure Pipelines Integrate with Azure Pipelines
    1. Introduction
    2. Describe the anatomy of a pipeline
    3. Understand the pipeline structure
    4. Detail templates
    5. Explore YAML resources
    6. Use multiple repositories in your pipeline
    7. Integrate external source control with Azure Pipelines
    8. Knowledge check
    9. Summary
  7. Introduction to GitHub Actions Introduction to GitHub Actions
    1. Introduction
    2. What are Actions?
    3. Explore Actions flow
    4. Understand workflows
    5. Describe standard workflow syntax elements
    6. Explore events
    7. Explore jobs
    8. Explore runners
    9. Examine release and test an action
    10. Knowledge check
    11. Summary
  8. Learn continuous integration with GitHub Actions Learn continuous integration with GitHub Actions
    1. Introduction
    2. Describe continuous integration with actions
    3. Examine environment variables
    4. Share artifacts between jobs
    5. Examine Workflow badges
    6. Describe best practices for creating actions
    7. Mark releases with Git tags
    8. Create encrypted secrets
    9. Use secrets in a workflow
    10. Implement GitHub Actions For CI/CD
    11. Knowledge check
    12. Summary
  9. Design a container build strategy Design a container build strategy
    1. Introduction
    2. Examine structure of containers
    3. Work with Docker containers
    4. Understand Dockerfile core concepts
    5. Examine multi-stage Dockerfiles
    6. Examine considerations for multiple stage builds
    7. Explore Azure container-related services
    8. Deploy Docker containers to Azure App Service web apps
    9. Knowledge check
    10. Summary

Design and implement a release strategyDesign 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.

Readings

  1. Introduction to continuous delivery Introduction to continuous delivery
    1. Introduction
    2. Explore traditional IT development cycle
    3. What is continuous delivery?
    4. Move to continuous delivery
    5. Understand releases and deployments
    6. Understand release process versus release
    7. Knowledge check
    8. Summary
  2. Create a release pipeline Create a release pipeline
    1. Introduction
    2. Describe Azure DevOps release pipeline capabilities
    3. Explore release pipelines
    4. Explore artifact sources
    5. Choose the appropriate artifact source
    6. Exercise - Select an artifact source
    7. Examine considerations for deployment to stages
    8. Exercise - Set up stages
    9. Explore build and release tasks
    10. Explore custom build and release tasks
    11. Explore release jobs
    12. Configure Pipelines as Code with YAML
    13. Knowledge check
    14. Summary
  3. Explore release recommendations Explore release recommendations
    1. Introduction
    2. Understand the delivery cadence and three types of triggers
    3. Exercise - Select your delivery and deployment cadence
    4. Explore release approvals
    5. Exercise - Set up manual approvals
    6. Explore release gates
    7. Use release gates to protect quality
    8. Control deployments using release gates
    9. Knowledge check
    10. Summary
  4. Provision and test environments Provision and test environments
    1. Introduction
    2. Provision and configure target environments
    3. Exercise - Set up service connections
    4. Configure automated integration and functional test automation
    5. Understand Shift-left
    6. Set up and run availability tests
    7. Explore Azure Load Testing
    8. Set up and run functional tests
    9. Knowledge check
    10. Summary
  5. Manage and modularize tasks and templates Manage and modularize tasks and templates
    1. Introduction
    2. Examine task groups
    3. Exercise - create and manage task groups
    4. Explore variables in release pipelines
    5. Understand variable groups
    6. Exercise - create and manage variable groups
    7. Knowledge check
    8. Summary
  6. Automate inspection of health Automate inspection of health
    1. Introduction
    2. Automate inspection of health
    3. Explore events and notifications
    4. Explore service hooks
    5. Exercise - Set up service hooks to monitor the pipeline
    6. Configure Azure DevOps notifications
    7. Configure GitHub notifications
    8. Explore how to measure quality of your release process
    9. Examine release notes and documentation
    10. Examine considerations for choosing release management tools
    11. Explore common release management tools
    12. Create a release dashboard
    13. Knowledge check
    14. Summary

Implement a secure continuous deployment using Azure PipelinesImplement a secure continuous deployment using Azure Pipelines

This learning path helps you understand automated release gates, secrets, and secret management in your pipeline. You will learn how to implement alerting mechanisms, report on your quality, and get notified by using service hooks.

Readings

  1. Introduction to deployment patterns Introduction to deployment patterns
    1. Introduction
    2. Explore microservices architecture
    3. Examine classical deployment patterns
    4. Understand modern deployment patterns
    5. Knowledge check
    6. Summary
  2. Implement blue-green deployment and feature toggles Implement blue-green deployment and feature toggles
    1. Introduction
    2. What is blue-green deployment?
    3. Explore deployment slots
    4. Exercise - set up a blue-green deployment
    5. Introduction to feature toggles
    6. Describe feature toggle maintenance
    7. Knowledge check
    8. Summary
  3. Implement canary releases and dark launching Implement canary releases and dark launching
    1. Introduction
    2. Explore canary releases
    3. Examine Traffic Manager
    4. Understand dark launching
    5. Knowledge check
    6. Summary
  4. Implement A/B testing and progressive exposure deployment Implement A/B testing and progressive exposure deployment
    1. Introduction
    2. What is A/B testing?
    3. Explore CI-CD with deployment rings
    4. Exercise - Ring-based deployment
    5. Knowledge check
    6. Summary
  5. Integrate with identity management systems Integrate with identity management systems
    1. Introduction
    2. Integrate GitHub with single sign-on (SSO)
    3. Explore service principals
    4. Explore Managed Identity
    5. Knowledge check
    6. Summary
  6. Manage application configuration data Manage application configuration data
    1. Introduction
    2. Rethink application configuration data
    3. Explore separation of concerns
    4. Understand external configuration store patterns
    5. Introduction to Azure App Configuration
    6. Examine Key-value pairs
    7. Examine App configuration feature management
    8. Integrate Azure Key Vault with Azure Pipelines
    9. Manage secrets, tokens and certificates
    10. Examine DevOps inner and outer loop
    11. Integrate Azure Key Vault with Azure DevOps
    12. Enable Dynamic Configuration Feature Flags
    13. Knowledge check
    14. Summary

Manage infrastructure as code using Azure and DSCManage 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.

Readings

  1. Explore infrastructure as code and configuration management Explore infrastructure as code and configuration management
    1. Introduction
    2. Explore environment deployment
    3. Examine environment configuration
    4. Understand imperative versus declarative configuration
    5. Understand idempotent configuration
    6. Knowledge check
    7. Summary
  2. Create Azure resources using Azure Resource Manager templates Create Azure resources using Azure Resource Manager templates
    1. Introduction
    2. Why use Azure Resource Manager templates?
    3. Explore template components
    4. Manage dependencies
    5. Modularize templates
    6. Manage secrets in templates
    7. Azure deployments using Resource Manager templates
    8. Knowledge check
    9. Summary
  3. Create Azure resources by using Azure CLI Create Azure resources by using Azure CLI
    1. Introduction
    2. What is Azure CLI?
    3. Work with Azure CLI
    4. Exercise - Run templates using Azure CLI
    5. Knowledge check
    6. Summary
  4. Explore Azure Automation with DevOps Explore Azure Automation with DevOps
    1. Introduction
    2. Create automation accounts
    3. What is a runbook?
    4. Understand automation shared resources
    5. Explore runbook gallery
    6. Examine webhooks
    7. Explore source control integration
    8. Explore PowerShell workflows
    9. Create a workflow
    10. Exercise - Create and run a workflow runbook
    11. Examine checkpoint and parallel processing
    12. Knowledge check
    13. Summary
  5. Implement Desired State Configuration (DSC) Implement Desired State Configuration (DSC)
    1. Introduction
    2. Understand configuration drift
    3. Explore Desired State Configuration (DSC)
    4. Explore Azure Automation State configuration (DSC)
    5. Examine DSC configuration file
    6. Exercise - Import and compile
    7. Exercise - Onboard machines for management
    8. Explore hybrid management
    9. Implement DSC and Linux Automation on Azure
    10. Knowledge check
    11. Summary
  6. Implement Bicep Implement Bicep
    1. Introduction
    2. What is Bicep?
    3. Install Bicep
    4. Exercise - Create Bicep templates
    5. Understand Bicep file structure and syntax
    6. Exercise - Deploy a Bicep file from Azure Pipelines
    7. Exercise - Deploy a Bicep file from GitHub workflows
    8. Knowledge check
    9. Summary

Design and implement a dependency management strategyDesign 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.

Readings

  1. Explore package dependencies Explore package dependencies
    1. Introduction
    2. What is dependency management?
    3. Describe elements of a dependency management strategy
    4. Identify dependencies
    5. Understand source and package componentization
    6. Decompose your system
    7. Scan your codebase for dependencies
    8. Knowledge check
    9. Summary
  2. Understand package management Understand package management
    1. Introduction
    2. Explore packages
    3. Understand package feeds
    4. Explore package feed managers
    5. Explore common public package sources
    6. Explore self-hosted and SaaS based package sources
    7. Consume packages
    8. Introduction to Azure Artifacts
    9. Publish packages
    10. Package Management with Azure Artifacts
    11. Knowledge check
    12. Summary
  3. Migrate consolidating and secure artifacts Migrate consolidating and secure artifacts
    1. Introduction
    2. Identify existing artifact repositories
    3. Migrate and integrating artifact repositories
    4. Secure access to package feeds
    5. Examine roles
    6. Examine permissions
    7. Examine authentication
    8. Knowledge check
    9. Summary
  4. Implement a versioning strategy Implement a versioning strategy
    1. Introduction
    2. Understand versioning of artifacts
    3. Explore semantic versioning
    4. Examine release views
    5. Promote packages
    6. Exercise - Promote a package
    7. Explore best practices for versioning
    8. Exercise - Push from the pipeline
    9. Knowledge check
    10. Summary
  5. Introduction to GitHub Packages Introduction to GitHub Packages
    1. Introduction
    2. Publish packages
    3. Install a package
    4. Delete and restore a package
    5. Explore package access control and visibility
    6. Knowledge check
    7. Summary

Implement continuous feedbackImplement continuous feedback

This learning path introduces the continuous feedback concept and describes how to implement it in your DevOps cycle.

Readings

  1. Implement tools to track usage and flow Implement tools to track usage and flow
    1. Introduction
    2. Understand the inner loop
    3. Introduction to continuous monitoring
    4. Explore Azure Monitor and Log Analytics
    5. Examine Kusto Query Language (KQL)
    6. Explore Application Insights
    7. Implement Application Insights
    8. Exercise - Add Application Insights to an ASP.NET core application
    9. Monitor application performance with Application Insights
    10. Knowledge check
    11. Summary
  2. Develop monitor and status dashboards Develop monitor and status dashboards
    1. Introduction
    2. Explore Azure Dashboards
    3. Examine view designer in Azure Monitor
    4. Explore Azure Monitor workbooks
    5. Explore Power BI
    6. Build your own custom application
    7. Knowledge check
    8. Summary
  3. Share knowledge within teams Share knowledge within teams
    1. Introduction
    2. Share acquired knowledge within development teams
    3. Introduction to Azure DevOps project wikis
    4. Integrate with Azure Boards
    5. Integrate Azure DevOps and Teams
    6. Share team knowledge using Azure Project Wiki
    7. Knowledge check
    8. Summary
  4. Design processes to automate application analytics Design processes to automate application analytics
    1. Introduction
    2. Explore rapid responses and augmented search
    3. Integrate telemetry
    4. Examine monitoring tools and technologies
    5. Knowledge check
    6. Summary
  5. Manage alerts, blameless retrospectives and a just culture Manage alerts, blameless retrospectives and a just culture
    1. Introduction
    2. Examine when get a notification
    3. Explore how to fix it
    4. Explore smart detection notifications
    5. Improve performance
    6. Understand server response time degradation
    7. Reduce meaningless and non-actionable alerts
    8. Examine blameless retrospective
    9. Develop a just culture
    10. Knowledge check
    11. Summary

Implement security and validate code bases for complianceImplement 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.

Readings

  1. Introduction to Secure DevOps Introduction to Secure DevOps
    1. Introduction
    2. Describe SQL injection attack
    3. Understand DevSecOps
    4. Explore Secure DevOps Pipeline
    5. Explore key validation points
    6. Explore continuous security validation
    7. Understand threat modeling
    8. Exercise threat modeling
    9. Knowledge check
    10. Summary
  2. Implement open-source software Implement open-source software
    1. Introduction
    2. Explore how software is built
    3. What is open-source software
    4. Explore corporate concerns with open-source software components
    5. Introduction to open-source licenses
    6. Explore common open-source licenses
    7. Examine license implications and ratings
    8. Knowledge check
    9. Summary
  3. Software Composition Analysis Software Composition Analysis
    1. Introduction
    2. Inspect and validate code bases for compliance
    3. Explore software composition analysis
    4. Integrate WhiteSource with Azure DevOps pipeline
    5. Implement GitHub Dependabot alerts and security updates
    6. Integrate software composition analysis checks into pipelines
    7. Examine tools for assess package security and license rate
    8. Interpret alerts from scanner tools
    9. Implement Security and Compliance in an Azure Pipeline
    10. Knowledge check
    11. Summary
  4. Static analyzers Static analyzers
    1. Introduction
    2. Explore SonarCloud
    3. Explore CodeQL in GitHub
    4. Manage technical debt with SonarCloud and Azure DevOps
    5. Knowledge check
    6. Summary
  5. OWASP and Dynamic Analyzers OWASP and Dynamic Analyzers
    1. Introduction
    2. Plan Implement OWASP Secure Coding Practices
    3. Explore OWASP ZAP penetration test
    4. Explore OWASP ZAP results and bugs
    5. Knowledge check
    6. Summary
  6. Security Monitoring and Governance Security Monitoring and Governance
    1. Introduction
    2. Implement pipeline security
    3. Explore Microsoft Defender for Cloud
    4. Examine Microsoft Defender for Cloud usage scenarios
    5. Explore Azure Policy
    6. Understand policies
    7. Explore initiatives
    8. Explore resource locks
    9. Explore Azure Blueprints
    10. Understand Microsoft Defender for Identity
    11. Knowledge check
    12. Summary