Overview
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
Objectives
At the end of Designing Implementing Microsoft Azure Networking Solutions (AZ-400) training course, participants will learn to
Prerequisites
Students in this course are interested in designing and implementing DevOps processes or in passing the Microsoft Azure DevOps Solutions certification exam.
Course Outline
Planning for DevOps
Lesson
- Transformation Planning
- Project Selection
- Team Structures
- Migrating to Azure DevOps
Getting Started with Source Control
Lesson
- 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
Managing Technical Debt
Lesson
- Identifying Technical Debt
- Knowledge Sharing within Teams
- Modernizing Development Environments with Codespaces
Working with Git for Enterprise DevOps
Lesson
- How to Structure Your Git Repo
- Git Branching Workflows
- Collaborating with Pull Requests in Azure Repos
- Why Care About Git Hooks
- Fostering Inner Source
- Managing Git Repositories
Configuring Azure Pipelines
Lesson
- The Concept of Pipelines in DevOps
- Azure Pipelines
- Evaluate use of Hosted versus Self-Hosted Agents
- Agent Pools
- Pipelines and Concurrency
- Azure DevOps and Open-Source Projects (Public Projects)
- Azure Pipelines YAML versus Visual Designer
Implementing Continuous Integration using Azure Pipelines
Lesson
- Continuous Integration Overview
- Implementing a Build Strategy
- Integration with Azure Pipelines
- Integrating External Source Control with Azure Pipelines
- Set Up Self-Hosted Agents
Managing Application Configuration and Secrets
Lesson
- Introduction to Security
- Implement a Secure Development Process
- Rethinking Application Configuration Data
- Manage Secrets, Tokens, and Certificates
- Integrating with Identity Management Systems
- Implementing Application Configuration
Implementing Continuous Integration with GitHub Actions
Lesson
- GitHub Actions
- Continuous Integration with GitHub Actions
- Securing Secrets for GitHub Actions
Configuring Azure Pipelines
Lesson
- The Concept of Pipelines in DevOps
- Azure Pipelines
- Evaluate use of Hosted versus Self-Hosted Agents
- Agent Pools
- Pipelines and Concurrency
- Azure DevOps and Open-Source Projects (Public Projects)
- Azure Pipelines YAML versus Visual Designer
Implementing an Appropriate Deployment Pattern
Lesson
- Introduction to Deployment Patterns
- Implement Blue Green Deployment
- Feature Toggles
- Canary Releases
- Dark Launching
- AB Testing
- Progressive Exposure Deployment
Implementing Continuous Deployment using Azure Pipelines
Lesson
- Create a Release Pipeline
- Provision and Configure Environments
- Manage and Modularize Tasks and Templates
- Configure Automated Integration and Functional Test Automation
- Automate Inspection of Health
Managing Infrastructure and Configuration using Azure Tools
Lesson
- Infrastructure as Code and Configuration Management
- Create Azure Resources using ARM Templates
- Create Azure Resources using Azure CLI
- Azure Automation with DevOps
- Desired State Configuration (DSC)
Third Party Infrastructure as Code Tools Available with Azure
Lesson
- Chef
- Puppet
- Ansible
- Terraform
Managing Containers using Docker
Lesson
- Implementing a Container Build Strategy
- Implementing Docker Multi-Stage Builds
Creating and Managing Kubernetes Service Infrastructure
Lesson
- Azure Kubernetes Service
- Kubernetes Tooling
- Integrating AKS with Pipelines
Implementing Feedback for Development Teams
Lesson
- 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
Implementing System Feedback Mechanisms
Lesson
- Site Reliability Engineering
- • Design Practices to Measure End-User Satisfaction
- Design Processes to Capture and Analyze User Feedback
- Design Processes to Automate Application Analytics
- Managing Alerts
- Blameless Retrospectives and a Just Culture
Validating Code Bases for Compliance
Lesson
- Open-Source Software
- Managing Security and Compliance Policies
- Integrating License and Vulnerability Scans