Introduction to DevOps
This foundational module provides a comprehensive overview of DevOps principles, practices, and transformation strategies. It covers what DevOps is, how organizations can begin their DevOps journey, and introduces key tools like Azure DevOps and GitHub.
- What is DevOps?
- Explore the DevOps journey
- Identify transformation teams
- Define organization structure for agile practices
- Explore shared goals and define timelines
- What is Azure DevOps?
- What is GitHub?
- Design a license management strategy
- What is source control?
- Describe working with Git locally
- Introduction to Azure Repos
- Introduction to GitHub
- Module assessment
Plan Agile with GitHub Projects and Azure Boards
Plan Agile with GitHub Projects and Azure Boards
- Introduction to GitHub Projects and Project boards
- Introduction to Azure Boards
- Configure projects and teams in Azure DevOps
- Link GitHub to Azure Boards
- Configure GitHub Projects
- Manage work with GitHub Project boards
- Customize Project views
- Collaborate using team discussions
- Design and implement a strategy for feedback cycles
- Design and implement source, bug, and quality traceability
- Agile Plan and Portfolio Management with Azure Boards
- Module assessment
Design and implement branch strategies and workflows
This module explores Git branching types, concepts, and models for the continuous delivery process. It helps companies defining their branching strategy and organization.
- Explore branch workflow types
- Explore feature branch workflow
- Explore Git branch model for continuous delivery
- Explore GitHub flow
- Explore fork workflow
- Implement branch merging restrictions
- Version control with Git in Azure Repos
- Module assessment
Collaborate with pull requests in Azure Repos
Collaborate with enterprise-grade pull request workflows, advanced collaboration patterns, and strategic code review practices in Azure Repos for scalable DevOps implementations.
- Collaborate with pull requests
- Exercise Azure Repos collaborating with pull requests
- Module assessment
Explore Git hooks
Learn how to create Git hooks that automatically check code quality, scan for security issues, and help teams follow coding rules.
- Introduction to Git hooks
- Implement Git hooks
- Module assessment
Plan to foster inner source
Learn how to use Git to foster inner source development across your organization and implement fork workflows.
- Explore foster inner source
- Implement the fork workflow
- Describe inner source with forks
- Module assessment
Manage and configure repositories
Learn how to work with large code repositories, clean up repository data, and manage releases using GitHub.
- Work with large repositories
- Explore monorepo versus multiple repos
- Implement a changelog
- Implement Scalar and cross-repository sharing
- Recover specific data by using Git commands
- Clean up repository data
- Manage releases with GitHub repos
- Automate release notes with GitHub
- Create API documentation
- Implement automation of Git history documentation
- Configure repository permissions using GitHub
- Configure GitHub tags to organize repositories
Identify technical debt
Learn how to find and manage technical debt in your code, use code quality tools, and plan effective code reviews.
- Examine code quality
- Examine complexity and quality metrics
- Introduction to technical debt
- Measure and manage technical debt
- Introduction to GitHub Advanced Security
- Integrate other code quality tools
- Plan effective code reviews
Explore Azure Pipelines
Learn how Azure Pipelines helps you automate building, testing, and deploying your applications.
- Explore the concept of pipelines in DevOps
- Describe Azure Pipelines
- Understand Azure Pipelines key terms
- Module assessment
Manage Azure Pipeline agents and pools
Learn to configure and manage Azure Pipeline agents and pools, including Microsoft-hosted and self-hosted options, security considerations, and deployment strategies.
- Choose between Microsoft-hosted versus self-hosted agents
- Explore job types
- Introduction to agent pools
- Explore predefined agent pool
- Understand typical situations for agent pools
- Communicate with Azure Pipelines
- Communicate to deploy to target servers
- Examine other considerations
- Describe security of agent pools
- Configure agent pools and understand pipeline styles
- Module assessment
Describe pipelines and concurrency
Learn about Azure Pipelines parallel jobs, concurrency management, Visual Designer, and YAML pipeline configurations for efficient CI/CD workflows.
- Understand parallel jobs
- Estimate parallel jobs
- Describe Azure Pipelines and open-source projects
- Explore Azure Pipelines and Visual Designer
- Describe Azure Pipelines and YAML
- Enable Continuous Integration with Azure Pipelines
- Module assessment
Design and implement a pipeline strategy
Learn how to design and implement effective pipeline strategies using Azure Pipelines, including multi-agent builds, source control integration, and comprehensive testing approaches.
- Configure agent demands
- Explore multi-configuration and multi-agent builds
- Integrate GitHub repositories with Azure Pipelines
- Design and implement a comprehensive testing strategy
- Implement code coverage and show in the pipeline
- Implement multi-job builds
- Explore source control types supported by Azure Pipelines
Integrate with Azure Pipelines
Learn Azure Pipelines integration by exploring advanced pipeline anatomy, structure, templates, YAML resources, and multi-repository workflows for comprehensive CI/CD solutions.
- Describe the anatomy of a pipeline
- Understand the pipeline structure
- Detail templates
- Explore YAML resources
- Use multiple repositories in your pipeline
- Migrate a pipeline from classic to YAML in Azure Pipelines
- Module assessment
Introduction to GitHub Actions
Learn GitHub Actions fundamentals including workflows, events, jobs, and runners to automate your development processes
- What are actions?
- Explore actions flow
- Understand workflows
- Describe standard workflow syntax elements
- Explore events
- Explore jobs
- Explore runners
- Examine release and test an action
- Module assessment
Learn continuous integration with GitHub Actions
Learn continuous integration with GitHub Actions through hands-on practice with workflows, environment variables, artifacts, secrets, and best practices for secure CI/CD pipelines.
- Describe continuous integration with Actions
- Examine environment variables
- Share artifacts between jobs
- Examine workflow badges
- Describe best practices for creating actions
- Mark releases with Git tags
- Create encrypted secrets
- Use secrets in a workflow
- Implement GitHub Actions for CI/CD
- Module assessment
Design a container build strategy
Design a Container Build Strategy
- Examine structure of containers
- Work with Docker containers
- Understand Dockerfile core concepts
- Examine multi-stage Dockerfiles
- Examine considerations for multiple stage builds
- Explore Azure container-related services
- Deploy Docker containers to Azure App Service web apps
- Module assessment
Create a Release Pipeline
Learn to create and configure release pipelines in Azure DevOps for automated deployment workflows.
- Describe Azure Pipelines capabilities
- Explore release pipelines
- Explore artifact sources
- Choose the appropriate artifact source
- Examine considerations for deployment to stages
- Explore build and release tasks
- Explore custom build and release tasks
- Explore release jobs
- Understand database deployment task
- Configure pipelines as code with YAML
- Module assessment
Explore release strategy recommendations
Learn release strategy best practices, approval workflows, and gate configurations for automated deployments.
- Understand the delivery cadence and three types of triggers
- Explore release approvals
- Explore release gates
- Use release gates to protect quality
- Explore GitOps release strategy and recommendations
- Control deployments using release gates
- Module assessment
Configure and Provision Environments
Learn environment provisioning, service connection configuration, and automated testing infrastructure setup.
- Provision and configure target environments
- Exercise - set up service connections
- Configure automated integration and functional test automation
- Understand Shift-left
- Set up and run availability tests
- Explore Azure Load Testing
- Set up and run functional tests
- Module assessment
Manage and Modularize Tasks and Templates
Learn to create and manage task groups, variable groups, and custom build and release tasks for modular Azure pipelines
- Examine task groups
- Explore Variables in release pipelines
- Exercise - Create and manage variable groups
- Module assessment
Automate inspection of health
Learn to implement automated health monitoring, configure event notifications, set up service hooks for pipeline monitoring, and establish quality gates for comprehensive release management
- Automate inspection of health
- Explore events and notifications
- Explore service hooks
- Configure Azure DevOps notifications
- Configure GitHub notifications
- Explore how to measure quality of your release process
- Examine release notes and documentation
- Examine considerations for choosing release management tools
- Explore common release management tools
- Module assessment
Introduction to deployment patterns
Explore deployment pattern architectures including microservices frameworks, classical deployment methodologies, and modern continuous delivery strategies for optimized software release cycles.
- Explore microservices architecture
- Examine classical deployment patterns
- Understand modern deployment patterns
- Module assessment
Implement blue-green deployment and feature toggles
Learn blue-green deployment strategies, Azure deployment slot management, and feature toggle implementation for progressive delivery and risk mitigation.
- What is blue-green deployment?
- Explore deployment slots
- Introduction to feature toggles
- Describe feature toggle maintenance
- Module assessment
Implement canary releases and dark launching
Learn canary release strategies, Azure Traffic Manager configuration, and dark launching techniques for progressive delivery and risk-controlled deployments.
- Explore canary releases
- Examine traffic manager
- Understand dark launching
- Module assessment
Implement A/B testing and progressive exposure deployment
Learn A/B testing methodologies, progressive exposure strategies, and ring-based deployment architectures for data-driven feature validation and controlled rollouts.
- What is A/B testing?
- Explore CI/CD with deployment rings
- Module assessment
Integrate with identity management systems
Master identity integration architectures including GitHub SSO, Microsoft Entra ID workload identities, service principals, and managed identities for secure DevOps authentication.
- Integrate GitHub with single sign-on (SSO)
- Design and implement permissions and roles in GitHub
- Design and implement permissions and security groups in Azure DevOps
- Explore workload identities
- Implement managed identities
- Module assessment
Manage application configuration data
Learn externalized configuration patterns, Azure App Configuration implementation, Key Vault integration, and feature flag management for secure, dynamic application settings
- Rethink application configuration data
- Explore separation of concerns
- Understand external configuration store patterns
- Implement Azure DevOps secure files
- Introduction to Azure App Configuration
- Examine key-value pairs
- Examine App Configuration feature management
- Integrate Azure Key Vault with Azure Pipelines
- Manage secrets, tokens, and certificates
- Examine DevOps inner and outer loop
- Integrate Azure Key Vault with Azure Pipelines
- Enable dynamic configuration and feature flags
- Module assessment
Explore Infrastructure as Code and configuration management
Learn Infrastructure as Code (IaC) foundational concepts, environment deployment strategies, configuration management approaches, and idempotent configuration principles for automated infrastructure operations.
- Explore environment deployment
- Examine environment configuration
- Understand imperative versus declarative configuration
- Understand idempotent configuration
- Module assessment
Create Azure Resources by using Azure Resource Manager templates
Learn how to create and deploy Azure resources using ARM templates and Bicep, including template components, dependencies, modularization, and secrets management for infrastructure as code.
- Why use Azure Resource Manager templates?
- Explore template components
- Manage dependencies
- Modularize templates
- Manage secrets in templates
- Module assessment
Create Azure Resources Using Azure CLI
Learn how to install and use Azure CLI to create and manage Azure resources interactively and through Bash scripts. Learn CLI syntax, authentication, resource management, and troubleshooting for efficient cloud automation.
- What Is Azure CLI?
- Install Azure CLI
- Execute Azure CLI Commands Interactively
- Create an Azure CLI Script for Bash
- Tips to Use the Azure CLI Successfully
- Module assessment
Explore Azure Automation with DevOps
Learn how to implement Azure Automation with DevOps using runbooks, webhooks, and PowerShell workflows. Understand automation accounts, shared resources, source control integration, and hybrid management for automated cloud operations.
- Create automation accounts
- What is a runbook?
- Understand automation shared resources
- Explore runbook gallery
- Examine webhooks
- Explore source control integration
- Explore PowerShell workflows
- Create a workflow
- Explore hybrid management
- Examine checkpoint and parallel processing
- Module assessment
Implement Desired State Configuration (DSC)
Learn to implement Desired State Configuration (DSC) with Azure Automation, including configuration drift management, DSC configurations, Linux automation, and hybrid management strategies.
- Understand configuration drift
- Explore Desired State Configuration (DSC)
- Explore Azure Automation State Configuration (DSC)
- Examine DSC configuration file
- Implement DSC and Linux automation on Azure
- Module assessment
Implement Bicep
Learn to implement Bicep for infrastructure as code, including installation, template creation, deployment with Azure Pipelines and GitHub workflows, and integration with Azure Resource Manager.
- What is Bicep?
- Install Bicep
- Exercise - Create Bicep templates
- Understand Bicep file structure and syntax
- Exercise - Deploy a Bicep file from Azure Pipelines
- Exercise - Deploy a Bicep file from GitHub workflows
- Deployments using Azure Bicep templates
- Module assessment
Introduction to Secure DevOps
Learn DevSecOps principles to integrate security throughout your development lifecycle. Understand common vulnerabilities like SQL injection, implement continuous security validation in pipelines, conduct threat modeling, and use tools like GitHub CodeQL for automated security analysis.
- Describe SQL injection attack
- Understand DevSecOps
- Explore the secure DevOps pipeline
- Explore key validation points
- Explore continuous security validation
- Understand threat modeling
- Explore CodeQL in GitHub
- Module assessment
Implement open-source software
Learn how to implement open-source software securely, understand licensing implications, evaluate corporate concerns, and manage open-source components in enterprise environments.
- Explore how software is built
- What is open-source software?
- Explore corporate concerns with open-source software components
- Introduction to open-source licenses
- Explore common open-source licenses
- Examine license implications and ratings
- Module assessment
Software Composition Analysis
Learn Software Composition Analysis (SCA) to detect vulnerabilities and license compliance issues in open-source dependencies, implement GitHub Dependabot, integrate scanning tools into pipelines, and automate container security scanning.
- Inspect and validate code bases for compliance
- Explore software composition analysis
- Implement GitHub Dependabot alerts and security updates
- Integrate software composition analysis checks into pipelines
- Examine tools for assessing package security and license compliance
- Automate container image scanning
- Interpret alerts from scanner tools
- Module assessment
Security monitoring and governance
Learn security monitoring and governance with Microsoft Defender for Cloud, Azure Policy, resource locks, Microsoft Defender for Identity, and GitHub Advanced Security integration for comprehensive DevSecOps protection.
- Implement pipeline security
- Explore Microsoft Defender for Cloud
- Examine Microsoft Defender for Cloud usage scenarios
- Explore Azure Policy
- Understand policies
- Explore initiatives
- Explore resource locks
- Understand Microsoft Defender for Identity
- Integrate GitHub Advanced Security with Microsoft Defender for Cloud
- Configure GitHub Advanced Security for GitHub and Azure DevOps
- Module assessment
Explore package dependencies
This module introduces you to organizing your build logic into different components and to dependency management.
- What is dependency management?
- Describe elements of a dependency management strategy
- Identify dependencies
- Understand source and package componentization
- Decompose your system
- Scan your codebase for dependencies
- Module assessment
Understand package management
Learn package management concepts including package feeds, feed managers, public and private sources, and how to consume, create, and publish packages using Azure Artifacts.
- Explore packages
- Understand package feeds
- Explore package feed managers
- Explore common public package sources
- Explore self-hosted and SaaS-based package sources
- Consume packages
- Introduction to Azure Artifacts
- Publish packages
- Package management with Azure Artifacts
- Module assessment
Migrate, consolidate, and secure artifacts
Learn how to migrate and consolidate artifact repositories to Azure Artifacts, and implement comprehensive security including roles, permissions, and authentication to protect package feeds.
- Identify existing artifact repositories
- Migrate and integrate artifact repositories
- Secure access to package feeds
- Examine roles
- Examine permissions
- Examine authentication
- Module assessment
Implement a versioning strategy
Learn to implement effective versioning strategies for packages using semantic versioning, package promotion workflows, and Azure Artifacts views to manage package quality and lifecycle.
- Understand versioning of artifacts
- Explore semantic versioning
- Examine release views
- Promote packages
- Explore best practices for versioning
- Module assessment
Introduction to GitHub Packages
Learn how to use GitHub Packages to publish, install, delete, and restore packages. Explore package access control, visibility settings, and authentication methods for secure package management in GitHub repositories.
- Publish packages
- Install a package
- Delete and restore a package
- Explore package access control and visibility
- Module assessment
Implement Tools to Track Usage and Flow
Learn how to implement continuous monitoring tools to track application usage and flow. Explore Azure Monitor, Log Analytics, Kusto Query Language (KQL), and Application Insights for comprehensive telemetry, performance monitoring, and user behavior analysis.
- Understand the Inner Loop
- Introduction to Continuous Monitoring
- Explore Azure Monitor and Log Analytics
- Examine Kusto Query Language (KQL)
- Explore Application Insights
- Implement Application Insights
- Design and Implement Metrics and Queries
- Monitor Application Performance with Azure Load Testing
- Module assessment
Develop monitor and status dashboards
Learn to create comprehensive monitoring dashboards using Azure Dashboards, Azure Monitor Workbooks, Power BI, and GitHub monitoring tools. Track pipeline health metrics including failure rates, duration, and flaky tests. Optimize pipeline performance for cost and reliability. Explore visualization strategies and custom application development for DevOps monitoring at scale.
- Configure monitoring in GitHub
- Explore Azure dashboards
- Explore Azure Monitor workbooks
- Explore Power BI
- Build your own custom monitoring application
- Monitor pipeline health including failure rate, duration, and flaky tests
- Optimize pipelines for cost, time, performance, and reliability
- Optimize pipeline concurrency for performance
- Module assessment
Share knowledge within teams
Learn to share knowledge effectively within development teams using Azure DevOps Wikis, GitHub documentation, and Microsoft Teams integration. Explore documentation strategies, wiki creation and management, Markdown formatting with Mermaid diagrams, and real-time collaboration tools to preserve organizational knowledge and improve team productivity.
- Share acquired knowledge within development teams
- Introduction to Azure DevOps project wikis
- Integrate GitHub and Azure DevOps with Microsoft Teams
- Share team knowledge using Azure project wiki
- Module assessment
Design processes to automate application analytics
Learn to design automated application analytics processes using Azure Application Insights, telemetry integration, augmented search capabilities, and monitoring tools to improve DevOps efficiency and user experience.
- Explore rapid responses and augmented search
- Integrate telemetry
- Examine monitoring tools and technologies
- Explore IT Service Management Connector
- Module assessment
Manage alerts, blameless retrospectives and a just culture
Learn to manage monitoring alerts effectively, conduct blameless retrospectives after incidents, and develop a just culture that promotes learning from failures. Improve application performance by reducing alert fatigue and understanding performance degradation patterns.
- Examine when to get a notification
- Explore how to fix performance issues
- Configure smart detection notifications
- Improve application performance
- Understand server response time degradation
- Reduce meaningless and non-actionable alerts
- Examine blameless retrospectives
- Develop a just culture
- Module assessment