Module 1: Introduction to DevOps
- This module explores the key areas organisations must apply to start their DevOps transformation Journey, change the team's mindset, and define timelines and goals.
By the end of this module, you'll be able to:
Understand what DevOps is and the steps to accomplish it
- Identify teams to implement the process
- Plan for the transformation with shared goals and timelines
- Plan and define timelines for goals
Module 2: Choose the right project
- This module helps organisations decide on the projects to start applying the DevOps process and tools to minimise initial resistance.
By the end of this module, you'll be able to:
- Understand different projects and systems to guide the Journey
- Select a project to start the DevOps transformation
- Identify groups to minimise initial resistance
Identify project metrics and Key Performance Indicators (KPIs)
Module 3: Describe team structures
This module explores agile development practices and helps define and configure teams and collaboration tools.
By the end of this module, you'll be able to:
- Understand agile practices and principles of agile development
- Create a team and agile organisational structure
- Identify ideal DevOps team members
- Select and configure tools for collaboration
Module 4: Choose the DevOps tools
This module explores Azure DevOps and GitHub tools and helps organisations define their work management tool and licensing strategy.
By the end of this module, you'll be able to:
- Design a tool integration strategy
- Design a license management strategy (e.g., Azure DevOps and GitHub users)
- Design a strategy for end-to-end traceability from work items to working software
- Design an authentication and access strategy
- Design a strategy for integrating on-premises and cloud resources
Module 5: Plan Agile with GitHub Projects and Azure Boards
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.
By the end of this module, you'll be able to:
- Describe GitHub Projects and Azure Boards
- Link Azure Boards and GitHub
- Configure and Manage GitHub Projects and boards
- Customise Project views
Module 6: Introduction to source control
This module introduces you to the basics of source control, exploring benefits and best practices.
By the end of this module, you'll be able to:
- Understand source control
- Apply best practices for source control
- Describe the benefits of using source control
Module 7: Describe types of source control systems
This module describes different source control systems, such as Git and TFVC and helps with the initial steps for Git utilisation.
By the end of this module, you'll be able to:
- Apply source control practices in your development process
- Explain the differences between centralised and distributed version control
- Understand Git and TFVC
- Develop using Git
Module 8: Work with Azure Repos and GitHub
This module introduces you to Azure Repos and GitHub and explores ways to migrate from TFVC to Git and work with GitHub Codespaces for development.
By the end of this module, you'll be able to:v
- Describe Azure Repos and GitHub
- Migrate from TFVC to Git
- Work with GitHub Codespaces
Module 9: Structure your Git Repo
This module examines Git repositories structure, explains the differences between mono versus multiple repos, and helps you create a changelog.
By the end of this module, you'll be able to:
- Understand Git repositories
- Implement mono repo or multiple repos
- Explain how to structure Git Repos
- Implement a change log
Module 10: Manage Git branches and workflows
This module explores Git branching types, concepts, and models for the continuous delivery process. It helps companies define their branching strategy and organisation.
By the end of this module, you'll be able to:
- Describe Git branching workflows
- Implement feature branches
- Implement GitHub Flow
- Fork a repo
- Learning Objectives 11 though 20
Module 11: Collaborate with pull requests in Azure Repos
This module presents pull requests for collaboration and code reviews using Azure DevOps and GitHub mobile for pull request approvals. It helps understand how pull requests work and configure them.
By the end of this module, you'll be able to:
- Leverages pull requests for collaboration and code reviews
- Give feedback using pull requests
- Configure branch policies
- Use GitHub mobile for pull requests approvals
Module 12: Identify technical debt
This module examines technical debt, complexity, quality metrics, and plans for effective code reviews and code quality validation.
By the end of this module, you'll be able to:
- Identify and manage technical debt
- Integrate code quality tools
- Plan code reviews
- Describe complexity and quality metrics
Module 13: Explore Git hooks
This module describes Git hooks and their usage during development, implementation, and behaviour.
By the end of this module, you'll be able to:
- Understand Git hooks
- Identify when used Git hooks
- Implement Git hooks for automation
- Explain Git hooks' behavior
Module 14: Plan to foster inner source
This module explains using Git to foster inner sources across the organisation and implement Fork and its workflows.
By the end of this module, you'll be able to:
- Use Git to foster inner source across the organisation
- Implement fork workflow
- Choose between branches and forks
- Share code between forks
Module 15: Manage Git repositories
This module explores how to work with large repositories, purge repository data and manage and automate release notes using GitHub.
By the end of this module, you'll be able to:
- Understand large Git repositories
- Explain VFS for Git
- Use Git Large File Storage (LFS)
- Purge repository data
- Manage and Automate Release Notes with GitHub
- Module 16: Explore Azure Pipelines
This module introduces Azure Pipelines concepts and explains key terms and components of the tool, helping you decide your pipeline strategy and responsibilities.
By the end of this module, you'll be able to:
- Describe Azure Pipelines
- Explain the role of Azure Pipelines and its components
- Decide Pipeline automation responsibility
- Understand Azure Pipeline key terms
Module 17: Manage Azure Pipeline agents and pools
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.
By the end of this module, you'll be able to:
- 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
Module 18: Describe pipelines and concurrency
This module describes parallel jobs and how to estimate their usage. Also, it presents Azure Pipelines for open-source projects and explores Visual Designer and YAML pipelines.
By the end of this module, you'll be able to:
- Use and estimate parallel jobs
- Use Azure Pipelines for open-source or private projects
- Use Visual Designer
- Work with Azure Pipelines and YAML
Module 19: Explore continuous integration
This module details continuous integration practice and the pillars for implementing it in the development lifecycle, its benefits, and its properties.
By the end of this module, you'll be able to:
- Explain why continuous integration matters
- Implement continuous integration using Azure Pipelines
- Explain the benefits of continuous integration
- Describe build properties
Module 20: Implement a pipeline strategy
This module describes pipeline strategies, configuring them, implementing multi-agent builds, and what source controls Azure Pipelines supports.
By the end of this module, you'll be able to:
- Define a build strategy
-Explain and configure demands
-Implement multi-agent builds
-Use different source control types available in Azure Pipelines
- Learning Objectives 21 though 30
Module 21: Integrate with Azure Pipelines
This module details Azure Pipelines anatomy and structure, templates, YAML resources, and how to use multiple repositories in your pipeline.
By the end of this module, you'll be able to:
Describe advanced Azure Pipelines anatomy and structure
Detail templates and YAML resources
Implement and use multiple repositories
Module 22: Introduction to GitHub Actions
In this module, you will learn what GitHub Actions, action flow, and its elements are. Understand what events are, explore jobs and runners, and how to read console output from actions.
By the end of this module, you'll be able to:
Explain GitHub Actions and workflows
Create and work with GitHub Actions and Workflows
Describe Events, Jobs and Runners
Examine output and release management for actions
Module 23: Learn continuous integration with GitHub Actions
This module details continuous integration using GitHub Actions and describes environment variables, artefacts, best practices, and how to secure your pipeline using encrypted variables and secrets.
By the end of this module, you'll be able to:
Implement Continuous Integration with GitHub Actions
Use environment variables
Share artefacts between jobs and use Git tags
Create and manage secrets
Module 24: Design a container build strategy
This module helps you plan a container build strategy, explains containers and their structure, and introduces Docker, microservices, Azure Container Registry, and related services.
By the end of this module, you'll be able to:
Design a container strategy
Work with Docker Containers
Create an Azure Container Registry
Explain Docker microservices and containers
Module 25: Introduction to continuous delivery
This module introduces continuous delivery concepts and their implementation in a traditional IT development cycle.
By the end of this module, you'll be able to:
Explain continuous delivery (CD)
Implement continuous delivery in your development cycle
Understand releases and deployment
Identify project opportunities to apply CD
Module 26: Create a release pipeline
This module describes Azure Pipelines capabilities, build and release tasks.
By the end of this module, you'll be able to:
Explain the terminology used in Azure DevOps and other Release Management Tooling
Describe what a Build and Release task is, what it can do, and some available deployment tasks
Implement release jobs
Module 27: Explore release recommendations
This module explores the critical release strategy recommendations organisations must consider when designing automated deployments. It explains how to define components of a release pipeline and artefact sources, create approves, and configure release gates.
By the end of this module, you'll be able to:
Explain things to consider when designing your release strategy
Define the components of a release pipeline and use artefact sources
Create a release approval plan
Implement release gates
Module 28: Provision and test environments
This module details target environment provisioning, service connections creation process, and test infrastructure setup. Learn how to configure functional test automation and run availability tests.
By the end of this module, you'll be able to:
Provision and configure target environment
Deploy to an environment securely using a service connection
Configure functional test automation and run availability tests
Setup test infrastructure
Module 29: Manage and modularise tasks and templates
This module describes the creation of task and variable groups and using release variables and stage variables in your pipeline.
By the end of this module, you'll be able to:
Use and manage task and variable groups
Use release variables and stage variables in your release pipeline
Use variables in release pipelines
Module 30: Automate inspection of health
This module describes how to automate the inspection of health events, configure notifications in Azure DevOps and GitHub, set up service hooks to monitor pipelines, measure the quality of your release process, and detail release gates for quality purposes. You'll examine release management tools and details about them.
By the end of this module, you'll be able to:
Implement automated inspection of health
Create and configure events
Configure notifications in Azure DevOps and GitHub
Create service hooks to monitor the pipeline
Classify a release versus a release process, and outline how to control the quality of both
Choose a release management tool
Learning Objectives 31 though 40
Module 31: Introduction to deployment patterns
This module introduces deployment patterns and explains microservices architecture to help improve the deployment cycle and examine classical and modern deployment patterns.
By the end of this module, you'll be able to:
Describe deployment patterns
Explain microservices architecture
Understand classical and modern deployment patterns
Plan and design your architecture
Module 32: Implement blue-green deployment and feature toggles
This module describes the blue-green deployment process and introduces feature toggle techniques to implement in the development process.
By the end of this module, you'll be able to:
Explain deployment strategies
Implement blue green deployment
Understand deployment slots
Implement and manage feature toggles
Module 33: Implement canary releases and dark launching
This module describes deployment strategies around canary releases and dark launching and examines traffic managers.
By the end of this module, you'll be able to:
Describe deployment strategies
Implement canary release
Explain traffic manager
Understand dark launching
Module 34: Implement A/B testing and progressive exposure deployment
This module introduces A/B test and progressive exposure deployment concepts and explores CI/CD with deployment rings -- ring-based deployment.
By the end of this module, you'll be able to:
Implement progressive exposure deployment
Implement A/B testing
Implement CI/CD with deployment rings
Identify the best deployment strategy
Module 35: Integrate with identity management systems
This module describes the integration with GitHub and single sign-on (SSO) for authentication, service principals, and managed service identities.
By the end of this module, you'll be able to:
Integrate Azure DevOps with identity management systems
Integrate GitHub with single sign-on (SSO)
Understand and create a service principal
Create managed service identities
Module 36: Manage application configuration data
This module explores ways to rethink application configuration data and the separation of concerns method. Explore Azure App Configuration, details Key-value pairs, App Configuration feature management, and integrate Azure Key Vault with Azure Pipelines.
By the end of this module, you'll be able to:
Rethink application configuration data
Understand the separation of concerns
Integrate Azure Key Vault with Azure Pipelines
Manage secrets, tokens and certificates
Describe Azure App Configuration
Understand Key-value pairs
Understand app configuration feature management
Implement application configuration
Module 37: Explore infrastructure as code and configuration management
This module describes key infrastructure concepts as code and environment deployment creation and configuration. Also, understand the imperative, declarative, and idempotent configuration and how it applies to your company.
By the end of this module, you'll be able to:
Understand how to deploy your environment
Plan your environment configuration
Choose between imperative versus declarative configuration
Explain idempotent configuration
Module 38: Create Azure resources using Azure Resource Manager templates
This module explores Azure Resource Manager templates and their components, details dependencies, and modularised templates with secrets.
By the end of this module, you'll be able to:
Create Azure resources using Azure Resource Manager templates
Understand Azure Resource Manager templates and template components
Manage dependencies and secrets in templates
Organise and modularise templates
Module 39: Create Azure resources by using Azure CLI
This module explains Azure CLI to create Azure resources, run templates, and detail Azure CLI commands.
By the end of this module, you'll be able to:
Create Azure resources using Azure CLI
Understand and work with Azure CLI
Run templates using Azure CLI
Explains Azure CLI commands
Module 40: Explore Azure Automation with DevOps
This module describes Azure Automation with Azure DevOps, using runbooks, webhooks, and PowerShell workflows. You'll learn how to create and manage automation for your environment.
By the end of this module, you'll be able to:
Implement automation with Azure DevOps
Create and manage runbooks
Create webhooks
Create and run a workflow runbook and PowerShell workflows
Learning Objectives 41 though 50
Module 41: Implement Desired State Configuration (DSC)
This module describes Desired State Configuration (DSC) and its components for implementation. You can exercise how to import, compile and automate your environment creation and use DSC for Linux automation on Azure.
By the end of this module, you'll be able to:
Implement Desired State Configuration (DSC)
Describe Azure Automation State Configuration
Implement DSC and Linux Automation on Azure
Plan for hybrid management
Module 42: Implement Bicep
This module explains Bicep and how it integrates with different tools, such as Azure CLI and Visual Studio Code, for environment deployment configuration.
By the end of this module, you'll be able to:
Learn what Bicep is
Learn how to install it and create a smooth authoring experience
Use Bicep to deploy resources to Azure
Deploy Bicep files in Cloud Shell and Visual Studio Code
Module 43: Introduction to Secure DevOps
This module introduces DevSecOps concepts, SQL injection attacks, threat modelling, and security for continuous integration.
By the end of this module, you'll be able to:
Identify SQL injection attack
Understand DevSecOps
Implement pipeline security
Understand threat modelling
Module 44: Implement open-source software
This module explores open-source software and corporate concerns with software components. Also, it explains standard open-source licenses, license implications, and ratings.
By the end of this module, you'll be able to:
Implement open-source software
Explain corporate concerns for open-source components
Describe open-source licenses
Understand the license implications and ratings
Module 45: Software Composition Analysis
This module explains Composition Analysis, inspecting and validating code bases for compliance, integrating with security tools, and integrating with Azure Pipelines.
By the end of this module, you'll be able to:
Inspect and validate code bases for compliance
Integrate security tools like WhiteSource with Azure DevOps
Implement pipeline security validation
Interpret alerts from scanning tools
Configure GitHub Dependabot alerts and security
Module 46: Static Analysers
This module introduces the static analysers SonarCloud and CodeQL in GitHub.
By the end of this module, you'll be able to:
Understand Static Analysers
Work with SonarCloud
Work with CodeQL in GitHub
Interpret alerts from scanning tools
Module 47: OWASP and Dynamic Analysers
This module explores OWASP and Dynamic Analysers for penetration testing, results, and bugs.
By the end of this module, you'll be able to:
Understand OWASP and Dynamic Analysers
Implement OWASP Security Coding Practices
Understand compliance for code bases
Module 48: Security Monitoring and Governance
This module describes security monitoring and governance with Microsoft Defender for Cloud and its usage scenarios, Azure Policies, Microsoft Defender for Identity, and security practices related to the tools.
By the end of this module, you'll be able to:
Configure Microsoft Defender for Cloud
Understand Azure policies
Describe initiatives, resource locks and Azure Blueprints
Work with Microsoft Defender for Identity
Module 49: Explore package dependencies
This module explores dependency management concepts and helps to identify project dependencies. You will learn to decompose your system, identify dependencies, and package componentisation.
By the end of this module, you'll be able to:
Define dependency management strategy
Identify dependencies
Describe elements and componentisation of a dependency management
Scan your codebase for dependencies
Module 50: Understand package management
This module describes package feeds, familiar public package sources, and how to create and publish packages.
By the end of this module, you'll be able to:
Implement package management
Manage package feed
Consume and create packages
Publish packages
Learning Objectives 51 though 58
Module 51: Migrate, consolidate and secure artefacts
This module details package migration, consolidation, and configuration to secure access to package feeds and artefact repositories.
By the end of this module, you'll be able to:
Identify artefact repositories
Migrate and integrate artefact repositories
Secure package feeds
Understand roles, permissions and authentication
Module 52: Implement a versioning strategy
This module explains versioning strategies for packaging, best practices for versioning, and package promotion.
By the end of this module, you'll be able to:
Implement a versioning strategy
Promote packages
Push packages from the pipeline
Describe semantics and explore best practices for versioning
Module 53: Introduction to GitHub Packages
This module introduces you to GitHub Packages. It explores ways to control permissions and visibility, publish, install, delete and restore packages using GitHub.
By the end of this module, you'll be able to:
Publish packages
Install packages
Delete and restore packages
Configure access control and visibility
Module 54: Implement tools to track usage and flow
This module introduces you to continuous feedback practices and tools to track usage and flow, such as Azure Logs Analytics, Kusto Query Language (KQL), and Application Insights.
By the end of this module, you'll be able to:
Implement tools to track feedback
Plan for continuous monitoring
Implement Application Insights
Use Kusto Query Language (KQL)
Module 55: Develop monitor and status dashboards
This module explains steps to develop monitoring with Azure Dashboards, work with View Designer and Azure Monitor, and create Azure Monitor Workbooks. Also, explore tools to support monitoring with Power BI.
By the end of this module, you'll be able to:
Configure Azure Dashboards
Work with View Designer in Azure Monitor
Create Azure Monitor Workbooks
Monitor with Power BI
Module 56: Share knowledge within teams
This module helps design the process for Application Insights and explores telemetry and monitoring tools and technologies.
By the end of this module, you'll be able to:
Automate application analytics
Assist DevOps with rapid responses and augmented search
Integrate telemetry
Implement monitoring tools and technologies
Module 57: Design processes to automate application analytics
This module helps design processes for Application Insights and explores telemetry and monitoring tools and technologies.
By the end of this module, you'll be able to:
Automate application analytics
Assist DevOps with rapid responses and augmented search
Integrate telemetry
Implement monitoring tools and technologies
Module 58: Manage alerts, blameless retrospectives and a just culture
This module examines alerts and blameless retrospectives and creates a just culture. It helps improve application performance, reduces meaningless and non-actionable alerts and explains server response-time degradation.
By the end of this module, you'll be able to:
Carry out blameless retrospectives and create a just culture
Improve application performance
Explain server response time degradation
Reduce meaningless and non-actionable alerts