Problem
I’m having problems finding DevOps documentation to study for the Microsoft DevOps certification exam. Any suggestions would be appreciated to prepare for the AZ-400 Designing & Implementing Microsoft DevOps Solutions exam.
Solution
This tip will help you pass the AZ-400 exam designed for DevOps Solutions. It addresses the frequently asked questions (FAQ) about DevOps, and includes links to books, study sources, and other materials for the exam.
What is the AZ-400 Exam?
This Microsoft official exam is related to creating and maintaining a developer infrastructure and implementing processes to deliver continuous deliveries in your organization.
Is this Exam Difficult?
This exam is very complex and includes several topics. If it is your first Microsoft exam, we encourage you to try the basic exams first, like the following:
What is the Passing Score for the AZ-400 Exam?
The minimum score to pass is 700/1000.
What Books are Recommended for this Exam?
The following book will help you pass the exam:
Can You Share Study Links for the Exam?
Yes. The following links can be useful for the exam:
Design and Create Processes, and Implement Communications
- Design and Create Traceability and Flow
- Create a structure in the flow of work. Use the GitHub Flow.
- Develop and set up a strategy for feedback loops, including notifications and GitHub issues
- Create and implement integration for work tracking, utilizing GitHub projects, Azure Boards, and repositories
- Establish and implement source, bug, and quality traceability
- Develop and Set Up Suitable Metrics and Queries for DevOps
- Create and implement a dashboard displaying workflow, such as cycle times, recovery time, and lead time
- Establish and implement relevant metrics and queries for project planning
- Establish and implement relevant metrics and queries for development
- Establish and implement relevant metrics and queries for testing
- Establish and implement relevant metrics and queries for security
- Establish and implement relevant metrics and queries for delivery
- Establish and implement relevant metrics and queries for operations
- Set Up Collaboration and Communication
- Document a project by setting up wikis and process diagrams, using Markdown and Mermaid syntax
- Set up release documentation, including release notes and API documentation
- Automate the generation of documentation from Git history
- Set up integration through webhooks
- Set up integration between Azure Boards and GitHub repositories
- Set up integration between GitHub or Azure DevOps and Microsoft Teams
Create and Develop a Source Control Strategy
- Develop and Implement Branching Strategies for the Source Code
- Set Up and Manage Repositories
- Develop and implement a strategy for handling large files, including Git Large File Storage (LFS) and git-fat
- Develop a strategy for scaling and optimizing a Git repository, including Scalar and cross-repository sharing
- Set up permissions in the source control repository
- Set up tags to organize the source control repository
- Restore specific information using Git commands
- Remove some specific data from the source control
Designing and executing build and release workflows
- Create and Apply a Strategy for Managing Software Packages
- Advise on tools for package management, such as GitHub Packages and Azure Artifacts
- Create and configure feeds and views for internal and external package sources
- Develop a version control approach for dependencies, including semantic (SemVer) and calendar-based (CalVer) methods
- Establish a versioning method for artifacts produced by pipelines
- Formulate and Apply a Testing Plan for Build and Release Workflows
- Set up quality checks and approval stages, incorporating governance and security measures
- Plan a full-spectrum testing approach, covering local, unit, integration, and performance testing
- Configure and run tests within pipelines, including test tasks, agents, and results reporting
- Set up code coverage tools and analysis
- Create and Manage Automated Pipelines
- Choose tools for deployment automation, such as GitHub Actions or Azure Pipelines
- Build infrastructure for GitHub runners or Azure DevOps agents, considering factors like cost, tools, licenses, connectivity, and upkeep
- Enable integration between GitHub source control and Azure Pipelines
- Define and apply rules for triggering pipelines
- Develop pipelines using YAML syntax
- Plan execution order strategies, including concurrent jobs and multi-stage pipelines
- Build advanced pipeline solutions like hybrid configurations, virtual machine templates, and self-hosted runners or agents
- Construct reusable pipeline components like templates, grouped tasks, variables, and shared variable groups
- Use YAML environments to configure checks and approval workflows
- Planning and Executing Deployments
- Devise deployment approaches such as blue-green, canary, ring-based, gradual rollout, feature toggles, and A/B experimentation
- Build pipeline logic to ensure dependent components are deployed in the correct sequence
- Plan techniques to reduce downtime using VIP swapping, load balancers, incremental rollout, and deployment slots
- Create a rapid response plan for urgent hotfix deployments
- Develop a strategy to make deployments fault-tolerant and highly available
- Use Azure App Configuration Feature Manager to enable feature toggling
- Deploy applications using containers, executables, and automation scripts
- Include database-related operations as part of deployment workflows
- Infrastructure as Code (IaC) Design and Implementation
- Recommend appropriate tools for managing infrastructure configuration
- Apply a configuration strategy to maintain a consistent infrastructure for applications
- Outline an IaC approach that includes version control, automated testing, and deployment procedures
- Build and apply environment state management using tools like Azure Automation DSC, ARM templates, Bicep, and Azure Automanage
- Design and use Azure Deployment Environments to allow users to deploy on demand
- Pipeline Maintenance
- Track pipeline health through metrics like failure frequency, run duration, and test instability
- Tune pipeline performance with improvements for cost-efficiency, speed, and reliability
- Improve parallel execution settings to balance cost and throughput
- Establish a retention policy for storing artifacts and dependencies from pipeline runs
- Transition traditional (classic) pipelines to YAML-based pipelines in Azure
Create a Security and Compliance Strategy
- Plan and Apply Methods for User Authentication and Access Control
- Decide between using Service Principals or Managed Identities (either system-assigned or user-assigned)
- Set up and manage GitHub authentication options, including GitHub Apps, GITHUB_TOKEN, and personal access tokens
- Manage Azure DevOps service connections and personal access tokens for secure access
- Define and enforce permissions and user roles in GitHub
- Configure security roles and groups in Azure DevOps to control access
- Advise on proper access levels, such as stakeholder roles in Azure DevOps or external collaborators in GitHub
- Organize projects and team structures in Azure DevOps
- Manage Sensitive Data Securely in DevOps Automation
- Automate Security and Compliance Checks
- Create a plan for security and compliance scans, covering dependencies, code, secrets, and licenses
- Configure Microsoft Defender for Cloud DevOps to monitor your environment
- Enable GitHub Advanced Security features for both GitHub and Azure DevOps
- Connect GitHub Advanced Security tools with Microsoft Defender for Cloud
- Automate scanning of containers, including analyzing images and using CodeQL in containers
- Use Dependabot to automatically check licenses, vulnerabilities, and package versions in open-source tools
Set Up Monitoring and Instrumentation
- Enable Monitoring Tools in your DevOps Setup
- Integrate Azure Monitor and Log Analytics with your DevOps environment
- Collect performance data using Application Insights, VM Insights, Container Insights, Storage Insights, and Network Insights
- Track performance in GitHub by turning on insights and customizing dashboards and charts
- Set alerts for pipeline or workflow events in GitHub Actions and Azure Pipelines
- Use Telemetry and Logs to Analyze Performance
Next Steps
For more information about Microsoft exams, refer to the following links.