Designing and Implementing Microsoft DevOps Solutions

Live online events

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.

  • 03
    Sep
    4 days, Tue 8:00 AM CST - Fri 4:00 PM CST
    Online
    • $2,596.00 excl. HST
  • 18
    Nov
    4 days, Mon 7:00 AM CST - Thu 3:00 PM CST
    Online
    • $2,596.00 excl. HST
None of these dates work for you? Suggest another date & time

Description

Agenda

1 - Introduction to DevOps

  • What is DevOps?
  • Explore the DevOps journey
  • Identify transformation teams
  • Explore shared goals and define timelines

2 - Choose the right project

  • Explore greenfield and brownfield projects
  • Decide when to use greenfield and brownfield projects
  • Decide when to use systems of record versus systems of engagement
  • Identify groups to minimize initial resistance
  • Identify project metrics and key performance indicators (KPIs)

3 - Describe team structures

  • Explore agile development practices
  • Explore principles of agile development
  • Define organization structure for agile practices
  • Explore ideal DevOps team members
  • Enable in-team and cross-team collaboration
  • Select tools and processes for agile practices

4 - Choose the DevOps tools

  • What is Azure DevOps?
  • What is GitHub?
  • Explore an authorization and access strategy
  • Migrate or integrate existing work management tools
  • Migrate or integrate existing test management tools
  • Design a license management strategy

5 - Plan Agile with GitHub Projects and Azure Boards

  • Link GitHub to Azure Boards
  • Configure GitHub Projects
  • Manage work with GitHub Project boards
  • Customize Project views
  • Collaborate using team discussions
  • Agile Plan and Portfolio Management with Azure Boards

6 - Introduction to source control

  • Explore DevOps foundational practices
  • What is source control?
  • Explore benefits of source control
  • Explore best practices for source control

7 - Describe types of source control systems

  • Understand centralized source control
  • Understand distributed source control
  • Explore Git and Team Foundation Version Control
  • Examine and choose Git
  • Understand objections to using Git
  • Describe working with Git locally

8 - Work with Azure Repos and GitHub

  • Migrate from TFVC to Git
  • Use GIT-TFS
  • Develop online with GitHub Codespaces

9 - Structure your Git Repo

  • Explore monorepo versus multiple repos
  • Implement a change log

10 - Manage Git branches and workflows

  • Explore branch workflow types
  • Explore feature branch workflow
  • Explore Git branch model for continuous delivery
  • Explore GitHub flow
  • Explore fork workflow
  • Version Control with Git in Azure Repos

11 - Collaborate with pull requests in Azure Repos

  • Collaborate with pull requests
  • Examine GitHub mobile for pull request approvals

12 - Identify technical debt

  • Examine code quality
  • Examine complexity and quality metrics
  • Measure and manage technical debt
  • Integrate other code quality tools
  • Plan effective code reviews

13 - Explore Git hooks

  • Implement Git hooks

14 - Plan foster inner source

  • Explore foster inner source
  • Implement the fork workflow
  • Describe inner source with forks

15 - Manage Git repositories

  • Work with large repositories
  • Purge repository data
  • Manage releases with GitHub Repos
  • Automate release notes with GitHub

16 - Explore Azure Pipelines

  • Explore the concept of pipelines in DevOps
  • Describe Azure Pipelines
  • Understand Azure Pipelines key terms

17 - Manage Azure Pipeline agents and pools

  • Choose between Microsoft-hosted versus self-hosted agents
  • Explore job types
  • Explore predefined agent pool
  • Understand typical situations for agent pools
  • Communicate with Azure Pipelines
  • Communicate to deploy to target servers
  • Examine other considerations
  • Describe security of agent pools
  • Configure agent pools and understanding pipeline styles

18 - Describe pipelines and concurrency

  • Understand parallel jobs
  • Estimate parallel jobs
  • Describe Azure Pipelines and open-source projects
  • Explore Azure Pipelines and Visual Designer
  • Describe Azure Pipelines and YAML

19 - Explore continuous integration

  • Learn the four pillars of continuous integration
  • Explore benefits of continuous integration
  • Describe build properties
  • Enable Continuous Integration with Azure Pipelines

20 - Implement a pipeline strategy

  • Configure agent demands
  • Implement multi-agent builds
  • Explore source control types supported by Azure Pipelines

