Topics
Skill: Design and Implement Processes and Communications
Part 1: Design and Implement Traceability and Flow of Work
Session 1: Structuring Workflows
- Design and implement a structure for the flow of work, including GitHub Flow
- Design and implement integration for tracking work, including GitHub projects, Azure Boards, and repositories
Session 2: Feedback Cycles
- Design and implement a strategy for feedback cycles, including notifications and GitHub issues
- Design and implement source, bug, and quality traceability
Session 3: Metrics and Queries for DevOps
- Design and implement a dashboard for flow metrics like cycle times, time to recovery, and lead time
- Design and implement appropriate metrics and queries for project planning, development, testing, security, delivery, and operations
Part 2: Design and Implement Metrics and Queries for DevOps
Session 4: Project Documentation
- Document a project by configuring wikis and process diagrams using Markdown and Mermaid syntax
- Configure release documentation, including release notes and API documentation
- Automate documentation creation from Git history
Session 5: Integration Settings
- Configure integration using webhooks
- Set up integration between Azure Boards and GitHub repositories
- Configure integration between GitHub or Azure DevOps and Microsoft Teams
Skill: Design and Implement a Source Control Strategy
Part 1: Branching Strategies for Source Code
Session 6: Branch Design
- Design a branch strategy, including trunk-based, feature branch, and release branch
- Design and implement a pull request workflow using branch policies and branch protections
- Implement branch merging restrictions using branch policies and protections
Part 2: Repository Management
Session 7: Optimizing 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 and remove specific data using Git commands
Skill: Design and Implement Build and Release Pipelines
Part 1: Package Management Strategies
Session 8: Managing Packages
- Recommend package management tools like GitHub Packages and Azure Artifacts
- Design and implement package feeds and dependency versioning strategies
- Design and implement versioning strategies for pipeline artifacts
Part 2: Testing Strategies for Pipelines
Session 9: Quality and Security Gates
- Design and implement quality and release gates, including security and governance
- Design a comprehensive testing strategy with local tests, unit tests, integration tests, and load tests
- Implement tests in a pipeline and analyze results, including code coverage
Part 3: Pipeline Design and Deployment
Session 10: Deployment Automation
- Select a deployment automation solution, including GitHub Actions and Azure Pipelines
- Design and implement a GitHub runner or Azure DevOps agent infrastructure
- Develop pipelines using YAML
- Create reusable pipeline elements, including templates, task groups, and variable groups
- Design and implement checks and approvals using YAML-based environments
Session 11: Deployment Strategies
- Design deployment strategies, including blue-green, canary, and rolling deployments
- Plan for minimizing downtime with VIP swap, load balancing, and deployment slots
- Design a hotfix path for high-priority code fixes
Session 12: Infrastructure as Code (IaC)
- Recommend and implement configuration management technology
- Define and implement IaC strategies, including automation and source control
- Design desired state configurations using ARM, Bicep, and Azure Automation
Session 13: Pipeline Maintenance
- Monitor pipeline health, including failure rates and flaky tests
- Optimize pipelines for cost, time, and reliability
Migrate pipelines from classic to YAML in Azure Pipelines
Skill: Develop a Security and Compliance Plan
Part 1: Authentication and Authorization
Session 14: Secure Identity Management
- Choose between Service Principals and Managed Identity
- Implement and manage GitHub authentication and Azure DevOps service connections
- Design permissions and roles in GitHub and Azure DevOps
Part 2: Managing Sensitive Information
Session 15: Securing Automation
- Implement and manage secrets, keys, and certificates using Azure Key Vault
- Design and implement a strategy for managing sensitive files and preventing leakage
Part 3: Security and Compliance Scanning
Session 16: Automated Scanning
- Design strategies for dependency, code, secret, and licensing scanning
- Configure Microsoft Defender for Cloud DevOps Security
- Automate container scanning with CodeQL and analyze licensing vulnerabilities
Skill: Implement an Instrumentation Strategy
Part 1: Monitoring DevOps Environments
Session 17: Configuring Monitoring
- Configure Azure Monitor, Log Analytics, and Application Insights
- Configure collection of telemetry for containers, VMs, and storage
Session 18: Metrics and Logs Analysis
- Analyze performance indicators like CPU, memory, and network
- Inspect distributed tracing and interrogate logs using KQL