DESIGNING AND IMPLEMENTING MICROSOFT DEVOPS SOLUTIONS

Course 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

Course Objectives

After completing this course, students will be able to:

  • Plan for the transformation with shared goals and timelines
  • Select a project and identify project metrics and KPIs
  • Create a team and agile organization structure
  • Describe the benefits of using Source Control
  • Migrate from TFVC to Git
  • Scale Git for Enterprise DevOps
  • Recommend artifact management tools and practices
  • Abstract common packages to enable sharing and reuse
  • Migrate and consolidate artifacts
  • Migrate and integrate source control measures
  • Manage application config and secrets
  • Develop a project quality strategy
  • Plan for secure development practices and compliance rules
  • Implement and manage build infrastructure
  • Explain why continuous integration matters
  • Implement continuous integration using Azure DevOps
  • Manage code quality including: technical debt, SonarCloud, and other tooling solutions
  • Manage security policies with open source, OWASP, and WhiteSource Bolt
  • Implement a container strategy including how containers are different from virtual machines and how microservices use containers
  • Implement containers using Docker
  • Inspect open source software packages for security and license compliance to align with corporate standards
  • Configure build pipeline to access package security and license rating
  • Configure secure access to package feeds
  • Inspect codebase to identify code dependencies that can be converted to packages
  • Identify and recommend standardized package types and versions across the solution
  • Refactor existing build pipelines to implement version strategy that publishes packages
  • Manage security and compliance
  • Differentiate between a release and a deployment
  • Define the components of a release pipeline
  • Explain things to consider when designing your release strategy
  • Classify a release versus a release process and outline how to control the quality of both
  • Describe the principle of release gates and how to deal with release notes and documentation
  • Explain deployment patterns, both in the traditional sense and in the modern sense
  •  Choose a release management tool 
  • 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 
  • Classify an Agent, Agent Queue, and Agent Pool 
  • Explain why you sometimes need multiple release jobs in one release pipeline 
  • Differentiate between multi-agent and multi-configuration release job 
  • Use release variables and stage variables in your release pipeline 
  • Deploy to an environment securely using a service connection 
  • Embed testing in the pipeline 
  • List the different ways to inspect the health of your pipeline and release by using alerts, service hooks, and reports 
  • Create a release gate 
  • Describe deployment patterns 
  • Implement Blue Green Deployment 
  • Implement Canary Release 
  • Implement Progressive Exposure Deployment 
  • Configure crash report integration for client applications 
  • Develop monitoring and status dashboards 
  • Implement routing for client application crash report data 
  • Implement tools to track system usage, feature usage, and flow 
  • Integrate and configure ticketing systems with development team’s work management 
  • Implement a mobile DevOps strategy
  • Apply infrastructure and configuration as code principles. 
  • Deploy and manage infrastructure using Microsoft automation technologies such as ARM templates, PowerShell, and Azure CLI 
  • Describe deployment models and services that are available with Azure
  • Deploy and configure a Managed Kubernetes cluster 
  • Deploy and configure infrastructure using 3rd party tools and services with Azure, such as Chef, Puppet, Ansible, SaltStack, and Terraform 
  • Define an infrastructure and configuration strategy and appropriate toolset for a release pipeline and application infrastructure 
  • Implement compliance and security in your application infrastructure 
  • Design practices to measure end-user satisfaction 
  • Design processes to capture and analyze user feedback from external sources 
  • Design routing for client application crash report data 
  • Recommend monitoring tools and technologies 
  • Recommend system and feature usage tracking tools 
  • Analyze alerts to establish a baseline 
  • Analyze telemetry to establish a baseline 
  • Perform live site reviews and capture feedback for system outages 
  • Perform ongoing tuning to reduce meaningless or non-actionable alerts

Course Prequisites

  • Experience working in a Windows Server infrastructure enterprise environment
  • Experience working with Windows Server 2008 or Windows Server 2012
  • Knowledge of the Open Systems Interconnection (OSI) model
  • Understanding of core networking infrastructure components and technologies such as cabling, routers, hubs, and switches
  • Familiarity with networking topologies and architectures such as local area networks (LANs), wide area networks (WANs) and wireless networking
  • Some basic knowledge of the TCP/IP protocol stack, addressing and name resolution
  • Experience with and knowledge of Hyper-V and virtualization
  • Hands-on experience working with the Windows client operating systems such as Windows 8.1 or Windows 10

Target Audience

Students in this course are interested in implementing DevOps processes or in passing the Microsoft Azure DevOps Solutions certification exam.

Fundamental knowledge about Azure, version control, Agile software development, and core software development principles. It would be helpful to have experience in an organization that delivers software.