21 - Integrate with Azure Pipelines

  • Describe the anatomy of a pipeline
  • Understand the pipeline structure
  • Detail templates
  • Explore YAML resources
  • Use multiple repositories in your pipeline

22 - Introduction to GitHub Actions

  • What are Actions?
  • Explore Actions flow
  • Understand workflows
  • Describe standard workflow syntax elements
  • Explore events
  • Explore jobs
  • Explore runners
  • Examine release and test an action

23 - Learn continuous integration with GitHub Actions

  • Describe continuous integration with actions
  • Examine environment variables
  • Share artifacts between jobs
  • Examine Workflow badges
  • Describe best practices for creating actions
  • Mark releases with Git tags
  • Create encrypted secrets
  • Use secrets in a workflow
  • Implement GitHub Actions for CI/CD

24 - Design a container build strategy

  • Examine structure of containers
  • Work with Docker containers
  • Understand Dockerfile core concepts
  • Examine multi-stage dockerfiles
  • Examine considerations for multiple stage builds
  • Explore Azure container-related services
  • Deploy Docker containers to Azure App Service web apps

25 - Introduction to continuous delivery

  • Explore traditional IT development cycle
  • What is continuous delivery?
  • Move to continuous delivery
  • Understand releases and deployments
  • Understand release process versus release

26 - Create a release pipeline

  • Describe Azure DevOps release pipeline capabilities
  • Explore release pipelines
  • Explore artifact sources
  • Choose the appropriate artifact source
  • Examine considerations for deployment to stages
  • Explore build and release tasks
  • Explore custom build and release tasks
  • Explore release jobs
  • Configure Pipelines as Code with YAML

27 - Explore release recommendations

  • Understand the delivery cadence and three types of triggers
  • Explore release approvals
  • Explore release gates
  • Use release gates to protect quality
  • Control Deployments using Release Gates

28 - Provision and test environments

  • Provision and configure target environments
  • Configure automated integration and functional test automation
  • Understand Shift-left
  • Set up and run availability tests
  • Explore Azure Load Testing
  • Set up and run functional tests

29 - Manage and modularize tasks and templates

  • Examine task groups
  • Explore variables in release pipelines
  • Understand variable groups

30 - Automate inspection of health

  • Automate inspection of health
  • Explore events and notifications
  • Explore service hooks
  • Configure Azure DevOps notifications
  • Configure GitHub notifications
  • Explore how to measure quality of your release process
  • Examine release notes and documentation
  • Examine considerations for choosing release management tools
  • Explore common release management tools

31 - Introduction to deployment patterns

  • Explore microservices architecture
  • Examine classical deployment patterns
  • Understand modern deployment patterns

32 - Implement blue-green deployment and feature toggles

  • What is blue-green deployment?
  • Explore deployment slots
  • Describe feature toggle maintenance

33 - Implement canary releases and dark launching

  • Explore canary releases
  • Examine Traffic Manager
  • Understand dark launching

34 - Implement A/B testing and progressive exposure deployment

  • What is A/B testing?
  • Explore CI-CD with deployment rings

35 - Integrate with identity management systems

  • Integrate GitHub with single sign-on (SSO)
  • Explore service principals
  • Explore Managed Identity

36 - Manage application configuration data

  • Rethink application configuration data
  • Explore separation of concerns
  • Understand external configuration store patterns
  • Examine Key-value pairs
  • Examine App configuration feature management
  • Integrate Azure Key Vault with Azure Pipelines
  • Manage secrets, tokens and certificates
  • Examine DevOps inner and outer loop
  • Integrate Azure Key Vault with Azure DevOps
  • Enable Dynamic Configuration and Feature Flags

37 - Explore infrastructure as code and configuration management

  • Explore environment deployment
  • Examine environment configuration
  • Understand imperative versus declarative configuration
  • Understand idempotent configuration

38 - Create Azure resources using Azure Resource Manager templates

  • Why use Azure Resource Manager templates?
  • Explore template components
  • Manage dependencies
  • Modularize templates
  • Manage secrets in templates
  • Deployments using Azure Bicep templates

39 - Create Azure resources by using Azure CLI

  • What is Azure CLI?
  • Work with Azure CLI

40 - Explore Azure Automation with DevOps

  • Create automation accounts
  • What is a runbook?
  • Understand automation shared resources
  • Explore runbook gallery
  • Examine webhooks
  • Explore source control integration
  • Explore PowerShell workflows
  • Create a workflow
  • Examine checkpoint and parallel processing

