Overview
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
Audience Profile
Students in this course are interested in designing and implementing DevOps processes or in passing the Microsoft Azure DevOps Solutions certification exam.
Syllabus
This module explores the fundamental concepts organizations need to understand to start their DevOps transformation journey. Students learn to define DevOps as the union of people, process, and products for continuous value delivery. The content covers identifying transformation teams, establishing shared goals and timelines, understanding cycle time optimization, and implementing validated learning approaches. Key topics include Azure DevOps and GitHub platform introductions, source control fundamentals with Git, and practical strategies for organizational change management. The module emphasizes data-informed decision making, shortened cycle times, and continuous improvement practices that form the foundation of successful DevOps adoption.
Learning Objectives
- DevOps definition and core principles
- Organizational transformation planning
- Team structure and agile practices
- Azure DevOps and GitHub platform overview
- Source control and Git fundamentals
- License management strategies
- Cycle time optimization and validated learning
This module introduces you to GitHub Projects, GitHub Project Boards and Azure Boards. It explores ways to link Azure Boards and GitHub, configure GitHub Projects and Project views, and manage work with GitHub Projects.
Learning Objectives
- Describe GitHub Projects and Azure Boards
- Link Azure Boards and GitHub
- Configure and Manage GitHub Projects and boards
- Customize Project views
This module explores Git branching types, concepts, and models for the continuous delivery process. It helps companies defining their branching strategy and organization.
Learning Objectives
- Describe Git branching workflows
- Implement feature branches
- Implement GitHub Flow
- Fork a repo
This module covers strategic code review practices, automated policy enforcement, and scalable team collaboration frameworks essential for modern DevOps implementations.
Learning Objectives
- Implement enterprise-grade pull request workflows for scalable collaboration
- Design strategic code review processes that enhance quality and knowledge transfer
- Configure advanced branch policies and automated governance controls
- Orchestrate cross-team collaboration patterns using Azure Repos integration capabilities
- Establish audit trails and compliance frameworks through pull request governance
Learn how to use Git hooks to automatically check your code and improve your development process.
Learning Objectives
- Create Git hooks that automatically check code quality for your team
- Build hooks that run before and after commits to check your code
- Make security hooks that prevent passwords and secrets from being saved
- Connect Git hooks with Azure DevOps and build pipelines
- Set up Git hooks for your whole team to use
Learn how to use Git to foster inner source development across your organization and implement fork workflows.
Learning Objectives
- Use Git to foster inner source development across your organization.
- Implement fork workflow for collaborative development.
- Choose between branches and forks for different scenarios.
- Share code between forks effectively.
Learn how to work with large code repositories, clean up repository data, and manage releases using GitHub.
Learning Objectives
- Work with large Git repositories.
- Use VFS for Git to improve performance.
- Use Git Large File Storage (LFS) for big files.
- Clean up repository data.
- Manage and automate release notes with GitHub.
Learn how to find and manage technical debt in your code, use code quality tools, and plan effective code reviews.
Learning Objectives
- Find and manage technical debt in your code.
- Use code quality tools to improve your software.
- Plan effective code reviews for your team.
- Understand complexity and quality metrics.
Learn what Azure Pipelines is, how it helps automate your development workflow, and key concepts you need to get started with building and deploying applications.
Learning Objectives
- Understand what Azure Pipelines is and how it helps your team.
- Explain key components and how they work together.
- Choose the right automation approach for your projects.
- Use essential Azure Pipelines terminology with confidence.
This module explores the differences between Microsoft-hosted and self-hosted agents, details job types, and configures agent pools. Understand typical situations to use agent pools and how to manage their security.
Learning Objectives
- Choose between Microsoft-hosted and self-hosted agents.
- Install and configure Azure Pipelines Agents.
- Configure agent pools.
- Make the agents and pools secure.
- Explore communication to deploy using Azure Pipelines.
This module describes parallel jobs and how to estimate their usage. Also, it presents Azure Pipelines for open-source projects, explores Visual Designer and YAML pipelines.
Learning Objectives
- Use and estimate parallel jobs.
- Use Azure Pipelines for open-source or private projects.
- Use Visual Designer.
- Work with Azure Pipelines and YAML.
Learn how to design and implement effective pipeline strategies using Azure Pipelines. This module covers agent demands, multi-configuration builds, GitHub integration, testing strategies, code coverage, and source control options.
Learning Objectives
- Design and implement effective build strategies
- Configure and manage agent demands
- Implement multi-configuration and multi-agent builds
- Integrate GitHub repositories with Azure Pipelines
- Design comprehensive testing strategies
- Implement code coverage in pipeline workflows
- Use different source control types available in Azure Pipelines
Learn Azure Pipelines integration by exploring advanced pipeline anatomy, structure, templates, YAML resources, and multi-repository workflows. Build effective CI/CD solutions using modern pipeline practices.
Learning Objectives
- Understand advanced Azure Pipelines anatomy and structure
- Create and use pipeline templates for code reuse
- Work with YAML resources and dependencies
- Implement multi-repository workflows in your pipelines
- Apply modern pipeline integration patterns and best practices
Learn GitHub Actions fundamentals including workflows, events, jobs, and runners. Discover how to automate your development processes and read console output from actions.
Learning Objectives
- Understand GitHub Actions and workflows
- Create and work with GitHub Actions and workflows
- Work with events, jobs, and runners
- Read output and manage releases for actions
Learn continuous integration with GitHub Actions by implementing workflows, managing environment variables and artifacts, creating secure secrets, and following industry best practices for robust CI/CD pipelines.
Learning Objectives
- Design and implement continuous integration workflows with GitHub Actions
- Configure environment variables and manage workflow data securely
- Share artifacts between jobs and automate release management with Git tags
- Create and manage encrypted secrets for secure CI/CD operations
- Apply industry best practices for maintainable and scalable automation pipelines
Learn to plan container build strategies, work with Docker containers, and deploy containerized applications using Azure services.
Learning Objectives
- Design effective container build strategies
- Work with Docker containers and Dockerfiles
- Implement multi-stage builds and best practices
- Deploy containers to Azure services
Learn Azure Pipelines capabilities, build and release tasks, and deployment workflows.
Learning Objectives
- Explain Azure Pipelines release management terminology and concepts.
- Describe build and release tasks and their deployment capabilities.
- Implement release jobs and configure deployment workflows.
Learn critical release strategy recommendations for automated deployments. Understand release pipeline components, artifact sources, approval workflows, and release gate configurations.
Learning Objectives
- Analyze key considerations for designing effective release strategies.
- Define release pipeline components and configure artifact sources.
- Create comprehensive release approval workflows.
- Implement and configure release gates for quality assurance.
Learn target environment provisioning, service connection configuration, and test infrastructure setup. Configure functional test automation and implement availability testing strategies.
Learning Objectives
- Provision and configure target environments for deployment workflows.
- Deploy securely to environments using service connections.
- Configure functional test automation and implement availability testing.
- Set up comprehensive test infrastructure for quality assurance.
This module explores task group creation, variable group management, and custom build and release task development for scalable pipeline architectures.
Learning Objectives
- Create and manage task groups for reusable pipeline components.
- Implement variable groups for centralized configuration management.
- Configure release variables and stage variables for environment-specific deployments.
- Develop custom build and release tasks for specialized pipeline requirements.
This module explores automated health event monitoring, notification configuration across Azure DevOps and GitHub platforms, service hook implementation for pipeline oversight, and quality measurement frameworks for robust release management processes.
Learning Objectives
- Implement automated health inspection systems for continuous monitoring and proactive issue detection.
- Create and configure event-driven notification systems for real-time pipeline feedback.
- Configure comprehensive notification frameworks across Azure DevOps and GitHub platforms.
- Develop service hooks for automated pipeline monitoring and integration workflows.
- Distinguish between release artifacts and release processes while implementing quality control mechanisms.
- Evaluate and select appropriate release management tools for organizational requirements.
This module delivers comprehensive deployment pattern analysis through microservices architecture exploration, classical deployment methodology examination, and modern continuous delivery strategy implementation for optimized release cycle management.
Learning Objectives
- Analyze deployment pattern architectures and implementation strategies
- Evaluate microservices architecture principles and distributed system design
- Compare classical and modern deployment patterns for optimal release strategies
- Design scalable deployment architectures aligned with organizational requirements
This module delivers comprehensive blue-green deployment methodology implementation and feature toggle architecture design for controlled progressive delivery, zero-downtime releases, and dynamic feature management.
Learning Objectives
- Analyze advanced deployment strategies and progressive delivery patterns
- Implement blue-green deployment architectures for zero-downtime releases
- Configure and manage Azure deployment slots for environment isolation
- Design and implement feature toggle systems for dynamic feature control
This module delivers comprehensive canary release implementation strategies, Azure Traffic Manager configuration for gradual traffic shifting, and dark launching methodologies for risk-mitigated progressive delivery.
Learning Objectives
- Analyze progressive deployment strategies and incremental rollout patterns
- Implement canary release architectures with gradual traffic migration
- Configure Azure Traffic Manager for intelligent traffic distribution
- Design dark launching strategies for hidden feature validation
This module delivers comprehensive A/B testing implementation strategies, progressive exposure deployment patterns, and ring-based CI/CD architectures for data-driven feature validation and phased rollout orchestration.
Learning Objectives
- Design progressive exposure deployment strategies with phased user cohort targeting
- Implement A/B testing frameworks for data-driven feature validation
- Configure ring-based deployment architectures for controlled CI/CD rollouts
- Analyze deployment strategy tradeoffs and select optimal patterns
This module delivers comprehensive identity integration strategies encompassing GitHub single sign-on (SSO) authentication, Microsoft Entra ID workload identities, service principal provisioning, and managed identity implementations for secure DevOps workflows.
Learning Objectives
- Integrate Azure DevOps with Microsoft Entra ID identity management architectures
- Implement GitHub single sign-on (SSO) and multifactor authentication strategies
- Design and provision service principals for workload identity scenarios
- Configure managed identities for passwordless Azure resource authentication
This module delivers comprehensive configuration management strategies encompassing externalized configuration patterns, separation of concerns architectures, Azure App Configuration implementation, Key Vault secret management integration, and dynamic feature flag orchestration for secure, maintainable application settings.
Learning Objectives
- Design externalized configuration architectures implementing separation of concerns principles
- Implement Azure App Configuration with key-value pair management and labeling strategies
- Integrate Azure Key Vault with Azure Pipelines for secure secret management
- Configure feature flags and dynamic configuration for progressive feature rollouts
- Manage secrets, tokens, and certificates following DevOps security best practices
- Implement external configuration store patterns for distributed applications
This module examines Infrastructure as Code (IaC) foundational concepts encompassing environment deployment provisioning and configuration management methodologies. Content explores imperative versus declarative configuration approaches, idempotent configuration principles, and organizational implementation strategies enabling automated infrastructure operations with version control, consistency, and reproducibility.
Learning Objectives
- Implement environment deployment automation strategies using Infrastructure as Code
- Design environment configuration management approaches with version control
- Differentiate between imperative and declarative configuration methodologies
- Apply idempotent configuration principles ensuring consistent infrastructure operations
This module explores Azure Resource Manager templates (ARM templates) and their components, teaching you how to create declarative infrastructure as code. Learn to manage dependencies, modularize templates for reusability, and securely handle secrets with Azure Key Vault integration. Discover both JSON ARM templates and modern Bicep syntax for efficient Azure resource deployment.
Learning Objectives
- Create and deploy Azure resources using ARM templates and Bicep syntax.
- Understand ARM template components including parameters, variables, functions, resources, and outputs.
- Manage resource dependencies using dependsOn element and reference functions.
- Organize and modularize templates using linked and nested templates for reusability.
- Securely manage secrets and sensitive values through Azure Key Vault integration.
- Choose appropriate deployment modes (incremental vs. complete) for different scenarios.
This module teaches you how to use the Azure Command-Line Interface (CLI) to create and manage Azure resources efficiently. Learn to install Azure CLI across Windows, Linux, and macOS, execute commands interactively, create Bash automation scripts, and troubleshoot common issues. Discover best practices for authentication, resource group management, and storage account creation using this powerful cross-platform tool.
Learning Objectives
- Install Azure CLI: Set up Azure CLI on Linux, macOS, and Windows operating systems.
- Authenticate to Azure: Log into Azure using various methods including interactive login, managed identities, and service principals.
- Understand CLI syntax: Learn Azure CLI command structure including reference groups, commands, parameters, and values.
- Create resources interactively: Execute Azure CLI commands at the terminal to create resource groups and storage accounts.
- Automate with scripts: Write and execute Bash scripts that leverage Azure CLI for automated resource management.
- Troubleshoot effectively: Use the --debug parameter and understand scripting language differences to resolve common issues.
Learn how to implement Azure Automation with DevOps using runbooks, webhooks, and PowerShell workflows. Understand how to create automation accounts, manage shared resources, integrate with source control systems, and plan for hybrid cloud management across Azure and on-premises environments.
Learning Objectives
- Create and configure Azure Automation accounts for managing cloud resources.
- Implement and manage runbooks using PowerShell, PowerShell Workflow, Python, and graphical editors.
- Configure webhooks to trigger runbooks from external systems and services.
- Integrate Azure Automation with GitHub and Azure DevOps for version control and CI/CD.
- Create and execute PowerShell workflows with checkpoints and parallel processing.
- Plan and implement hybrid management using Azure Automation across cloud and on-premises resources.
This module describes Desired State Configuration (DSC) and its components for implementation with Azure Automation. Learn to manage configuration drift, create DSC configurations, implement DSC for Linux environments, and plan for hybrid management scenarios.
Learning Objectives
- Understand and manage configuration drift in your infrastructure.
- Implement Desired State Configuration (DSC) with PowerShell.
- Describe Azure Automation State Configuration and its components.
- Create and manage DSC configuration files.
- Implement DSC and Linux automation on Azure.
- Plan for hybrid management with DSC.
This module explains Bicep and how it integrates with different tools such as Azure CLI, Visual Studio Code, Azure Pipelines, and GitHub workflows for infrastructure as code deployment. Learn to create, deploy, and manage Azure resources using Bicep templates.
Learning Objectives
- Understand what Bicep is and its benefits for infrastructure as code.
- Install Bicep and configure a smooth authoring experience with Visual Studio Code.
- Create Bicep templates to define Azure resources.
- Understand Bicep file structure, syntax, parameters, variables, and modules.
- Deploy Bicep files using Azure CLI and Cloud Shell.
- Deploy Bicep templates from Azure Pipelines for continuous deployment.
- Deploy Bicep templates from GitHub workflows for automated deployments.
- Understand how Bicep integrates with Azure Resource Manager templates.