About This Course
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 Outline
Module 1: Get started on a DevOps transformation journeyLesson
- 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
Module 2: Work with Git for enterprise DevOpsLesson
- Structure your Git Repo
- Manage Git branches and workflows
- Collaborate with pull requests in Azure Repos
- Explore Git hooks
- Plan fostering inner source
- Manage Git repositories
Lab : Version controlling with Git in Azure Repos
Module 3: Implement CI with Azure Pipelines and GitHub ActionsLesson
- 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
Module 4: Design and implement a release strategyLesson
- 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
Module 5: Implement a secure continuous deployment using Azure PipelinesLesson
- Create a release pipeline
- Configure and provision environments
- Manage and modularize tasks and templates
- Automate inspection of health
- Introduction to security development process
- Manage application configuration data
- Integrate with identity management systems
- Implement application configuration
Lab : Configuring pipelines as code with YAMLLab : Setting up and running functional tests
Lab : Integrating Azure Key Vault with Azure DevOps
Module 6: Manage infrastructure as code using Azure, DSC, and third-party toolsLesson
- 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 templatesLab : Ansible with Azure
Lab : Automating infrastructure deployments in the cloud with Terraform and Azure Pipelines
Module 7: Design and implement a dependency management strategy Lesson
- Explore package dependencies
- Understand package management
- Migrate, consolidating and secure artifacts
- Implement a versioning strategy
Lab : Package management with Azure Artifacts
Module 8: Create and manage containers using Docker and Kubernetes Lesson
- 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
Module 9: Implement continuous feedbackLesson
- 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 : Monitoring application performance with Application Insights
Lab: Integration between Azure DevOps and Microsoft Teams
Module 10: Implement security and validate code bases for complianceLesson
- Understand security in the Pipeline
- Introduction to Azure Security Center
- Implement open-source software
- Manage anti-malware and anti-spam policies
- Integrate license and vulnerability scans
- Identify technical debt
Lab : Implement security and compliance in Azure DevOps Pipelines
Lab : Managing technical debt with SonarQube and Azure DevOps