Module 1: Getting started with Source Control
Lessons:
- What is Source Control
- Benefits of Source Control
- Types of Source Control systems
- Introduction to Azure Repos
- Migrating from Team Foundation Version Control (TFVC) to Git
- Authenticating to your Git Repos
Module 2: Scaling git for enterprise DevOps
Lessons:
- 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
Lessons:
- The concept of pipelines in DevOps
- Azure Pipelines
- Evaluate use of Hosted vs Private Agents
- Agent pools
- Pipelines and 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 and integrate Docker multi-stage builds
Module 4: Managing application config & secrets
Lessons:
- Introduction to Security
- Implement secure and compliant development process
- Rethinking application config data
- Manage secrets, tokens, and 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
Module 6: Implementing Continuous Integration in an Azure DevOps Pipeline
In this module, you'll be introduced to continuous integration principles, including: benefits, challenges, build best practices, and implementation steps. You will also learn about implementing a build strategy with workflows, triggers, agents, and tools.
Lessons:
- Continuous Integration Overview
- Implementing a Build Strategy
Module 7: Managing Code Quality and Security Policies
In this module, you will learn how to manage code quality, including: technical debt, SonarCloud, and other tooling solutions. You will also learn how to manage security policies with open source, OWASP, and WhiteSource Bolt.
Lessons:
- Managing Code Quality
- Managing Security Policies
Module 8: Implementing a Container Build Strategy
In this module, you will learn how to implement a container strategy including how containers are different from virtual machines and how microservices use containers. You will also learn how to implement containers using Docker.
Lessons:
- Implementing a Container Build Strategy
Module 9: Design a Release Strategy
Lessons:
- Introduction to Continuous Delivery
- Release strategy recommendations
- Building a High Quality Release pipeline
- Choosing a deployment pattern
- Choosing the right release management tool
Module 10: Set up a Release Management Workflow
Lessons:
- 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 11: Implement an appropriate deployment pattern
Lessons:
- Introduction to Deployment Patterns
- Implement Blue Green Deployment
- Feature Toggles
- Canary Releases
- Dark Launching
- AB Testing
- Progressive Exposure Deployment
Module 12: Designing a Dependency Management Strategy
Lessons:
- Introduction
- Packaging dependencies
- Package management
- Implement a versioning strategy
Module 13: Manage security and compliance
Lessons:
- Introduction
- Package security
- Open source software
- Integrating license and vulnerability scans
Module 14: Infrastructure and Configuration Azure Tools
Lessons:
- Learning Objectives
- Infrastructure as Code and Configuration Management
- Create Azure Resources using ARM Templates
- Create Azure Resources using Azure CLI
- Create Azure Resources using Azure PowerShell
- Additional Automation Tools
- Version Control
- Lab Deploy to Azure using ARM templates
- Module Review Questions
Module 15: Azure Deployment Models and Services
Lessons:
- 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 16: Create and Manage Kubernetes Service Infrastructure
Lessons:
- Learning Objectives
- Azure Kubernetes Service
- Lab Deploy and Scale AKS Cluster
- Module Review Questions
Module 17: Third Party and Open Source Tools available with Azure
Lessons:
- Learning Objectives
- Chef
- Puppet
- Ansible
- Cloud-Init
- Terraform
- Lab Provision and configure an App in Azure Using X
- Module Review Questions
Module 18: Implement Compliance and Security in your Infrastructure
Lessons:
- Security and Compliance Principles with DevOps
- Azure Security Center
- Lab Integrate a scanning extension or tool in an Azure DevOps pipeline/security center
- Module Review Questions
Module 19: Course Completion
Module 20: Recommend and design system feedback mechanisms
Lessons:
- 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 21: Implement process for routing system feedback to development teams
Lessons:
- 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 22: Optimize feedback mechanisms
Lessons:
- 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