1: Planning for DevOps

  • Transformation Planning
  • Project Selection
  • Team Structures
  • Migrating to Azure DevOps
  • LAB: Agile Planning and Portfolio Management with Azure Boards

After completing this module, students will be able to: 

  • Plan for the transformation with shared goals and timelines
  • Select a project and identify project metrics and KPIs
  • Create a team and agile organizational structure
  • Design a tool integration strategy
  • Design a license management strategy (e.g. VSTS 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

2: Getting started with Source Control

  • What is Source Control
  • Benefits of Source Control
  • Types of Source Control Systems
  • Introduction to Azure Repos
  • Introduction to GitHub
  • Migrating from Team Foundation Version Control (TFVC) to Git in Azure Repos
  • Authenticating to Git in Azure Repos
  • LAB: Version Controlling with Git

After completing this module, students will be able to:

  • Describe the benefits of using Source Control 
  • Describe Azure Repos and GitHub
  • Migrate from TFVC to Git

3: Scaling Git for enterprise DevOps

  • How to Structure your Git Repo
  • Git Branching Workflows
  • Collaborating with Pull Requests in Azure Repos
  • Why care about GitHooks
  • Fostering Inner Source
  • LAB: Code Review with Pull Requests

After completing this module, students will be able to:

  • Explain how to structure Git repos 
  • Describe Git branching workflows
  • Leverage pull requests for collaboration and code reviews 
  • Leverage Git hooks for automation 
  • Use git to foster inner source across the organization

4: Consolidating Artifacts & Designing a Dependency Management Strategy

  • Packaging Dependencies
  • Package Management
  • Migrating and Consolidating Artifacts
  • LAB: Updating Packages

After completing this module, students will be able to:

  • Recommend artifact management tools and practices
  • Abstract common packages to enable sharing and reuse
  • Migrate and consolidate artifacts
  • Migrate and integrate source control measures

5: Implementing Continuous Integration with Azure Pipelines

  • The concept of pipelines in DevOps
  • Azure Pipelines
  • Evaluate use of Hosted vs Private Agents
  • Agent Pools
  • Pipelines and Concurrency
  • Azure DevOps and Open Source Projects (Public Projects)
  • Azure Pipelines YAML vs Visual Designer
  • Continuous Integration Overview
  • Implementing a Build Strategy
  • Integration with Azure Pipelines
  • Integrate External Source Control with Azure Pipelines
  • Set Up Private Agents
  • Analyze and Integrate Docker Multi-Stage Builds
  • LAB: Enabling Continuous Integration with Azure Pipelines
  • LAB: Integrating External Source Control with Azure Pipelines
  • LAB: Integrate Jenkins with Azure Pipelines
  • LAB: Deploying a Multi-Container Application

After completing this module, students will be able to:

  • Implement and manage build infrastructure
  • Explain why continuous integration matters
  • Implement continuous integration using Azure DevOps

6: Managing Application Config and Secrets

  • Introduction to Security
  • Implement secure and compliant development process
  • Rethinking application config data
  • Manage secrets, tokens, and certificates
  • Implement tools for managing security and compliance in a pipeline
  • LAB: Integrating Azure Key Vault with Azure DevOps

After completing this module, students will be able to:

  • Manage application config and secrets

7: Managing Code Quality and Security Policies

  • Managing Code Quality
  • Managing Security Policies
  • LAB: Managing Technical Debt with Azure DevOps and SonarCloud

After completing this module, students will be able to:

  • Manage code quality including: technical debt SonarCloud, and other tooling solutions
  • Manage security policies with open source and OWASP

8: Implementing a Container Build Strategy

  • Implementing a Container Build Strategy
  • LAB: Modernizing Existing ASP.NET Apps with Azure

After completing this module, students will be able to:

  • Implement a container strategy including how containers are different from virtual machines and how microservices use containers
  • Implement containers using Docker

9: Manage Artifact versioning, security & compliance

  • Package security
  • Open source software
  • Integrating license and vulnerability scans
  • Implement a versioning strategy (git version)
  • LAB: Manage Open Source Security and License with WhiteSource

After completing this module, students will be able to:

  • Inspect open source software packages for security and license compliance to align with corporate standards
  • Configure build pipeline to access package security and license rating
  • Configure secure access to package feeds
  • Inspect codebase to identify code dependencies that can be converted to packages
  • Identify and recommend standardized package types and versions across the solution
  • Refactor existing build pipelines to implement version strategy that publishes packages
  • Manage security and compliance

10: Design a Release Strategy

  • Introduction to Continuous Delivery
  • Release strategy recommendations
  • Building a High-Quality Release pipeline
  • Choosing a deployment pattern
  • Choosing the right release management tool

After completing this module, students will be able to:

  • Differentiate between a release and a deployment
  • Define the components of a release pipeline
  • Explain things to consider when designing your release strategy
  • Classify a release versus a release process and outline how to control the quality of both
  • Describe the principle of release gates and how to deal with release notes and documentation
  • Explain deployment patterns, both in the traditional sense and in the modern sense
  • Choose a release management tool

11: Set up a Release Management Workflow

  • Create a Release Pipeline
  • Provision and Configure Environments
  • Manage and Modularize Tasks and Templates
  • Integrate Secrets with the release pipeline
  • Configure Automated Integration and Functional Test Automation
  • Automate Inspection of Health
  • LAB: Configuring Pipelines as Code with YAML
  • LAB: Setting up secrets in the pipeline with Azure Key vault
  • LAB: Setting up and Running Functional Tests
  • LAB: Using Azure Monitor as release gate
  • LAB: Creating a release Dashboard

After completing this module, students will 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
  • Classify an Agent, Agent Queue, and Agent Pool
  • Explain why you sometimes need multiple release jobs in one release pipeline
  • Differentiate between multi-agent and multi-configuration release job
  • Use release variables and stage variables in your release pipeline
  • Deploy to an environment securely using a service connection
  • Embed testing in the pipeline
  • List the different ways to inspect the health of your pipeline and release by using alerts, service hooks, and reports
  • Create a release gate

12: Implement an appropriate deployment pattern

  • Introduction to Deployment Patterns
  • Implement Blue Green Deployment
  • Feature Toggles
  • Canary Releases
  • Dark Launching
  • AB Testing
  • Progressive Exposure Deployment
  • LAB: Feature Flag Management with LaunchDarkly and Azure DevOps

After completing this module, students will be able to:

  • Describe deployment patterns
  • Implement Blue Green Deployment
  • Implement Canary Release
  • Implement Progressive Exposure Deployment

13: Implement process for routing system feedback to development teams

  • Implement Tools to Track System Usage, Feature Usage, and Flow
  • Implement Routing for Mobile Application Crash Report Data
  • Develop Monitoring and Status Dashboards
  • Integrate and Configure Ticketing Systems
  • LAB: Monitoring Application Performance

After completing this module, students will be able to:

  • Configure crash report integration for client applications
  • Develop monitoring and status dashboards
  • Implement routing for client application crash report data
  • Implement tools to track system usage, feature usage, and flow
  • Integrate and configure ticketing systems with development team’s work management

14: Implement a mobile DevOps strategy

  • Introduction to Mobile DevOps
  • Introduction to Visual Studio App Center
  • Manage mobile target device sets and distribution groups
  • Manage target UI test device sets
  • Provision tester devices for deployment
  • Create public and private distribution groups

After completing this module, students will be able to:

  • Implement a mobile DevOps strategy

15: Infrastructure and Configuration Azure Tools

  • Infrastructure as Code and Configuration Management
  • Create Azure Resources using ARM Templates
  • Create Azure Resources using Azure CLI
  • Create Azure Resources by using Azure PowerShell
  • Desired State Configuration (DSC)
  • Azure Automation with DevOps
  • Additional Automation Tools
  • LAB: Azure Deployments using Resource Manager Templates

After completing this module, students will be able to:

  • Apply infrastructure and configuration as code principles
  • Deploy and manage infrastructure using Microsoft automation technologies such as ARM templates, PowerShell, and Azure CLI

16: Azure Deployment Models and Services

  • Deployment Modules and Options
  • Azure Infrastructure-as-a-Service (IaaS) Services
  • Azure Platform-as-a-Service (PaaS) services
  • Serverless and HPC Computer Services
  • Azure Service Fabric
  • LAB: Azure Automation – IaaS or PaaS deployment

After completing this module, students will be able to:

  • Describe deployment models and services that are available with Azure

17: Create and Manage Kubernetes Service Infrastructure

  • Azure Kubernetes Service
  • LAB: Deploying a multi-container application to Azure Kubernetes Service

After completing this module, students will be able to:

  • Deploy and configure a Managed Kubernetes cluster

18: Third Party Infrastructure as Code Tools available with Azure

  • Chef
  • Puppet
  • Ansible
  • Terraform
  • LAB: Infrastructure as Code
  • LAB: Automating Your Infrastructure Deployments in the Cloud with Terraform and Azure Pipelines

After completing this module, students will be able to:

  • Deploy and configure infrastructure using 3rd party tools and services with Azure, such as Chef, Puppet, Ansible, SaltStack, and Terraform

19: Implement Compliance and Security in your Infrastructure

  • Security and Compliance Principles with DevOps
  • Azure security Center
  • LAB: Implement Security and Compliance in an Azure DevOps Pipeline

After completing this module, students will be able to:

  • Define an infrastructure and configuration strategy and appropriate toolset for a release pipeline and application infrastructure
  • Implement compliance and security in your application infrastructure

20: Recommend and design system feedback mechanisms

  • The inner loop
  • Continuous Experimentation mindset
  • Design practices to measure end-user satisfaction
  • Design processes to capture and analyze user feedback
  • Design process to automate application analytics
  • LAB: Integration between Azure DevOps and Teams

After completing this module, students will be able to:

  • Design practices to measure end-user satisfaction
  • Design processes to capture and analyze user feedback from external sources
  • Design routing for client application crash report data
  • Recommend monitoring tools and technologies
  • Recommend system and feature usage tracking tools

21: Optimize feedback mechanisms

  • Site Reliability Engineering
  • Analyze telemetry to establish a baseline
  • Perform ongoing tuning to reduce meaningless or non-actionable alerts
  • Analyze alerts to establish a baseline
  • Blameless Retrospectives and a Just Culture

After completing this module, students will be able to:

  • Analyze alerts to establish a baseline
  • Analyze telemetry to establish a baseline
  • Perform live site reviews and capture feedback for system outages
  • Perform ongoing tuning to reduce meaningless or non-actionable alerts1: Planning for DevOps
    • Transformation Planning
    • Project Selection
    • Team Structures
    • Migrating to Azure DevOps
    • LAB: Agile Planning and Portfolio Management with Azure Boards

    After completing this module, students will be able to: 

    • Plan for the transformation with shared goals and timelines
    • Select a project and identify project metrics and KPIs
    • Create a team and agile organizational structure
    • Design a tool integration strategy
    • Design a license management strategy (e.g. VSTS 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

    2: Getting started with Source Control

    • What is Source Control
    • Benefits of Source Control
    • Types of Source Control Systems
    • Introduction to Azure Repos
    • Introduction to GitHub
    • Migrating from Team Foundation Version Control (TFVC) to Git in Azure Repos
    • Authenticating to Git in Azure Repos
    • LAB: Version Controlling with Git

    After completing this module, students will be able to:

    • Describe the benefits of using Source Control 
    • Describe Azure Repos and GitHub
    • Migrate from TFVC to Git

    3: Scaling Git for enterprise DevOps

    • How to Structure your Git Repo
    • Git Branching Workflows
    • Collaborating with Pull Requests in Azure Repos
    • Why care about GitHooks
    • Fostering Inner Source
    • LAB: Code Review with Pull Requests

    After completing this module, students will be able to:

    • Explain how to structure Git repos 
    • Describe Git branching workflows
    • Leverage pull requests for collaboration and code reviews 
    • Leverage Git hooks for automation 
    • Use git to foster inner source across the organization

    4: Consolidating Artifacts & Designing a Dependency Management Strategy

    • Packaging Dependencies
    • Package Management
    • Migrating and Consolidating Artifacts
    • LAB: Updating Packages

    After completing this module, students will be able to:

    • Recommend artifact management tools and practices
    • Abstract common packages to enable sharing and reuse
    • Migrate and consolidate artifacts
    • Migrate and integrate source control measures

    5: Implementing Continuous Integration with Azure Pipelines

    • The concept of pipelines in DevOps
    • Azure Pipelines
    • Evaluate use of Hosted vs Private Agents
    • Agent Pools
    • Pipelines and Concurrency
    • Azure DevOps and Open Source Projects (Public Projects)
    • Azure Pipelines YAML vs Visual Designer
    • Continuous Integration Overview
    • Implementing a Build Strategy
    • Integration with Azure Pipelines
    • Integrate External Source Control with Azure Pipelines
    • Set Up Private Agents
    • Analyze and Integrate Docker Multi-Stage Builds
    • LAB: Enabling Continuous Integration with Azure Pipelines
    • LAB: Integrating External Source Control with Azure Pipelines
    • LAB: Integrate Jenkins with Azure Pipelines
    • LAB: Deploying a Multi-Container Application

    After completing this module, students will be able to:

    • Implement and manage build infrastructure
    • Explain why continuous integration matters
    • Implement continuous integration using Azure DevOps

    6: Managing Application Config and Secrets

    • Introduction to Security
    • Implement secure and compliant development process
    • Rethinking application config data
    • Manage secrets, tokens, and certificates
    • Implement tools for managing security and compliance in a pipeline
    • LAB: Integrating Azure Key Vault with Azure DevOps

    After completing this module, students will be able to:

    • Manage application config and secrets

    7: Managing Code Quality and Security Policies

    • Managing Code Quality
    • Managing Security Policies
    • LAB: Managing Technical Debt with Azure DevOps and SonarCloud

    After completing this module, students will be able to:

    • Manage code quality including: technical debt SonarCloud, and other tooling solutions
    • Manage security policies with open source and OWASP

    8: Implementing a Container Build Strategy

    • Implementing a Container Build Strategy
    • LAB: Modernizing Existing ASP.NET Apps with Azure

    After completing this module, students will be able to:

    • Implement a container strategy including how containers are different from virtual machines and how microservices use containers
    • Implement containers using Docker

    9: Manage Artifact versioning, security & compliance

    • Package security
    • Open source software
    • Integrating license and vulnerability scans
    • Implement a versioning strategy (git version)
    • LAB: Manage Open Source Security and License with WhiteSource

    After completing this module, students will be able to:

    • Inspect open source software packages for security and license compliance to align with corporate standards
    • Configure build pipeline to access package security and license rating
    • Configure secure access to package feeds
    • Inspect codebase to identify code dependencies that can be converted to packages
    • Identify and recommend standardized package types and versions across the solution
    • Refactor existing build pipelines to implement version strategy that publishes packages
    • Manage security and compliance

    10: Design a Release Strategy

    • Introduction to Continuous Delivery
    • Release strategy recommendations
    • Building a High-Quality Release pipeline
    • Choosing a deployment pattern
    • Choosing the right release management tool

    After completing this module, students will be able to:

    • Differentiate between a release and a deployment
    • Define the components of a release pipeline
    • Explain things to consider when designing your release strategy
    • Classify a release versus a release process and outline how to control the quality of both
    • Describe the principle of release gates and how to deal with release notes and documentation
    • Explain deployment patterns, both in the traditional sense and in the modern sense
    • Choose a release management tool

    11: Set up a Release Management Workflow

    • Create a Release Pipeline
    • Provision and Configure Environments
    • Manage and Modularize Tasks and Templates
    • Integrate Secrets with the release pipeline
    • Configure Automated Integration and Functional Test Automation
    • Automate Inspection of Health
    • LAB: Configuring Pipelines as Code with YAML
    • LAB: Setting up secrets in the pipeline with Azure Key vault
    • LAB: Setting up and Running Functional Tests
    • LAB: Using Azure Monitor as release gate
    • LAB: Creating a release Dashboard

    After completing this module, students will 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
    • Classify an Agent, Agent Queue, and Agent Pool
    • Explain why you sometimes need multiple release jobs in one release pipeline
    • Differentiate between multi-agent and multi-configuration release job
    • Use release variables and stage variables in your release pipeline
    • Deploy to an environment securely using a service connection
    • Embed testing in the pipeline
    • List the different ways to inspect the health of your pipeline and release by using alerts, service hooks, and reports
    • Create a release gate

    12: Implement an appropriate deployment pattern

    • Introduction to Deployment Patterns
    • Implement Blue Green Deployment
    • Feature Toggles
    • Canary Releases
    • Dark Launching
    • AB Testing
    • Progressive Exposure Deployment
    • LAB: Feature Flag Management with LaunchDarkly and Azure DevOps

    After completing this module, students will be able to:

    • Describe deployment patterns
    • Implement Blue Green Deployment
    • Implement Canary Release
    • Implement Progressive Exposure Deployment

    13: Implement process for routing system feedback to development teams

    • Implement Tools to Track System Usage, Feature Usage, and Flow
    • Implement Routing for Mobile Application Crash Report Data
    • Develop Monitoring and Status Dashboards
    • Integrate and Configure Ticketing Systems
    • LAB: Monitoring Application Performance

    After completing this module, students will be able to:

    • Configure crash report integration for client applications
    • Develop monitoring and status dashboards
    • Implement routing for client application crash report data
    • Implement tools to track system usage, feature usage, and flow
    • Integrate and configure ticketing systems with development team’s work management

    14: Implement a mobile DevOps strategy

    • Introduction to Mobile DevOps
    • Introduction to Visual Studio App Center
    • Manage mobile target device sets and distribution groups
    • Manage target UI test device sets
    • Provision tester devices for deployment
    • Create public and private distribution groups

    After completing this module, students will be able to:

    • Implement a mobile DevOps strategy

    15: Infrastructure and Configuration Azure Tools

    • Infrastructure as Code and Configuration Management
    • Create Azure Resources using ARM Templates
    • Create Azure Resources using Azure CLI
    • Create Azure Resources by using Azure PowerShell
    • Desired State Configuration (DSC)
    • Azure Automation with DevOps
    • Additional Automation Tools
    • LAB: Azure Deployments using Resource Manager Templates

    After completing this module, students will be able to:

    • Apply infrastructure and configuration as code principles
    • Deploy and manage infrastructure using Microsoft automation technologies such as ARM templates, PowerShell, and Azure CLI

    16: Azure Deployment Models and Services

    • Deployment Modules and Options
    • Azure Infrastructure-as-a-Service (IaaS) Services
    • Azure Platform-as-a-Service (PaaS) services
    • Serverless and HPC Computer Services
    • Azure Service Fabric
    • LAB: Azure Automation – IaaS or PaaS deployment

    After completing this module, students will be able to:

    • Describe deployment models and services that are available with Azure

    17: Create and Manage Kubernetes Service Infrastructure

    • Azure Kubernetes Service
    • LAB: Deploying a multi-container application to Azure Kubernetes Service

    After completing this module, students will be able to:

    • Deploy and configure a Managed Kubernetes cluster

    18: Third Party Infrastructure as Code Tools available with Azure

    • Chef
    • Puppet
    • Ansible
    • Terraform
    • LAB: Infrastructure as Code
    • LAB: Automating Your Infrastructure Deployments in the Cloud with Terraform and Azure Pipelines

    After completing this module, students will be able to:

    • Deploy and configure infrastructure using 3rd party tools and services with Azure, such as Chef, Puppet, Ansible, SaltStack, and Terraform

    19: Implement Compliance and Security in your Infrastructure

    • Security and Compliance Principles with DevOps
    • Azure security Center
    • LAB: Implement Security and Compliance in an Azure DevOps Pipeline

    After completing this module, students will be able to:

    • Define an infrastructure and configuration strategy and appropriate toolset for a release pipeline and application infrastructure
    • Implement compliance and security in your application infrastructure

    20: Recommend and design system feedback mechanisms

    • The inner loop
    • Continuous Experimentation mindset
    • Design practices to measure end-user satisfaction
    • Design processes to capture and analyze user feedback
    • Design process to automate application analytics
    • LAB: Integration between Azure DevOps and Teams

    After completing this module, students will be able to:

    • Design practices to measure end-user satisfaction
    • Design processes to capture and analyze user feedback from external sources
    • Design routing for client application crash report data
    • Recommend monitoring tools and technologies
    • Recommend system and feature usage tracking tools

    21: Optimize feedback mechanisms

    • Site Reliability Engineering
    • Analyze telemetry to establish a baseline
    • Perform ongoing tuning to reduce meaningless or non-actionable alerts
    • Analyze alerts to establish a baseline
    • Blameless Retrospectives and a Just Culture

    After completing this module, students will be able to:

    • Analyze alerts to establish a baseline
    • Analyze telemetry to establish a baseline
    • Perform live site reviews and capture feedback for system outages
    • Perform ongoing tuning to reduce meaningless or non-actionable alerts1: Planning for DevOps
      • Transformation Planning
      • Project Selection
      • Team Structures
      • Migrating to Azure DevOps
      • LAB: Agile Planning and Portfolio Management with Azure Boards

      After completing this module, students will be able to: 

      • Plan for the transformation with shared goals and timelines
      • Select a project and identify project metrics and KPIs
      • Create a team and agile organizational structure
      • Design a tool integration strategy
      • Design a license management strategy (e.g. VSTS 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

      2: Getting started with Source Control

      • What is Source Control
      • Benefits of Source Control
      • Types of Source Control Systems
      • Introduction to Azure Repos
      • Introduction to GitHub
      • Migrating from Team Foundation Version Control (TFVC) to Git in Azure Repos
      • Authenticating to Git in Azure Repos
      • LAB: Version Controlling with Git

      After completing this module, students will be able to:

      • Describe the benefits of using Source Control 
      • Describe Azure Repos and GitHub
      • Migrate from TFVC to Git

      3: Scaling Git for enterprise DevOps

      • How to Structure your Git Repo
      • Git Branching Workflows
      • Collaborating with Pull Requests in Azure Repos
      • Why care about GitHooks
      • Fostering Inner Source
      • LAB: Code Review with Pull Requests

      After completing this module, students will be able to:

      • Explain how to structure Git repos 
      • Describe Git branching workflows
      • Leverage pull requests for collaboration and code reviews 
      • Leverage Git hooks for automation 
      • Use git to foster inner source across the organization

      4: Consolidating Artifacts & Designing a Dependency Management Strategy

      • Packaging Dependencies
      • Package Management
      • Migrating and Consolidating Artifacts
      • LAB: Updating Packages

      After completing this module, students will be able to:

      • Recommend artifact management tools and practices
      • Abstract common packages to enable sharing and reuse
      • Migrate and consolidate artifacts
      • Migrate and integrate source control measures

      5: Implementing Continuous Integration with Azure Pipelines

      • The concept of pipelines in DevOps
      • Azure Pipelines
      • Evaluate use of Hosted vs Private Agents
      • Agent Pools
      • Pipelines and Concurrency
      • Azure DevOps and Open Source Projects (Public Projects)
      • Azure Pipelines YAML vs Visual Designer
      • Continuous Integration Overview
      • Implementing a Build Strategy
      • Integration with Azure Pipelines
      • Integrate External Source Control with Azure Pipelines
      • Set Up Private Agents
      • Analyze and Integrate Docker Multi-Stage Builds
      • LAB: Enabling Continuous Integration with Azure Pipelines
      • LAB: Integrating External Source Control with Azure Pipelines
      • LAB: Integrate Jenkins with Azure Pipelines
      • LAB: Deploying a Multi-Container Application

      After completing this module, students will be able to:

      • Implement and manage build infrastructure
      • Explain why continuous integration matters
      • Implement continuous integration using Azure DevOps

      6: Managing Application Config and Secrets

      • Introduction to Security
      • Implement secure and compliant development process
      • Rethinking application config data
      • Manage secrets, tokens, and certificates
      • Implement tools for managing security and compliance in a pipeline
      • LAB: Integrating Azure Key Vault with Azure DevOps

      After completing this module, students will be able to:

      • Manage application config and secrets

      7: Managing Code Quality and Security Policies

      • Managing Code Quality
      • Managing Security Policies
      • LAB: Managing Technical Debt with Azure DevOps and SonarCloud

      After completing this module, students will be able to:

      • Manage code quality including: technical debt SonarCloud, and other tooling solutions
      • Manage security policies with open source and OWASP

      8: Implementing a Container Build Strategy

      • Implementing a Container Build Strategy
      • LAB: Modernizing Existing ASP.NET Apps with Azure

      After completing this module, students will be able to:

      • Implement a container strategy including how containers are different from virtual machines and how microservices use containers
      • Implement containers using Docker

      9: Manage Artifact versioning, security & compliance

      • Package security
      • Open source software
      • Integrating license and vulnerability scans
      • Implement a versioning strategy (git version)
      • LAB: Manage Open Source Security and License with WhiteSource

      After completing this module, students will be able to:

      • Inspect open source software packages for security and license compliance to align with corporate standards
      • Configure build pipeline to access package security and license rating
      • Configure secure access to package feeds
      • Inspect codebase to identify code dependencies that can be converted to packages
      • Identify and recommend standardized package types and versions across the solution
      • Refactor existing build pipelines to implement version strategy that publishes packages
      • Manage security and compliance

      10: Design a Release Strategy

      • Introduction to Continuous Delivery
      • Release strategy recommendations
      • Building a High-Quality Release pipeline
      • Choosing a deployment pattern
      • Choosing the right release management tool

      After completing this module, students will be able to:

      • Differentiate between a release and a deployment
      • Define the components of a release pipeline
      • Explain things to consider when designing your release strategy
      • Classify a release versus a release process and outline how to control the quality of both
      • Describe the principle of release gates and how to deal with release notes and documentation
      • Explain deployment patterns, both in the traditional sense and in the modern sense
      • Choose a release management tool

      11: Set up a Release Management Workflow

      • Create a Release Pipeline
      • Provision and Configure Environments
      • Manage and Modularize Tasks and Templates
      • Integrate Secrets with the release pipeline
      • Configure Automated Integration and Functional Test Automation
      • Automate Inspection of Health
      • LAB: Configuring Pipelines as Code with YAML
      • LAB: Setting up secrets in the pipeline with Azure Key vault
      • LAB: Setting up and Running Functional Tests
      • LAB: Using Azure Monitor as release gate
      • LAB: Creating a release Dashboard

      After completing this module, students will 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
      • Classify an Agent, Agent Queue, and Agent Pool
      • Explain why you sometimes need multiple release jobs in one release pipeline
      • Differentiate between multi-agent and multi-configuration release job
      • Use release variables and stage variables in your release pipeline
      • Deploy to an environment securely using a service connection
      • Embed testing in the pipeline
      • List the different ways to inspect the health of your pipeline and release by using alerts, service hooks, and reports
      • Create a release gate

      12: Implement an appropriate deployment pattern

      • Introduction to Deployment Patterns
      • Implement Blue Green Deployment
      • Feature Toggles
      • Canary Releases
      • Dark Launching
      • AB Testing
      • Progressive Exposure Deployment
      • LAB: Feature Flag Management with LaunchDarkly and Azure DevOps

      After completing this module, students will be able to:

      • Describe deployment patterns
      • Implement Blue Green Deployment
      • Implement Canary Release
      • Implement Progressive Exposure Deployment

      13: Implement process for routing system feedback to development teams

      • Implement Tools to Track System Usage, Feature Usage, and Flow
      • Implement Routing for Mobile Application Crash Report Data
      • Develop Monitoring and Status Dashboards
      • Integrate and Configure Ticketing Systems
      • LAB: Monitoring Application Performance

      After completing this module, students will be able to:

      • Configure crash report integration for client applications
      • Develop monitoring and status dashboards
      • Implement routing for client application crash report data
      • Implement tools to track system usage, feature usage, and flow
      • Integrate and configure ticketing systems with development team’s work management

      14: Implement a mobile DevOps strategy

      • Introduction to Mobile DevOps
      • Introduction to Visual Studio App Center
      • Manage mobile target device sets and distribution groups
      • Manage target UI test device sets
      • Provision tester devices for deployment
      • Create public and private distribution groups

      After completing this module, students will be able to:

      • Implement a mobile DevOps strategy

      15: Infrastructure and Configuration Azure Tools

      • Infrastructure as Code and Configuration Management
      • Create Azure Resources using ARM Templates
      • Create Azure Resources using Azure CLI
      • Create Azure Resources by using Azure PowerShell
      • Desired State Configuration (DSC)
      • Azure Automation with DevOps
      • Additional Automation Tools
      • LAB: Azure Deployments using Resource Manager Templates

      After completing this module, students will be able to:

      • Apply infrastructure and configuration as code principles
      • Deploy and manage infrastructure using Microsoft automation technologies such as ARM templates, PowerShell, and Azure CLI

      16: Azure Deployment Models and Services

      • Deployment Modules and Options
      • Azure Infrastructure-as-a-Service (IaaS) Services
      • Azure Platform-as-a-Service (PaaS) services
      • Serverless and HPC Computer Services
      • Azure Service Fabric
      • LAB: Azure Automation – IaaS or PaaS deployment

      After completing this module, students will be able to:

      • Describe deployment models and services that are available with Azure

      17: Create and Manage Kubernetes Service Infrastructure

      • Azure Kubernetes Service
      • LAB: Deploying a multi-container application to Azure Kubernetes Service

      After completing this module, students will be able to:

      • Deploy and configure a Managed Kubernetes cluster

      18: Third Party Infrastructure as Code Tools available with Azure

      • Chef
      • Puppet
      • Ansible
      • Terraform
      • LAB: Infrastructure as Code
      • LAB: Automating Your Infrastructure Deployments in the Cloud with Terraform and Azure Pipelines

      After completing this module, students will be able to:

      • Deploy and configure infrastructure using 3rd party tools and services with Azure, such as Chef, Puppet, Ansible, SaltStack, and Terraform

      19: Implement Compliance and Security in your Infrastructure

      • Security and Compliance Principles with DevOps
      • Azure security Center
      • LAB: Implement Security and Compliance in an Azure DevOps Pipeline

      After completing this module, students will be able to:

      • Define an infrastructure and configuration strategy and appropriate toolset for a release pipeline and application infrastructure
      • Implement compliance and security in your application infrastructure

      20: Recommend and design system feedback mechanisms

      • The inner loop
      • Continuous Experimentation mindset
      • Design practices to measure end-user satisfaction
      • Design processes to capture and analyze user feedback
      • Design process to automate application analytics
      • LAB: Integration between Azure DevOps and Teams

      After completing this module, students will be able to:

      • Design practices to measure end-user satisfaction
      • Design processes to capture and analyze user feedback from external sources
      • Design routing for client application crash report data
      • Recommend monitoring tools and technologies
      • Recommend system and feature usage tracking tools

      21: Optimize feedback mechanisms

      • Site Reliability Engineering
      • Analyze telemetry to establish a baseline
      • Perform ongoing tuning to reduce meaningless or non-actionable alerts
      • Analyze alerts to establish a baseline
      • Blameless Retrospectives and a Just Culture

      After completing this module, students will be able to:

      • Analyze alerts to establish a baseline
      • Analyze telemetry to establish a baseline
      • Perform live site reviews and capture feedback for system outages
      • Perform ongoing tuning to reduce meaningless or non-actionable alerts

What Our Students Have to Say

"As a client of Makintouch, I would recommend the company as a leading PC-based training school. When we needed half day courses to fit the schedules of our employees they were able to customize them to meet our company’s needs" – Java Struts
Taiwo Alaka
MTN
I would recommend this course as it is up to date with the current release which is quite rare as things move on so fast. The classroom set up worked well and the labs were good and relevant to the course.’ – Oracle
Testimonies
Kayode Akinpelu
Stanbic IBTC

Unlock Exceptional Learning at Unbeatable Price

10% Discount

"*" indicates required fields