What you'll learn:
- These mock tests will help you in preparation for the Az-400 exam.
Microsoft Azure DevOps Solutions (AZ-400)
Exam AZ-400: Microsoft Azure DevOps Solutions is intended for the DevOps professionals who have already received the badge of Azure Developer Associate or Azure Administrator Associate.
Skills Measured
Develop an instrumentation strategy (5-10%)
Design and implement logging
• assess and configure a log framework
• design a log aggregation and storage strategy (e.g. Azure storage)
• design a log aggregation using Azure Monitor
• manage access control to logs (workspace-centric/resource-centric)
• integrate crash analytics (App Center Crashes, Crashlytics)
Design and implement telemetry
• design and implement distributed tracing
• inspect application performance indicators
• inspect infrastructure performance indicators
• define and measure key metrics (CPU, memory, disk, network)
• implement alerts on key metrics (email, SMS, webhooks, Teams/Slack)
• integrate user analytics (e.g. Application Insights funnels, Visual Studio App Center, TestFlight, Google Analytics)
Integrate logging and monitoring solutions
• configure and integrate container monitoring (Azure Monitor, Prometheus, etc.)
• configure and integrate with monitoring tools (Azure Monitor Application Insights, Dynatrace, New Relic, Naggios, Zabbix)
• create feedback loop from platform monitoring tools (e.g. Azure Diagnostics extension,
Log Analytics agent, Azure Platform Logs, Event Grid)
• manage Access control to the monitoring platform
Develop a Site Reliability Engineering (SRE) strategy (5-10%)
Develop an actionable alerting strategy
• identify and recommend metrics on which to base alerts
• implement alerts using appropriate metrics
• implement alerts based on appropriate log messages
• implement alerts based on application health checks
• analyze combinations of metrics
• develop communication mechanism to notify users of degraded systems
• implement alerts for self-healing activities (e.g. scaling, failovers)
Design a failure prediction strategy
• analyze behavior of system with regards to load and failure conditions
• calculate when a system will fail under various conditions
• measure baseline metrics for system
• leverage Application Insights Smart Detection and Dynamic thresholds in Azure Monitor
Design and implement a health check
• analyze system dependencies to determine which dependency should be included in health check
• calculate healthy response timeouts based on SLO for the service
• design approach for partial health situations
• design approach for piecemeal recovery (e.g. to improve recovery time objective strategies)
• integrate health check with compute environment
• implement different types of health checks (liveness, startup, shutdown)
Develop a security and compliance plan (10-15%)
Design an authentication and authorization strategy
• design an access solution (Azure AD Privileged Identity Management (PIM), Azure AD Conditional Access, MFA)
• implement Service Principals and Managed Identity
• configure service connections
Design a sensitive information management strategy
• evaluate and configure vault solution (Azure Key Vault, Hashicorp Vault)
• manage security certificates
• design a secrets storage and retrieval strategy (KeyVault secrets, GitHub secrets, Azure Pipelines secrets)
• formulate a plan for deploying secret files as part of a release
Develop security and compliance
• automate dependencies scanning for security (container scanning, OWASP)
• automate dependencies scanning for compliance (licenses: MIT, GPL)
• assess and report risks
• design a source code compliance solution (e.g. GitHub Code scanning, GitHub Secret scanning, pipeline-based scans, Git hooks, SonarQube, Dependabot, etc.))
Design governance enforcement mechanisms
• implement Azure policies to enforce organizational requirements
• implement container scanning (e.g. static scanning, malware, crypto mining)
• design and implement Azure Container Registry Tasks
• design break-the-glass strategy for responding to security incidents
Manage source control (10-15%)
Develop a modern source control strategy
• integrate/migrate disparate source control systems (e.g. GitHub, Azure Repos)
• design authentication strategies
• design approach for managing large binary files (e.g. Git LFS)
• design approach for cross repository sharing (e.g. Git sub-modules, packages)
• implement workflow hooks
• design approach for efficient code reviews (e.g. GitHub code review assignments, schedule reminders, Pull Analytics)
Plan and implement branching strategies for the source code
define Pull Requests (PR) guidelines to enforce work item correlation
• implement branch merging restrictions (e.g. branch policies, branch protections, manual, etc.)
• define branch strategy (e.g. trunk based, feature branch, release branch, GitHub flow)
• design and implement a PR workflow (code reviews, approvals)
• enforce static code analysis for code-quality consistency on PR
Configure repositories
• configure permissions in the source control repository
• organize the repository with git-tags
• plan for handling oversized repositories
• plan for content recovery in all repository states
• purge data from source control
Integrate source control with tools
• integrate GitHub with DevOps pipelines
• integrate GitHub with identity management solutions (Azure AD)
• design for GitOps
• design for ChatOps
• integrate source control artifacts for human consumption (e.g. Git changelog)
integrate GitHub Codespaces
Facilitate communication and collaboration (10-15%)
Communicate deployment and release information with business stakeholders
• create dashboards combining boards, pipelines (custom dashboards on Azure DevOps)
• design a cost management communication strategy
• integrate release pipeline with work item tracking (e.g. AZ DevOps, Jira)
• integrate GitHub as repository with Azure Boards
• communicate user analytics
Generate DevOps process documentation
• design onboarding process for new employees
• assess and document external dependencies (e.g. integrations, packages)
• assess and document artifacts (version, release notes)
Automate communication with team members
• integrate monitoring tools with communication platforms (e.g. Teams, Slack, dashboards) notify stakeholders about key metrics, alerts, severity using communication platforms (e.g. Email, SMS, Slack, Teams)
• integrate build and release with communication platforms (e.g. build fails, release fails)
• integrate GitHub pull request approvals via mobile apps
Define and implement continuous integration (20-25%)
Design build automation
• integrate the build pipeline with external tools (e.g., Dependency and security scanning, Code coverage)
• implement quality gates (e.g. code coverage, internationalization, peer review)
• design a testing strategy (e.g. integration, load, fuzz, API, chaos)
• integrate multiple tools (e.g. GitHub Actions, Azure Pipeline, Jenkins)
Design a package management strategy
• recommend package management tools (e.g. GitHub Packages, Azure Artifacts, Azure
Automation Runbooks Gallery, Nuget, Jfrog, Artifactory)
• design an Azure Artifacts implementation including linked feeds
• design versioning strategy for code assets (e.g. SemVer, date based)
• plan for assessing and updating and reporting package dependencies (GitHub
Automated Security Updates, NuKeeper, GreenKeeper)
• design a versioning strategy for packages (e.g. SemVer, date based)
• design a versioning strategy for deployment artifacts
Design an application infrastructure management strategy
• assess a configuration management mechanism for application infrastructure
• define and enforce desired state configuration for environments
Implement a build strategy
• design and implement build agent infrastructure (include cost, tool selection, licenses, maintainability)
• develop and implement build trigger rules
• develop build pipelines
• design build orchestration (products that are composed of multiple builds)
• integrate configuration into build process
• develop complex build scenarios (e.g. containerized agents, hybrid, GPU)
Maintain build strategy
monitor pipeline health (failure rate, duration, flaky tests)
• optimize build (cost, time, performance, reliability)
• analyze CI load to determine build agent configuration and capacity
Design a process for standardizing builds across organization
• manage self-hosted build agents (VM templates, containerization, etc.)
• create reuseable build subsystems (YAML templates, Task Groups, Variable Groups, etc.)
Define and implement a continuous delivery and release management strategy (10-15%)
Develop deployment scripts and templates
• recommend a deployment solution (e.g. GitHub Actions, Azure Pipelines, Jenkins, CircleCI, etc.)
• design and implement Infrastructure as code (ARM, Terraform, PowerShell, CLI)
• develop application deployment process (container, binary, scripts)
• develop database deployment process (migrations, data movement, ETL)
• integrate configuration management as part of the release process
• develop complex deployments (IoT, Azure IoT Edge, mobile, App Center, DR, multiregion, CDN, sovereign cloud, Azure Stack, etc.)
Implement an orchestration automation solution
• combine release targets depending on release deliverable (e.g., Infrastructure, code, assets, etc.)
• design the release pipeline to ensure reliable order of dependency deployments
• organize shared release configurations and process (YAML templates, variable groups, Azure App Configuration)
• design and implement release gates and approval processes
Plan the deployment environment strategy
• design a release strategy (blue/green, canary, ring)
• implement the release strategy (using deployment slots, load balancer configurations, Azure Traffic Manager, feature toggle, etc.)
• select the appropriate desired state solution for a deployment environment (PowerShell DSC, Chef, Puppet, etc.)
• plan for minimizing downtime during deployments (VIP Swap, Load balancer, rolling deployments, etc.)
• design a hotfix path plan for responding to high priority code fixes