41 - Implement Desired State Configuration (DSC)

  • Understand configuration drift
  • Explore Desired State Configuration (DSC)
  • Explore Azure Automation State configuration (DSC)
  • Examine DSC configuration file
  • Explore hybrid management
  • Implement DSC and Linux Automation on Azure

42 - Implement Bicep

  • What is Bicep?
  • Install Bicep
  • Understand Bicep file structure and syntax

43 - Introduction to Secure DevOps

  • Describe SQL injection attack
  • Understand DevSecOps
  • Explore Secure DevOps Pipeline
  • Explore key validation points
  • Explore continuous security validation
  • Understand threat modeling

44 - Implement open-source software

  • Explore how software is built
  • What is open-source software
  • Explore corporate concerns with open-source software components
  • Explore common open-source licenses
  • Examine license implications and ratings

45 - Software Composition Analysis

  • Inspect and validate code bases for compliance
  • Explore software composition analysis (SCA)
  • Integrate Mend with Azure Pipelines
  • Implement GitHub Dependabot alerts and security updates
  • Integrate software composition analysis checks into pipelines
  • Examine tools for assess package security and license rate
  • Interpret alerts from scanner tools
  • Implement security and compliance in an Azure Pipeline

46 - Static analyzers

  • Explore SonarCloud
  • Explore CodeQL in GitHub
  • Manage technical debt with SonarCloud and Azure DevOps

47 - OWASP and Dynamic Analyzers

  • Plan Implement OWASP Secure Coding Practices
  • Explore OWASP ZAP penetration test
  • Explore OWASP ZAP results and bugs

48 - Security Monitoring and Governance

  • Implement pipeline security
  • Explore Microsoft Defender for Cloud
  • Examine Microsoft Defender for Cloud usage scenarios
  • Explore Azure Policy
  • Understand policies
  • Explore initiatives
  • Explore resource locks
  • Explore Azure Blueprints
  • Understand Microsoft Defender for Identity

49 - Explore package dependencies

  • What is dependency management?
  • Describe elements of a dependency management strategy
  • Identify dependencies
  • Understand source and package componentization
  • Decompose your system
  • Scan your codebase for dependencies

50 - Understand package management

  • Explore packages
  • Understand package feeds
  • Explore package feed managers
  • Explore common public package sources
  • Explore self-hosted and SaaS based package sources
  • Consume packages
  • Publish packages
  • Package management with Azure Artifacts

51 - Migrate consolidating and secure artifacts

  • Identify existing artifact repositories
  • Migrate and integrating artifact repositories
  • Secure access to package feeds
  • Examine roles
  • Examine permissions
  • Examine authentication

52 - Implement a versioning strategy

  • Understand versioning of artifacts
  • Explore semantic versioning
  • Examine release views
  • Promote packages
  • Explore best practices for versioning

53 - Introduction to GitHub Packages

  • Publish packages
  • Install a package
  • Delete and restore a package
  • Explore package access control and visibility

54 - Implement tools to track usage and flow

  • Understand the inner loop
  • Explore Azure Monitor and Log Analytics
  • Examine Kusto Query Language (KQL)
  • Explore Application Insights
  • Implement Application Insights
  • Monitor application performance with Application Insights

55 - Develop monitor and status dashboards

  • Explore Azure Dashboards
  • Examine view designer in Azure Monitor
  • Explore Azure Monitor workbooks
  • Explore Power BI
  • Build your own custom application

56 - Share knowledge within teams

  • Share acquired knowledge within development teams
  • Integrate with Azure Boards
  • Share team knowledge using Azure Project Wiki

57 - Design processes to automate application analytics

  • Explore rapid responses and augmented search
  • Integrate telemetry
  • Examine monitoring tools and technologies

58 - Manage alerts, blameless retrospectives and a just culture

  • Examine when get a notification
  • Explore how to fix it
  • Explore smart detection notifications
  • Improve performance
  • Understand server response time degradation
  • Reduce meaningless and non-actionable alerts
  • Examine blameless retrospective
  • Develop a just culture

Prerequisites

Students in this course are interested in designing and implementing DevOps processes or in passing the Microsoft Azure DevOps Solutions certification exam.

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.

  • AZ-104T00 - Microsoft Azure Administrator
  • AZ-204T00: Developing Solutions for Microsoft Azure