Course Outline
Lessons
COURSE OVERVIEW
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.
WHAT YOU'LL LEARN
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 Key Performance Indicators (KPI's)
- Create a team and agile organizational structure
- 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
- Describe the benefits of using Source Control
- Describe Azure Repos and GitHub
- Migrate from TFVC to Git
- Manage code quality including technical debt SonarCloud, and other tooling solutions
- Build organizational knowledge on code quality
- 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
- Explain the role of Azure Pipelines and its components
- Configure Agents for use in Azure Pipelines
- Explain why continuous integration matters
- Implement continuous integration using Azure Pipelines
- Define Site Reliability Engineering
- Design processes to measure end-user satisfaction and analyze user feedback
- Design processes to automate application analytics
- Manage alerts and reduce meaningless and non-actionable alerts
- Carry out blameless retrospectives and create a just culture
- Define an infrastructure and configuration strategy and appropriate toolset for a release pipeline and application infrastructure
- Implement compliance and security in your application infrastructure
- Describe the potential challenges with integrating open-source software
- Inspect open-source software packages for security and license compliance
- Manage organizational security and compliance policies
- Integrate license and vulnerability scans into build and deployment pipelines
- Configure build pipelines to access package security and license ratings
OUTLINE
Module 1: Planning for DevOps
Lessons
- Transformation Planning
- Project Selection
- Team Structures
- Migrating to Azure DevOps
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
Lessons
- 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
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
Lessons
- How to Structure your Git Repo
- Git Branching Workflows
- Collaborating with Pull Requests in Azure Repos
- Why care about GitHooks
- Fostering Internal Source
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
Lessons
- Packaging Dependencies
- Package Management
- Migrating and Consolidating Artifacts
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
Lessons
- 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
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
Module 6: Managing Application Config and Secrets
Lessons
- 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
After completing this module, students will be able to:
- Manage application config and secrets
- Implement tools for managing security and compliance in pipeline
Module 7: Managing Code Quality and Security Policies
Lessons
- Managing Code Quality
- Managing Security Policies
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, OWASP
Module 8: Implementing a Container Build Strategy
Lessons
- Implementing a Container Build Strategy
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
Lessons
- Package Security
- Open Source Software
- Integrating License and Vulnerability Scans Implement a Versioning Strategy
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
Module 10: Design a Release Strategy
Lessons
- 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
Module 11: Set up a Release Management Workflow
Lessons
- 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
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
Module 12: Implement an appropriate deployment pattern
Lessons
- Introduction to Deployment Patterns
- Implement Blue Green Deployment
- Feature Toggles
- Canary Releases
- Dark Launching
- AB Testing
- Progressive Exposure Deployment
After completing this module, students will be able to:
• 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
Lessons
- 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
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
Module 14: Infrastructure and Configuration Azure Tools
Lessons
- 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
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
Module 15: Azure Deployment Models and Services
Lessons
- 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
After completing this module, students will be able to:
- Describe deployment models and services that are available with Azure
Module 16: Create and Manage Kubernetes Service Infrastructure
Lessons
- Azure Kubernetes Service
After completing this module, students will be able to:
- Deploy and configure a Managed Kubernetes cluster
Module 17: Third Party Infrastructure as Code Tools available with Azure
Lessons
- Chef
- Puppet
- Ansible
- Terraform
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, and Terraform
Module 18: Implement Compliance and Security in your Infrastructure
Lessons
- Security and Compliance Principles with DevOps
- Azure security Center
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
Module 19: Recommend and design system feedback mechanisms
Lessons
- 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
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
Module 20: Optimize feedback mechanisms
Lessons
- 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
LABS
Classroom Live Labs
- Lab : Agile Planning and Portfolio Management with Azure Boards
- Lab : Version Controlling with Git
- Lab : Code Review with Pull Requests
- Lab : Updating Packages
- Lab : Enabling Continuous Integration with Azure Pipelines
- Lab : Integrating External Source Control with Azure Pipelines
- Lab : Integrating Azure Key Vault with Azure DevOps
- Lab : Managing Technical Debt with Azure DevOps and SonarCloud
- Lab : Modernizing Existing ASP.NET Apps with Azure
- Lab : Manage Open Source Security and License with WhiteSource
- 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
- Lab : Feature Flag Management with LaunchDarkly and Azure DevOps
- Lab : Monitoring Application Performance
- Lab : Azure Deployments using Resource Manager Templates
- Lab : Deploying a Dockerized Java app to Azure Web App for Containers
- Lab : Deploying a multi-container application to Azure Kubernetes Service
- Lab : Infrastructure as Code
- Lab : Automating Your Infrastructure Deployments in the Cloud with Terraform and Azure Pipelines
- Lab : Implement Security and Compliance in an Azure DevOps Pipeline
- Lab : Integration between Azure DevOps and Teams
PREREQUISITES
Successful learners will have prior knowledge and understanding of:
Cloud computing concepts, including an understanding of PaaS, SaaS, and IaaS implementations.
- Both Azure administration and Azure development with proven expertise in at least one of these areas.
- Version control, Agile software development, and core software development principles. It would be helpful to have experience in an organization that delivers software.
If you are new to Azure and cloud computing, consider one of the following resources:
- Free online: Azure Fundamentals
- Instructor-led course: AZ-900: Azure Fundamentals
If you are new to Azure Administration, consider taking:
- Free online: Prerequisites for Azure Administrators
- Instructor-led courses: AZ-104: Microsoft Azure Administrator
If you are new to Azure Developer, consider taking:
- Free online: Create serverless applications
- Instructor-led course: AZ-204: Developing Solutions for Microsoft Azure
WHO SHOULD ATTEND
Students in this course are interested in designing implementing DevOps processes or in passing the Microsoft Azure DevOps Solutions certification exam
Cancellation Policy
We require 16 calendar days notice to reschedule or cancel any registration. Failure to provide the required notification will result in 100% charge of the course. If a student does not attend a scheduled course without prior notification it will result in full forfeiture of the funds and no reschedule will be allowed. Within the required notification period, only student substitutions will be permitted. Reschedules are permitted at anytime with 16 or more calendar days notice. Enrollments must be rescheduled within six months of the cancel date or funds on account will be forfeited.
Training Location
Online Classroom
your office
your city,
your province
your country
I would never take another course that starts at 11AM and goes to 9PM again. The way the course was laid out really took away from the capturing of what was presented as it was 5-6 hours of watching a screen before getting to the actual labs. There has to be a better way to lay out this particular course. In my previous course, the lectures were broken up by labs which worked out fantastic and kept you engaged in the course. There were days when in order to actually complete the labs, would go over the 9PM day end time frame. Was able to get the primary labs done, but if you want to get all the content completed, you cannot complete it in the window of this course, you will need to come back on your own time.