AZ-400T00 Design and Implementing Microsoft DevOps Solutions
CLASS DATE(s):
7/27/2020 - 7/31/2020

COURSE LENGTH: 5 Days

COURSE COST: $2495.00

COURSE TIMES: 9:00am - 4:30pm

Printable version of this course
print
Register for this course
register

COURSE OVERVIEW

This instructor led course provides the knowledge and skills to design and implement DevOps processes and practices. Students will learn how to plan for DevOps, use source control, scale Git for an enterprise, consolidate artifacts, design a dependency management strategy, manage secrets, implement continuous integration, implement a container build strategy, design a release strategy, set up a release management workflow, implement a deployment pattern, and optimize feedback mechanisms.

AUDIENCE AND PREREQUISITES

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.

  

Course cost listed does not include the cost of courseware. Course is subject to a minimum enrollment to run. Course may run virtually as a Virtual Instructor-Led (VILT) class if the minimum enrollment is not met. For more information, please contact learn@vtec.org or call 207-775-0244

COURSE TOPICS:


Module 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

Module 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

Module 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

Module 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

Module 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

Module 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

Module 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

Module 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

Module 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
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

Module 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
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

Module 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

Module 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
Describe deployment patterns
Implement Blue Green Deployment
Implement Canary Release
Implement Progressive Exposure Deployment

Module 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
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

Module 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

Module 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

Module 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

Module 17: Create and Manage Kubernetes Service Infrastructure
Azure Kubernetes Service
Lab : Deploying a multi-container application to Azure Kubernetes Service

Module 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

Module 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

Module 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

Module 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