Designing and Implementing Microsoft DevOps Solutions
(4 days)
Course Description
This course provides the knowledge and skills to design and implement DevOps processes and practices. Students will learn how to plan for DevOps, use source control, scale Git for an enterprise, consolidate artifacts, design a dependency management strategy, manage secrets, implement continuous integration, implement a container build strategy, design a release strategy, set up a release management workflow, implement a deployment pattern, and optimize feedback mechanisms.Learning Objectives
-
DevOps Strategy & Organizational Transformation: Plan agile transformations, define project KPIs, and design comprehensive strategies for tool integration, licensing, authentication, end-to-end traceability, and hybrid environment integration.
-
Source Control & Code Quality: Implement advanced Git workflows (via Azure Repos or GitHub) using branching, pull requests, and hooks to foster collaboration (inner source) while proactively managing code quality and technical debt with tools like SonarCloud.
-
Continuous Integration (CI) Pipelines: Configure Azure Pipelines and agents to successfully implement continuous integration and automate the software build process.
-
Site Reliability Engineering (SRE) & Observability: Establish a "just culture" with blameless retrospectives, automate application analytics, measure end-user feedback, and refine alert management.
-
Infrastructure Strategy & DevSecOps: Define infrastructure and configuration strategies while enforcing compliance and security. This includes managing organizational policies and integrating automated security, license, and open-source vulnerability scanning directly into your deployment pipelines.
Who Should Attend
Students in this course are interested in designing and implementing DevOps processes or in passing the Microsoft Azure DevOps Solutions certification exam.
Prerequisites
- Understanding of DevOps principles and practices.
- Familiarity with Azure DevOps or GitHub for version control and CI/CD.
- Basic knowledge of application monitoring concepts.
- Experience with Azure services and the Azure portal.
- Understanding of CI/CD pipelines and automation
- Understanding of Azure DevOps pipelines and GitHub Actions workflows.
- Familiarity with software development lifecycle and version control systems.
- Basic knowledge of cloud computing concepts and Azure services.
- Understanding of application security fundamentals.
Course Outline
Module 1: Development for enterprise DevOps
Introduction to DevOps
Plan Agile with GitHub Projects and Azure Boards
Design and implement branch strategies and workflows
Collaborate with pull requests in Azure Repos
Explore Git hooks
Plan to foster inner source
Manage and configure repositories
Explore monorepo versus multiple repos
Identify technical debt
Module 2: Implement CI with Azure Pipelines and GitHub Actions
Explore Azure Pipelines
Manage Azure Pipeline agents and pools
Describe pipelines and concurrency
Design and implement a pipeline strategy
Integrate with Azure Pipelines
Introduction to GitHub Actions
Learn continuous integration with GitHub Actions
Design a container build strategy
Understand Dockerfile core concepts
Examine multi-stage Dockerfiles
Module 3: Design and implement a release strategy
Create a Release Pipeline
Explore release strategy recommendations
Explore GitOps release strategy and recommendations
Configure and Provision Environments
Exercise – Set up service connections
Manage and Modularize Tasks and Templates
Automate inspection of health
Module 4: Implement a secure continuous deployment using Azure Pipelines
Introduction to deployment patterns
Implement blue-green deployment and feature toggles
Implement canary releases and dark launching
Implement A/B testing and progressive exposure deployment
Integrate with identity management systems
Manage application configuration data
Module 5: Manage infrastructure as code using Azure and DSC
Explore Infrastructure as Code and configuration management
Create Azure Resources by using Azure Resource Manager templates
Create Azure Resources using Azure CLI
Explore Azure Automation with DevOps
Implement Desired State Configuration (DSC)
Implement Bicep
Exercise – Create Bicep templates
Module 6: Implement security and validate code bases for compliance
Introduction to Secure DevOps
Understand DevSecOps
Explore CodeQL in GitHub
Implement open-source software
Software Composition Analysis
Implement GitHub Dependabot alerts and security updates
Security monitoring and governance
Module 7: Design and implement a dependency management strategy
Explore package dependencies
Understand package management
Migrate, consolidate, and secure artifacts
Implement a versioning strategy
Introduction to GitHub Packages
Module 8: Implement continuous feedback
Implement Tools to Track Usage and Flow
Develop monitor and status dashboards
Share knowledge within teams
Design processes to automate application analytics
Manage alerts, blameless retrospectives, and a just culture