Module 1.1 - Getting Started with Source Control
In this module, you will learn about source control principles and source control systems. You will also learn about Azure repositories, migrating strategies, and authentication options.
- Lesson: What is Source Control
- Lesson: Benefits of Source Control
- Lesson: Types of Source Control Systems
- Lesson: Introduction to Azure Repos
- Lesson: Migrating from TFVC to Git
- Lesson: Authenticating to Your Git Repos
- Lab: Version Controlling with Git
Module 1.2 - Scaling Git for Enterprise DevOps
In this module, you will learn how to structure your Git repository and how to use branching workflows. You will also learn about pull requests, GitHooks, internal open source, Git versioning, and file handing.
- Lesson: How to Structure Your Git Repo
- Lesson: Git Branching Workflows
- Lesson: Collaborating with Pull Requests
- Lesson: Why Care about GitHooks
- Lesson: Fostering Internal Open Source
- Lesson: Git Version
- Lesson: Files in Git
- Lab: Code Review with Pull Requests
Module 1.3 - Implement and Manage Build Infrastructure
In this module, you will learn about Azure pipelines, agents, agent pools, concurrency, integration with Jenkins, and Docker multiple stage builds.
- Lesson: The Concept of Pipelines in DevOps
- Lesson: Azure Pipelines
- Lesson: Evaluate Use of Hosted vs Private Agents
- Lesson: Agent Pools
- Lesson: Pipelines and Concurrency
- Lesson: Azure DevOps and Open Source Projects
- Lesson: Azure Pipelines YAML vs Visual Designer
- Lesson: Setup Private Agents
- Lesson: Integrate Jenkins with Azure Pipelines
- Lesson: Integration External Source Control with Azure Pipelines
- Lesson: Analyze and Integrate Docker Multi-stage Builds
- Lab: Integrate Jenkins with Azure Pipelines
- Lab: Integration External Source Control with Azure Pipelines
- Lab: Deploying a Multi-Container Application to Azure Kubernetes Service
Module 1.4 - Managing Application Config and Secrets
In this module, you will learn about security and compliance including secrets, tokens, certifications, configuration data, and tooling.
- Lesson: Introduction to security
- Lesson: Implement Secure and Compliant Development Processes
- Lesson: Rethinking Application Config Data
- Lesson: Manage Secrets, Tokens and Certificates
- Lesson: Implement Tools for Managing Security and Compliance
- Lab: SonarCloud
- Lab: WhiteSource
Module 1.5 - Implement a Mobile DevOps Strategy
In this module, you will learn about mobile DevOps strategies using the App Center, Device Sets, and Distribution Groups.
- Lesson: Introduction to Mobile DevOps
- Lesson: Introdcution to Visual Studio App Center
- Lesson: Manage Mobile Target Device Sets and Distribution Groups
- Lesson: Manage Target UI Test Device Sets
- Lesson: Create Public and Private Distribution Groups
Module 2: Implementing Continuous Integration
Module 2.1 - Implementing Continuous Integration in an Azure DevOps Pipeline
In this module, you'll be introduced to continuous integration principles including: benefits, challenges, build best practices, and implementation steps. You will also learn about implementing a build strategy with workflows, triggers, agents, and tools. Content includes:
- Lesson: Continuous Integration Overview
- Lab: Enabling Continuous Integration with Azure Pipelines
- Lesson: Implementing a Build Strategy
- Lab: Creating a Jenkins Build Job and Triggering Continuous Integration
Module 2.2 - Managing Code Quality and Security Policies
In this module, you will be learn how to manage code quality including: technical debt, SonarCloud, and other tooling solutions. You will also learn how to manage security policies with open source, OWASP, and WhiteSource Bolt. Content includes:
- Lesson: Managing Code Quality
- Lab: Managing Technical Debt with Azure DevOps and SonarCloud
- Lesson: Managing Security Policies
- Lab: Checking Vulnerabilities using WhiteSource Bolt and Azure DevOps
Module 2.3 - Implementing a Container Build Strategy
In this module, you will learn how to implement a container strategy including how containers are different from virtual machines and how microservices use containers. You will also learn how to implement containers using Docker. Content includes:
- Lesson: Implementing a Container Build Strategy
- Lab: Existing .NET Applications with Azure and Docker Images
Module 3: Implementing Continuous Delivery
Module 3.1 - Design a Release Strategy
In this module, you'll be introduced to
- Lesson: Introduction to Continuous Delivery
- Lesson: Release Strategy Recommendations
- Lesson: Building a High Quality Release Pipeline
- Lesson: Choosing a Deployment Pattern
- Lesson: Choosing the Right Release Management Tool
- Lab: Building a Release Strategy
Module 3.2 - Set Up a Release Management Workflow
In this module, you'll be introduced to
- Lesson: Create a Release Pipeline
- Lesson: Provision and Configure Environments
- Lesson: Manage and Modularize Tasks and Templates
- Lesson: Integrate Secrets with the Release Pipeline
- Lesson: Configure Automated Integration and Functional Test Automation
- Lesson: Automate Inspection of Health
- Lab: Automating your infrastructure deployments in the Cloud with Terraform and Azure Pipelines
- Lab: Setting up secrets in the pipeline with Azure Key vault
- Lab: Setting up and Running Load Tests
- Lab: Setting up and Running Functional Tests
- Lab: Using Azure Monitor as release gate
- Lab: Creating a Release Dashboard
Module 3.3 - Implement an Appropriate Deployment Pattern
In this module, you'll be introduced to
- Lesson: Introduction to Deployment Patterns
- Lesson: Implement Blue Green Deployment
- Lesson: Feature Toggles
- Lesson: Canary Releases
- Lesson: Dark Launching
- Lesson: AB Testing
- Lesson: Progressive Exposure Deployment
- Lab: Blue-Green Deployments
- Lab: Traffic Manager
Module 4: Implementing Dependency Management
Module 4.1 - Designing a Dependency Management Strategy
- Lesson: Introduction
- Lesson: Packaging Dependencies
- Lesson: Package Management
- Lesson: Implement a Versioning Strategy
- Lab: Updating packages
Module 4.2 - Manage Security and Compliance
- Lesson: Introduction
- Lesson: Package Security
- Lesson: Open Source Software
- Lesson: Integrating License and Vulberability Scans
Module 5: Implementing Application Infrastructure
Module 5.1 - Infrastructure and Configuration Azure Tools
In this module, you'll learn about Infrastructure as Code and Configuration management concepts and terminologies. How to deploy resources and applications using Azure CLI, PowerShell and Azure Resource Manager templates as well as alternative provisioning and configuration options for Azure and integrating scripts with version control. The content includes:
- Lesson 1: Infrastructure as Code and Configuration Management
- Lesson 2: Create Azure Resources using ARM Templates
- Lesson 3: Create Azure Resources using Azure CLI
- Lesson 4: Create Azure Resources by using Azure PowerShell
- Lesson 4: Additional Automation Tools
- Lesson 5: Version Control
- Lab: Azure Deployments using Resource Manager templates
Module 5.2 - Azure Automation
In this module, you'll learn about Azure Automation and the various automation services that are available from within Azure Automation, such as workflows, runbooks, webhooks, source control integration, update management and more. It will also cover Azure Automation State configuration (DSC) and how to ensure state in deployed applications and environments and prevent configuration drift. Content includes:
- Lesson 1: Azure Automation
- Lesson 2: Azure Automation State Configuration (DSC)
- Lab: Azure Automation Runbook Deployments
- Lab: Azure Automation State configuration DSC
Module 5.3 - Azure Compute services
In this module, you'll learn about the different compute services and options available in Microsoft Azure such as IaaS, PaaS Serverless and HPC compute services. You'll also learn about Azure Service Fabric, Azure Kubernetes Service, the various architecture models and how the compute services they are suited for as well as choosing the most appropriate compute service for your workload. Content includes:
- Lesson 1: Infrastructure as a Service
- Lesson 2: Platform as a Service
- Lesson 3: Serverless and HPC compute services
- Lesson 4: Azure Service Fabric
- Lesson 5: Azure Kubernetes Service
- Lesson 6: Application Architecture models
- Lesson 7: Choosing a Compute Service
- Lab: Deploy Application to Azure App Services using Azure DevOps
- Lab: Deploy Application to Azure Kubernetes Service
Module 5.4 - Third Party and Open Source Tool integration with Azure
In this module, you'll learn about third party and open source tools and products that can be integrated with Azure to help implement Infrastructure as code and configuration management methodologies. You'll learn about Chef, Puppet, Ansible, Cloud-init and Terraform integration with Azure, the differences and characteristics of each toolset. Content includes:
- Lesson 1: Chef with Azure
- Lesson 2: Puppet with Azure
- Lesson 3: Ansible with Azure
- Lesson 4: Cloud-init with Azure
- Lesson 5: Terraform with Azure
- Lab: Deploy app with Chef on Azure
- Lab: Deploy app with Puppet on Azure
- Lab: Ansible with Azure
Module 5.5 - Compliance and Security
In this module, you'll learn about Rugged DevOps and implementing security as part of the pipeline. It will cover Azure DevOps extensions available in the marketplace which can assist and deliver upon some of the requirements for integrating security into the release pipeline. It will also cover some of the core Azure tools and services that are available to also integrate into your pipeline and processes to enhance infrastructure and resource security, such as Azure Security Center, Azure Policy, Azure Key Vault, role-based access control and more. Content includes:
- Lesson 1: Security and Compliance in the pipeline
- Lesson 2: Azure security and compliance tools and services
- Lab : Implement Security and Compliance in Azure DevOps pipelines
Module 6: Implementing Continuous Feedback
Module 6.1 - Recommend and Design System Feedback Mechanisms
- Lesson: The Inner Loop
- Lab: Integration between Azure DevOps and Teams
- Lesson: Continuous Experimentation mindset
- Lab: Feature Flags
- Lesson: Design practices to measure end-user satisfaction
- Lesson: Design processes to capture and analyze user feedback
- Lesson: Design process to automate application analytics
Module 6.2 - Implement Process for Routing System Feedback to Developmen Teams
- Lesson: Implement tools to track system usage, feature usage, and flow
- Lesson: Implement routing for mobile application crash report data
- Lesson: Develop monitoring and status dashboards
- Lesson: Integrate and configure ticketing systems
Module 6.3 - Implement and Manage Build Infrastructure
- Lesson: Site Reliability Engineering
- Lesson: Analyze telemetry to establish a baseline
- Lesson: Perform ongoing tuning to reduce meaningless or non-actionable alerts
- Lesson: Analyze alerts to establish a baseline
- Lesson: Blameless PostMortems and a Just Culture
Module 7: Designing a DevOps Strategy
Module 7.1 - Planning for DevOps
In this module, students will learn about transformation planning, project selection, and team structures. Content includes:
- Transformation Planning
- Project Selection
- Team Structures
- Lab: Agile Planning and Portfolio Management with Azure Boards
Module 7.2 - Planning for Quality and Security
In this module, students will learn about developing a quality strategy and planning for secure development. Content includes:
- Planning a Quality Strategy
- Planning Secure development
- Lab: Feature Flag Management with LaunchDarkly and AzureDevOps
Module 7.3 - Migrating and Consolidating Artifacts and Tools
In this module, students will learn about migrating and consolidating artifacts, and migrating and integrating source control measures. Content includes:
- Migrating and Consolidating Artifacts
- Migrating and Integrating Source Control
- Lab: Integrating Azure Repos and Azure Pipelines with Eclipse