Designing and Implementing Microsoft DevOps solutions


AZ400 - Version:1
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.
Intended audience
Students in this course are interested in implementing dependency management or in passing the Microsoft Azure DevOps Solutions certification exam.
Expand All
  • Module 1: Planning for DevOps
    • Transformation Planning
    • Project Selection
    • Team Structures
    • Migrating to Azure DevOps
  • Module 2: Getting Started with Source Control
    • 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
  • Module 3: Managing Technical Debt
    • Identifying Technical Debt
    • Knowledge Sharing within Teams
    • Modernizing Development Environments with Codespaces
  • Module 4: Working with Git for Enterprise DevOps
    • 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
  • Module 5: Configuring Azure Pipelines
    • 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
  • Module 6: Implementing Continuous Integration using Azure Pipelines
    • Continuous Integration Overview
    • Implementing a Build Strategy
    • Integration with Azure Pipelines
    • Integrating External Source Control with Azure Pipelines
    • Set Up Self-Hosted Agents
  • Module 7: Managing Application Configuration and Secrets
    • 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
  • Module 8: Implementing Continuous Integration with GitHub Actions
    • GitHub Actions
    • Continuous Integration with GitHub Actions
    • Securing Secrets for GitHub Actions
  • Module 9: Designing and Implementing a Dependency Management Strategy
    • Packaging Dependencies
    • Package Management
    • Migrating and Consolidating Artifacts
    • Package Security
    • Implementing a Versioning Strategy
  • Module 10: Designing a Release Strategy
    • Introduction to Continuous Delivery
    • Release Strategy Recommendations
    • Building a High-Quality Release pipeline
    • Choosing the Right Release Management Tool
  • Module 11: Implementing Continuous Deployment using Azure Pipelines
    • 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
  • Module 12: Implementing an Appropriate Deployment Pattern
    • Introduction to Deployment Patterns
    • Implement Blue Green Deployment
    • Feature Toggles
    • Canary Releases
    • Dark Launching
    • AB Testing
    • Progressive Exposure Deployment
  • Module 13: Managing Infrastructure and Configuration using Azure Tools
    • 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)
  • Module 14: Third Party Infrastructure as Code Tools Available with Azure
    • Chef
    • Puppet
    • Ansible
    • Terraform
  • Module 15: Managing Containers using Docker
    • Implementing a Container Build Strategy
    • Implementing Docker Multi-Stage Builds
  • Module 16: Creating and Managing Kubernetes Service Infrastructure
    • Azure Kubernetes Service
    • Kubernetes Tooling
    • Integrating AKS with Pipelines
  • Module 17: Implementing Feedback for Development Teams
    • 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
  • Module 18: Implementing System Feedback Mechanisms
    • 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
  • Module 19: Implementing Security in DevOps Projects
    • Security in the Pipeline
    • Azure Security Center
  • Module 20: Validating Code Bases for Compliance
    • Open-Source Software
    • Managing Security and Compliance Policies
    • Integrating License and Vulnerability Scans
  • Fundamental knowledge about Azure, version control, Agile software development, and core software development principles. It would be helpful to have experience in an organization that delivers software.
  • 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
  • Manage application configuration and secrets
  • Integrate Azure Key Vault with a pipeline
  • Create and work with GitHub Actions and Workflows
  • Implement Continuous Integration with GitHub Actions
  • Recommend artifact management tools and practices
  • Abstract common packages to enable sharing and reuse
  • Migrate and consolidate artifacts
  • Migrate and integrate source control measures
  • 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
  • Choose a release management tool
  • 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
  • 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
  • List the different ways to inspect the health of your pipeline and release by using alerts, service hooks, and reports
  • Describe deployment patterns
  • Implement Blue Green Deployment
  • Implement Canary Release
  • Implement Progressive Exposure Deployment
  • Apply infrastructure and configuration as code principles.
  • Deploy and manage infrastructure using Microsoft automation technologies such as ARM templates, PowerShell, and Azure CLI
  • Deploy and configure infrastructure using 3rd party tools and services with Azure, such as Chef, Puppet, Ansible, and Terraform
  • Implement a container strategy including how containers are different from virtual machines and how microservices use containers
  • Implement containers using Docker
  • Implement Docker multi-stage builds
  • Deploy and configure a Managed Kubernetes cluster
  • Implement tools to track system usage, feature usage, and flow
  • Configure crash report integration for client applications
  • Implement routing for client application crash report data
  • Develop monitoring and status dashboards
  • Integrate and configure ticketing systems with development team's work management
  • 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