Course Duration: 5 Days
About This Course
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
Audience Profile
Students in this course are interested in implementing DevOps processes or in passing the Microsoft Azure DevOps Solutions certification exam.
At Course Completion
After completing this course, 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 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
Prerequisites
- Students should have 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.
- It is recommended that you have experience working in an IDE, as well as some knowledge of the Azure portal. However, students who may not have a technical background in these technologies, but who are curious about DevOps practices as a culture shift, should be able to follow the procedural and expository explanations of continuous integration regardless
MS AZ 900 Microsoft Azure Fundamentals
Course OutlineModule 1: Planning for DevOpsLessons
Lab : Agile Planning and Portfolio Management with Azure BoardsAfter completing this module, students will be able to:
Module 2: Getting started with Source ControlLessons
Lab : Version Controlling with GitAfter completing this module, students will be able to:
Module 3: Scaling Git for enterprise DevOpsLessons
Lab : Code Review with Pull RequestsAfter completing this module, students will be able to:
Module 4: Consolidating Artifacts & Designing a Dependency Management StrategyLessons
Lab : Updating PackagesAfter completing this module, students will be able to:
Module 5: Implementing Continuous Integration with Azure PipelinesLessons
Lab : Enabling Continuous Integration with Azure PipelinesLab : Integrating External Source Control with Azure PipelinesAfter completing this module, students will be able to:
Module 6: Managing Application Config and SecretsLessons
Lab : Integrating Azure Key Vault with Azure DevOpsAfter completing this module, students will be able to:
Module 7: Managing Code Quality and Security PoliciesLessons
Lab : Managing Technical Debt with Azure DevOps and SonarCloudAfter completing this module, students will be able to:
Module 8: Implementing a Container Build StrategyLessons
Lab : Modernizing Existing ASP.NET Apps with AzureAfter completing this module, students will be able to:
Module 9: Manage Artifact versioning, security & complianceLessons
Lab : Manage Open Source Security and License with WhiteSourceAfter completing this module, students will be able to:
Module 10: Design a Release StrategyLessons
After completing this module, students will be able to:
Module 11: Set up a Release Management WorkflowLessons
Lab : Configuring Pipelines as Code with YAMLLab : Setting up secrets in the pipeline with Azure Key vaultLab : Setting up and Running Functional TestsLab : Using Azure Monitor as release gateLab : Creating a release DashboardAfter completing this module, students will be able to:
Module 12: Implement an appropriate deployment patternLessons
Lab : Feature Flag Management with LaunchDarkly and Azure DevOpsAfter completing this module, students will be able to:
Module 13: Implement process for routing system feedback to development teamsLessons
Lab : Monitoring Application PerformanceAfter completing this module, students will be able to:
Module 14: Infrastructure and Configuration Azure ToolsLessons
Lab : Azure Deployments using Resource Manager TemplatesAfter completing this module, students will be able to:
Module 15: Azure Deployment Models and ServicesLessons
Lab : Deploying a Dockerized Java app to Azure Web App for ContainersAfter completing this module, students will be able to:
Module 16: Create and Manage Kubernetes Service InfrastructureLessons
Lab : Deploying a multi-container application to Azure Kubernetes ServiceAfter completing this module, students will be able to:
Module 17: Third Party Infrastructure as Code Tools available with AzureLessons
Lab : Infrastructure as CodeLab : Automating Your Infrastructure Deployments in the Cloud with Terraform and Azure PipelinesAfter completing this module, students will be able to:
Module 18: Implement Compliance and Security in your InfrastructureLessons
Lab : Implement Security and Compliance in an Azure DevOps PipelineAfter completing this module, students will be able to:
Module 19: Recommend and design system feedback mechanismsLessons
Lab : Integration between Azure DevOps and TeamsAfter completing this module, students will be able to:
Module 20: Optimize feedback mechanismsLessons
After completing this module, students will be able to:
|
You May Also Be Interested In:
Certification
Microsoft Certified: DevOps Engineer Expert
Exam AZ-400: Designing and Implementing Microsoft DevOps Solutions
To become a Microsoft Certified: DevOps Engineer Expert, you must earn at least one of the following:
Microsoft Certified: Azure Administrator Associate
Microsoft Certified Azure Developer Associate certification.