Course

Course Description

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

Audience Profile

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

Course Outline

Lessons

  • Introduction to DevOps
  • Choose the right project
  • Describe team structures
  • Migrate to DevOps
  • Introduction to source control
  • Describe types of source control systems
  • Work with Azure Repos and GitHub

Lab : Agile planning and portfolio management with Azure Boards

Lab : Version controlling with Git in Azure Repos

After completing this module, students will 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
  • Understand different projects and systems to guide the journey
  • Select a project to start the DevOps transformation
  • Identify groups to minimize initial resistance
  • Identify project metrics and Key Performance Indicators (KPI's)
  • Understand agile practices and principles of agile development
  • Create a team and agile organizational structure

Lessons

  • Structure your Git Repo
  • Manage Git branches and workflows
  • Collaborate with pull requests in Azure Repos
  • Identify technical debt
  • Explore Git hooks
  • Plan foster inner source
  • Manage Git repositories

Lab : Version controlling with Git in Azure Repos

After completing this module, students will be able to:

  • Understand Git repositories
  • Implement mono repo or multiple repos
  • Explain how to structure Git Repos
  • Implement a change log
  • Describe Git branching workflows
  • Implement feature branches
  • Implement GitFlow
  • Fork a repo
  • Leverage pull requests for collaboration and code reviews
  • Give feedback using pull requests

Lessons

  • Explore Azure Pipelines
  • Manage Azure Pipeline agents and pools
  • Describe pipelines and concurrency
  • Explore Continuous integration
  • Implement a pipeline strategy
  • Integrate with Azure Pipelines
  • Introduction to GitHub Actions
  • Learn continuous integration with GitHub Actions

Lab : Configuring agent pools and understanding pipeline styles

After completing this module, students will be able to:

  • Describe Azure Pipelines
  • Explain the role of Azure Pipelines and its components
  • Decide Pipeline automation responsibility
  • Understand Azure Pipeline key terms
  • Choose between Microsoft-hosted and self-hosted agents
  • Install and configure Azure pipelines Agents
  • Configure agent pools
  • Make the agents and pools secure
  • Use and estimate parallel jobs

Lessons

  • Introduction to continuous delivery
  • Explore release strategy recommendations
  • Build a high-quality release pipeline
  • Introduction to deployment patterns
  • Implement blue-green deployment and feature toggles
  • Implement canary releases and dark launching
  • Implement A-B testing and progressive exposure deployment

Lab : Controlling deployments using Release Gates

Lab : Creating a release dashboard

Lab : Feature flag management with LaunchDarkly and Azure DevOps

After completing this module, students will be able to:

  • Explain continuous delivery (CD)
  • Implement continuous delivery in your development cycle
  • Understand releases and deployment
  • Identify project opportunities to apply CD
  • Explain things to consider when designing your release strategy
  • Define the components of a release pipeline and use artifact sources
  • Create a release approval plan
  • Implement release gates
  • Differentiate between a release and a deployment

Lessons

  • Create a release pipeline
  • Configure and provision environments
  • Manage and modularize tasks and templates
  • Automate inspection of health
  • Manage application configuration data
  • Integrate with identity management systems
  • Implement application configuration

Lab : Integrating Azure Key Vault with Azure DevOps

Lab : Setting up and running functional tests

Lab : Configuring pipelines as code with YAML

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
  • Implement release jobs
  • Differentiate between multi-agent and multi-configuration release job
  • 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
  • Use and manage task and variable groups

Lessons

  • Explore infrastructure as code and configuration management
  • Create Azure resources using Azure Resource Manager templates
  • Create Azure resources by using Azure CLI
  • Explore Azure Automation with DevOps
  • Implement Desired State Configuration (DSC)
  • Introduction to Chef and Puppet
  • Implement Ansible
  • Implement Terraform

Lab : Deployments using Azure Resource Manager templates

Lab : Ansible with Azure

Lab : Automating infrastructure deployments in the cloud with Terraform and Azure Pipelines

After completing this module, students will be able to:

  • Understand how to deploy your environment
  • Plan your environment configuration
  • Choose between imperative versus declarative configuration
  • Explain idempotent configuration
  • Create Azure resources using ARM templates
  • Understand ARM templates and template components
  • Manage dependencies and secrets in templates
  • Organize and modularize templates
  • Create Azure resources using Azure CLI

Lessons

  • Introduction to Secure DevOps
  • Implement open-source software
  • Software Composition Analysis
  • Static analyzers
  • OWASP and Dynamic Analyzers
  • Security Monitoring and Governance

Lab : Managing technical debt with SonarQube and Azure DevOps

Lab : Implement security and compliance in Azure DevOps Pipelines

After completing this module, students will be able to:

  • Identify SQL injection attack
  • Understand DevSecOps
  • Implement pipeline security
  • Understand threat modeling
  • Implement open-source software
  • Explain corporate concerns for open-source components
  • Describe open-source licenses
  • Understand the license implications and ratings
  • Work with Static and Dynamic Analyzers
  • Configure Microsoft Defender for Cloud

Lessons

  • Explore package dependencies
  • Understand package management
  • Migrate, consolidating and secure artifacts
  • Implement a versioning strategy

Lab : Package management with Azure Artifacts

After completing this module, students will be able to:

  • Define dependency management strategy
  • Identify dependencies
  • Describe elements and componentization of a dependency management
  • Scan your codebase for dependencies
  • Implement package management
  • Manage package feed
  • Consume and create packages
  • Publish packages
  • Identify artifact repositories
  • Migrate and integrate artifact repositories

Lessons

  • Design a container build strategy
  • Implement Docker multi-stage builds
  • Implement Azure Kubernetes Service (AKS)
  • Explore Kubernetes tooling
  • Integrate AKS with Pipelines

Lab : Deploying Docker Containers to Azure App Service web apps

Lab : Deploying a multi-container application to Azure Kubernetes Services

After completing this module, students will be able to:

  • Design a container strategy
  • Work with Docker Containers
  • Create an Azure Container Registry
  • Explain Docker microservices and containers
  • Implement multi-stage builds with Docker
  • Understand build patterns
  • Manage multiple projects and solutions
  • Add Docker support to an existing application
  • Implement Azure Kubernetes Service (AKS)
  • Deploy and connect to an AKS cluster

Lessons

  • Implement tools to track usage and flow
  • Implement route for mobile application crash report data
  • Develop monitor and status dashboards
  • Share knowledge within teams
  • Explore SRE and design practices to measure end-user satisfaction
  • Design processes to capture and analyze user feedback
  • Design processes to automate application analytics
  • Manage alerts, Blameless retrospectives and a just culture

Lab : Integration between Azure DevOps and Microsoft Teams

Lab : Monitoring application performance with Application Insights

After completing this module, students will be able to:

  • Implement tools to track feedback
  • Plan for continuous monitoring
  • Implement Application Insights
  • Use Kusto Query Language (KQL)
  • Implement routing for mobile applications
  • Configure App Center Diagnostics
  • Configure alerts
  • Create a bug tracker
  • Configure Azure Dashboards
  • Work with View Designer in Azure Monitor

Build An In-house Team Of Cloud Experts With Dedicated Courses!

Learn fundamental to advanced skills using Azure, Microsoft 365, and related business applications. Meet with a Microsoft Certified Training Specialist to design a custom learning plan for your organization!

Contact Us