Designing and Implementing Microsoft DevOps Solutions (AZ-400T00)
This Designing and Implementing Microsoft DevOps Solutions training class 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.
Students in this course are interested in implementing DevOps processes or in passing the Microsoft Azure DevOps Solutions certification exam.
- Plan for the transformation with shared goals and timelines
- Select a project and identify project metrics and KPIs
- Create a team and agile organization structure
- Describe the benefits of using Source Control
- Migrate from TFVC to Git
- Scale Git for Enterprise DevOps
- Recommend artifact management tools and practices
- Abstract common packages to enable sharing and reuse
- Migrate and consolidate artifacts
- Migrate and integrate source control measures
- Manage application config and secrets
- Develop a project quality strategy
- Plan for secure development practices and compliance rules
- Implement and manage build infrastructure
- Explain why continuous integration matters
- Implement continuous integration using Azure DevOps
- Manage code quality including: technical debt, SonarCloud, and other tooling solutions
- Manage security policies with open source, OWASP, and WhiteSource Bolt
- Implement a container strategy including how containers are different from virtual machines and how microservices use containers
- Implement containers using Docker
- 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
- 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
- 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
- Create a release gate
- Describe deployment patterns
- Implement Blue Green Deployment
- Implement Canary Release
- Implement Progressive Exposure Deployment
- 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
- Implement a mobile DevOps strategy
- Apply infrastructure and configuration as code principles.
- Deploy and manage infrastructure using Microsoft automation technologies such as ARM templates, PowerShell, and Azure CLI
- Describe deployment models and services that are available with Azure
- Deploy and configure a Managed Kubernetes cluster
- Deploy and configure infrastructure using 3rd party tools and services with Azure, such as Chef, Puppet, Ansible, SaltStack, and Terraform
- Define an infrastructure and configuration strategy and appropriate toolset for a release pipeline and application infrastructure
- Implement compliance and security in your application infrastructure
- 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
- 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
Public expert-led online training from the convenience of your home, office or anywhere with an internet connection. Guaranteed to run .
Private classes are delivered for groups at your offices or a location of your choice.
Webucator is a Microsoft Certified Partner for Learning Solutions (CPLS). This class uses official Microsoft courseware and will be delivered by a Microsoft Certified Trainer (MCT).
- Introduction to DevOps
- What is DevOps?
- Explore the DevOps journey
- Identify transformation teams
- Explore shared goals and define timelines
- 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)
- 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
- 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
- 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
- Introduction to source control
- Explore DevOps foundational practices
- What is source control?
- Explore benefits of source control
- Explore best practices for source control
- 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
- Work with Azure Repos and GitHub
- Migrate from TFVC to Git
- Use GIT-TFS
- Develop online with GitHub Codespaces
- Structure your Git Repo
- Explore monorepo versus multiple repos
- Implement a change log
- 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
- Collaborate with pull requests in Azure Repos
- Collaborate with pull requests
- Examine GitHub mobile for pull request approvals
- 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
- Explore Git hooks
- Implement Git hooks
- Plan foster inner source
- Explore foster inner source
- Implement the fork workflow
- Describe inner source with forks
- Manage Git repositories
- Work with large repositories
- Purge repository data
- Manage releases with GitHub Repos
- Automate release notes with GitHub
- Explore Azure Pipelines
- Explore the concept of pipelines in DevOps
- Describe Azure Pipelines
- Understand Azure Pipelines key terms
- 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
- 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
- Explore continuous integration
- Learn the four pillars of continuous integration
- Explore benefits of continuous integration
- Describe build properties
- Enable Continuous Integration with Azure Pipelines
- Implement a pipeline strategy
- Configure agent demands
- Implement multi-agent builds
- Explore source control types supported by Azure Pipelines
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- Manage and modularize tasks and templates
- Examine task groups
- Explore variables in release pipelines
- Understand variable groups
- 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
- Introduction to deployment patterns
- Explore microservices architecture
- Examine classical deployment patterns
- Understand modern deployment patterns
- Implement blue-green deployment and feature toggles
- What is blue-green deployment?
- Explore deployment slots
- Describe feature toggle maintenance
- Implement canary releases and dark launching
- Explore canary releases
- Examine Traffic Manager
- Understand dark launching
- Implement A/B testing and progressive exposure deployment
- What is A/B testing?
- Explore CI-CD with deployment rings
- Integrate with identity management systems
- Integrate GitHub with single sign-on (SSO)
- Explore service principals
- Explore Managed Identity
- 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
- Explore infrastructure as code and configuration management
- Explore environment deployment
- Examine environment configuration
- Understand imperative versus declarative configuration
- Understand idempotent configuration
- 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
- Create Azure resources by using Azure CLI
- What is Azure CLI?
- Work with Azure CLI
- 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
- Explore hybrid management
- Examine checkpoint and parallel processing
- 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
- Implement Bicep
- What is Bicep?
- Install Bicep
- Understand Bicep file structure and syntax
- 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
- 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
- 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
- Static analyzers
- Explore SonarCloud
- Explore CodeQL in GitHub
- Manage technical debt with SonarCloud and Azure DevOps
- OWASP and Dynamic Analyzers
- Plan Implement OWASP Secure Coding Practices
- Explore OWASP ZAP penetration test
- Explore OWASP ZAP results and bugs
- 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
- 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
- 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
- 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
- Implement a versioning strategy
- Understand versioning of artifacts
- Explore semantic versioning
- Examine release views
- Promote packages
- Explore best practices for versioning
- Introduction to GitHub Packages
- Publish packages
- Install a package
- Delete and restore a package
- Explore package access control and visibility
- 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
- 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
- Share knowledge within teams
- Share acquired knowledge within development teams
- Integrate with Azure Boards
- Share team knowledge using Azure Project Wiki
- Design processes to automate application analytics
- Explore rapid responses and augmented search
- Integrate telemetry
- Examine monitoring tools and technologies
- 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
Each student will receive a comprehensive set of materials, including course notes and all the class examples.
Experience in the following is required for this Azure DevOps Services class:
- 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.
Live Public Class
$2,445.10 / student
Live Private Class
- Private Class for your Team
- Live training
- Online or On-location
- Customizable
- Expert Instructors