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
Module 1: Get started on a DevOps transformation journey
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
Module 2: Work with Git for enterprise DevOps
Lessons
- 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
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
Module 3: Implement CI with Azure Pipelines and GitHub Actions
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
Module 4: Design and implement a release strategy
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
Module 5: Implement a secure continuous deployment using Azure Pipelines
Lessons
- 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 : 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
Module 6: Manage infrastructure as code using Azure, DSC, and third-party tools
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
Module 7: Design and implement a dependency management strategy
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
Module 8: Create and manage containers using Docker and Kubernetes
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
Module 9: Implement continuous feedback
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
Module 10: Implement security and validate code bases for compliance
Lessons
- 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
After completing this module, students will be able to:
- Integrate security tools like WhiteSource, Micro Focus, Checkmarx and Veracode with Azure DevOps
- Implement pipeline security
- Use Secure DevOps kit for Azure (AzSK)
- Configure Azure Security Center
- Understand Azure policies
- Describe initiatives, resource locks and Azure Blueprints
- Work with Azure Advanced Threat Protection (ATP)
- Implement open-source software
- Explain corporate concerns for open-source components