Implementing DevOps Development Processes
Module 1: Getting started with Source Control
- What is Source Control?
- Benefits of Source Control
- Types of source control systems
- Introduction to Azure Repos
- Migrating from TFVC to Git
- Authenticating to your Git Repos
Module 2: Scaling git for enterprise DevOps
- How to structure your git repo
- Git Branching workflows
- Collaborating with Pull Requests
- Why care about GitHooks?
- Fostering Internal Open Source
- Git Version
- Public projects
- Files in Git
Module 3: Implement & Manage Build Infrastructure
- The concept of pipelines in DevOps
- Azure Pipelines
- Evaluate use of Hosted vs Private Agents
- Agent pools
- Pipelines & Concurrency
- Azure DevOps and Open Source projects
- Azure Pipelines YAML vs Visual Designer
- Setup private agents
- Integrate Jenkins with Azure Pipelines
- Integration external source control with Azure Pipelines
- Analyze & Integrate Docker multi-stage builds
Module 4: Managing application config & secrets
- Introduction to Security
- Implement secure & compliant development process
- Rethinking application config data
- Manage secrets, tokens & certificates
- Implement tools for managing security and compliance in a Pipeline
Module 5: Implement a mobile DevOps strategy Lessons
- Introduction to Mobile DevOps
- Introduction to Visual Studio App Center
- Manage mobile target device sets and distribution groups
- Manage target UI test device sets
- Provision tester devices for deployment
- Create public and private distribution groups
Implementing Continuous Integration
Module 1: Implementing Continuous Integration in an Azure DevOps Pipeline
- Continuous Integration Overview
- Implementing a Build Strategy
Module 2: Managing Code Quality and Security Policies
- Managing Code Quality
- Managing Security Policies
Module 3: Implementing a Container Build Strategy
- Implementing a Container Build Strategy
Implementing Continuous Delivery
Module 1: Design a Release Strategy
- Introduction to Continuous Delivery
- Release strategy recommendations
- Building a High Quality Release pipeline
- Choosing a deployment pattern
- Choosing the right release management tool
- 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
- Explain deployment patterns, both in the traditional sense and in the modern sense
- Choose a release management tool
Module 2: Set up a Release Management Workflow
- Create a Release Pipeline
- Provision and Configure Environments
- Manage And Modularize Tasks and Templates
- Integrate Secrets with the release pipeline
- Configure Automated Integration and Functional Test Automation
- Automate Inspection of Health
Module 3: Implement an appropriate deployment pattern
- Introduction into Deployment Patterns
- Implement Blue Green Deployment
- Feature Toggles
- Canary Releases
- Dark Launching
- AB Testing
- Progressive Exposure Deployment
Implementing Dependency Management
Module 1: Designing a Dependency Management Strategy
- Introduction
- Packaging dependencies
- Package management
- Implement a versioning strategy
Module 2: Manage security and compliance
- Introduction
- Package security
- Open source software
- Integrating license and vulnerability scans
Implementing Application Infrastructure
Module 1: Infrastructure and Configuration Azure Tools
- Learning Objectives
- Infrastructure as Code and Configuration Management
- Create Azure REsources using ARM Templates
- Create Azure Resources using Azure CLI
- Create Azure Resources by using Azure PowerShell
- Additional Automation Tools
- Version Control
- Lab Deploy to Azure using ARM templates
- Module Review Questions
Module 2: Azure Deployment Models and Services
- Learning Objectives
- Deployment Models and Options
- Azure Infrastructure-as-a-Service (IaaS) Services
- Azure Automation with DevOps
- Desired State Configuration (DSC)
- Azure Platform-as-a-Service (PaaS) services
- Azure Service Fabric
- Lab Azure Automation - IaaS or PaaS deployment
- Moduel Review Questions
Module 3: Create and Manage Kubernetes Service Infrastructure
- Learning Objectives
- Azure Kubernetes Service
- Lab Deploy and Scale AKS Cluster
- Module Review Questions
Module 4: Third Party and Open Source Tools available with Azure Learning Objectives
- Chef
- Puppet
- Ansible
- Cloud-Init
- Terraform
- Lab Provision and configure an App in Azure Using X
- Module Review Questions
Module 5: Implement Compliance and Security in your Infrastructure
- Security and Compliance Principles with DevOps
- Azure Security Center
- Lab Integrate a scanning extension or tool in an AZ DevOps pipeline/security center
- Module Review Questions
Module 6: Course Completion
- Final Exam
Implementing Continuous Feedback
Module 1: Recommend and design system feedback mechanisms
- The inner loop
- Continuous Experimentation mindset
- Design practices to measure end-user satisfaction
- Design processes to capture and analyze user feedback
- Design process to automate application analytics
Module 2: Implement process for routing system feedback to 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 3: Optimize feedback mechanisms
- Site Reliability Engineering
- Analyze telemetry to establish a baseline
- Perform ongoing tuning to reduce meaningless or non-actionable alerts
- Analyze alerts to establish a baseline
- Blameless PostMortems and a Just Culture
Designing a DevOps Strategy
Module 1: Planning for DevOps
- Transformation Planning
- Project Selection
- Team Structures
Module 2: Planning for Quality and Security
- Planning a Quality Strategy
- Planning Secure Development
Module 3: Migrating and Consolidating Artifacts and Tools
- Migrating and Consolidating Artifacts
- Migrating and Integrating Source Control