Course 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.
Read More
Who is it for?
Students in this course are interested in implementing DevOps processes or in passing the Microsoft Azure DevOps Solutions certification exam.Ā
Read Less
Entry Requirements
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.Ā
Syllabus – Key points
Module 1: Planning for DevOpsĀ
- Transformation PlanningĀ
- Project SelectionĀ
- Team StructuresĀ
- Migrating to Azure DevOpsĀ
Lab: Agile Planning and Portfolio Management with Azure BoardsĀ
After completing this module, students will be able to:Ā
- Plan for the transformation with shared goals and timelinesĀ
- Select a project and identify project metrics and KPIsĀ
- Create a team and agile organizational structureĀ
- Design a tool integration strategyĀ
- Design a license management strategy (e.g.,Ā VSTS 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Ā
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Ā
- Authenticating to Git in Azure ReposĀ
Lab : Version Controlling with GitĀ
After completing this module, students will be able to:Ā
- Describe the benefits of using Source ControlĀ
- Describe Azure Repos and GitHubĀ
- Migrate from TFVC to GitĀ
Module 3: Scaling Git for enterprise DevOpsĀ
- How to Structure your Git RepoĀ
- Git Branching WorkflowsĀ
- Collaborating with Pull Requests in Azure ReposĀ
- Why care about GitHooksĀ
Lab : Code Review with Pull RequestsĀ
After completing this module, students will be able to:Ā
- 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Ā
Module 4: Consolidating Artifacts & Designing a Dependency Management StrategyĀ
- Package ManagementĀ
- Migrating and Consolidating ArtifactsĀ
Lab : Updating PackagesĀ
After completing this module, students will be able to:Ā
- Recommend artifact management tools and practicesĀ
- Abstract common packages to enable sharing and reuseĀ
- Migrate and consolidate artifactsĀ
- Migrate and integrate source control measuresĀ
Module 5: Implementing Continuous Integration with Azure PipelinesĀ
- 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 (Public Projects)Ā
- Azure Pipelines YAML vs Visual DesignerĀ
- Continuous Integration OverviewĀ
- Implementing a Build StrategyĀ
- Integration with Azure PipelinesĀ
- Integrate External Source Control with Azure PipelinesĀ
- Set Up Private AgentsĀ
- Analyze and Integrate Docker Multi-Stage BuildsĀ
Lab : Enabling Continuous Integration with Azure Pipelines
Lab : Integrating External Source Control with Azure PipelinesĀ
After completing this module, students will be able to:Ā
- Implement and manage build infrastructureĀ
- Explain why continuous integration mattersĀ
- Implement continuous integration using Azure DevOpsĀ
Module 6: Managing Application Config and SecretsĀ
- 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Ā
Lab : Integrating Azure Key Vault with Azure DevOpsĀ
After completing this module, students will be able to:Ā
- Manage application config and secretsĀ
- Implement tools for managing security and compliance in pipelineĀ
Module 7: Managing Code Quality and Security PoliciesĀ
- Managing Code QualityĀ
- Managing Security PoliciesĀ
Lab : Managing Technical Debt with Azure DevOps and SonarCloudĀ
After completing this module, students will be able to:Ā
- Manage code quality including: technical debt SonarCloud, and other tooling solutionsĀ
- Manage security policies with open source and OWASPĀ
Module 8: Implementing a Container Build StrategyĀ
- Implementing a Container Build StrategyĀ
Lab : Modernizing Existing ASP.NET Apps with AzureĀ
After completing this module, students will be able to:Ā
- Implement a container strategy including how containers are different from virtual machines and how microservices use containersĀ
- Implement containers using DockerĀ
Module 9: Manage Artifact versioning, security & complianceĀ
- Package securityĀ
- Open source softwareĀ
- Integrating license and vulnerability scansĀ
- Implement a versioning strategyĀ
Lab : Manage Open Source Security and License with WhiteSourceĀ
After completing this module, students will be able to:Ā
- Inspect open source software packages for security and license compliance to align with corporate standardsĀ
- Configure build pipeline to access package security and license ratingĀ
- Configure secure access to package feedsĀ
- Inspect codebase to identify code dependencies that can be converted to packagesĀ
- Identify and recommend standardized package types and versions across the solutionĀ
- Refactor existing build pipelines to implement version strategy that publishes packagesĀ
- Manage security and complianceĀ
Module 10: 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Ā
After completing this module, students will be able to:Ā
- 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Ā
- Explain deployment patterns, both in the traditional sense and in the modern senseĀ
- Choose a release management toolĀ
Module 11: 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Ā
Lab : Configuring Pipelines as Code with YAMLĀ
Lab : Setting up secrets in the pipeline with Azure Key vaultĀ
Lab : Setting up and Running Functional TestsĀ
Lab : Using Azure Monitor as release gateĀ
Lab : Creating a release DashboardĀ
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Ā
- Classify an Agent, Agent Queue, and Agent PoolĀ
- 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Ā
- Embed testing in the pipelineĀ
- List the different ways to inspect the health of your pipeline and release by using alerts, service hooks, and reportsĀ
Module 12: Implement an appropriate deployment patternĀ
- Introduction to Deployment PatternsĀ
- Implement Blue Green DeploymentĀ
- Feature TogglesĀ
- Canary ReleasesĀ
- Dark LaunchingĀ
- AB TestingĀ
- Progressive Exposure DeploymentĀ
Lab : Feature Flag Management with Launch Darkly and Azure DevOpsĀ
After completing this module, students will be able to:Ā
- Describe deployment patternsĀ
- Implement Blue Green DeploymentĀ
- Implement Canary ReleaseĀ
- Implement Progressive Exposure DeploymentĀ
Module 13: 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Ā
Lab : Monitoring Application PerformanceĀ
After completing this module, students will be able to:Ā
- Configure crash report integration for client applicationsĀ
- Develop monitoring and status dashboardsĀ
- Implement routing for client application crash report dataĀ
- Implement tools to track system usage, feature usage, and flowĀ
- Integrate and configure ticketing systems with development team’s work managementĀ
Module 14: Infrastructure and Configuration Azure ToolsĀ
- 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Ā
- Desired State Configuration (DSC)Ā
- Azure Automation with DevOpsĀ
- Additional Automation ToolsĀ
Lab : Azure Deployments using Resource Manager TemplatesĀ
After completing this module, students will be able to:Ā
- Apply infrastructure and configuration as code principlesĀ
- Deploy and manage infrastructure using Microsoft automation technologies such as ARM templates, PowerShell, and Azure CLIĀ
Module 15: Azure Deployment Models and ServicesĀ
- Deployment Modules and OptionsĀ
- Azure Infrastructure-as-a-Service (IaaS) ServicesĀ
- Azure Platform-as-a-Service (PaaS) servicesĀ
- Serverless and HPC Computer ServicesĀ
- Azure Service FabricĀ
Lab : Deploying a Dockerized Java app to Azure Web App for ContainersĀ
After completing this module, students will be able to:Ā
- Describe deployment models and services that are available with AzureĀ
Module 16: Create and Manage Kubernetes Service InfrastructureĀ
- Azure Kubernetes ServiceĀ
Lab : Deploying a multi-container application to Azure Kubernetes ServiceĀ
After completing this module, students will be able to:Ā
- Deploy and configure a Managed Kubernetes clusterĀ
Module 17: Third Party Infrastructure as Code Tools available with AzureĀ
- PuppetĀ
- AnsibleĀ
- TerraformĀ
Lab : Infrastructure as CodeĀ
Lab : Automating Your Infrastructure Deployments in the Cloud with Terraform and Azure PipelinesĀ
After completing this module, students will be able to:Ā
- Deploy and configure infrastructure using 3rd party tools and services with Azure, such as Chef, Puppet, Ansible, and TerraformĀ
Module 18: Implement Compliance and Security in your InfrastructureĀ
- Security and Compliance Principles with DevOpsĀ
- Azure securityĀ CentreĀ
Lab : Implement Security and Compliance in an Azure DevOps PipelineĀ
After completing this module, students will be able to:Ā
- Define an infrastructure and configuration strategy and appropriate toolset for a release pipeline and application infrastructureĀ
- Implement compliance and security in your application infrastructureĀ
Module 19: 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Ā
Lab : Integration between Azure DevOps and TeamsĀ
After completing this module, students will be able to:Ā
- Design practices to measure end-user satisfactionĀ
- Design processes to capture and analyze user feedback from external sourcesĀ
- Design routing for client application crash report dataĀ
- Recommend monitoring tools and technologiesĀ
- Recommend system and feature usage tracking toolsĀ
Module 20: 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 Retrospectives and a Just CultureĀ
After completing this module, students will be able to:Ā
- Analyze alerts to establish a baselineĀ
- Analyze telemetry to establish a baselineĀ
- Perform live site reviews and capture feedback for system outagesĀ
- Perform ongoing tuning to reduce meaningless or non-actionable alertsĀ
Reviews
There are no reviews yet.