Course Code: AZ-400T00
Course Length: 4 Days
Delivered: Virtually
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 optimise feedback mechanisms. This course may earn a Credly Badge.
COURSE PREREQUISITES:
Fundamental knowledge about Azure, version control, Agile software development, and core software development principles. It would be helpful to have experience in an organisation that delivers software.
TARGET AUDIENCE:
Students in this course are interested in implementing DevOps processes or in passing the Microsoft Azure DevOps Solutions certification exam.
COURSE OBJECTIVES:
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 Key Performance Indicators (KPI's)
- Create a team and agile organisational structure
- Design a tool integration strategy
- Design a license management strategy (e.g., Azure DevOps and GitHub 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
- Describe the benefits of using Source Control
- Describe Azure Repos and GitHub
- Migrate from TFVC to Git
- Manage code quality including technical debt SonarCloud, and other tooling solutions
- Build organisational knowledge on code quality
- 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 organisation
- Explain the role of Azure Pipelines and its components
- Configure Agents for use in Azure Pipelines
- Explain why continuous integration matters
- Implement continuous integration using Azure Pipelines
- Define Site Reliability Engineering
- Design processes to measure end-user satisfaction and analyze user feedback
- Design processes to automate application analytics
- Manage alerts and reduce meaningless and non-actionable alerts
- Carry out blameless retrospectives and create a just culture
- Define an infrastructure and configuration strategy and appropriate toolset for a release pipeline and application infrastructure
- Implement compliance and security in your application infrastructure
- Describe the potential challenges with integrating open-source software
- Inspect open-source software packages for security and license compliance
- Manage organisational security and compliance policies
- Integrate license and vulnerability scans into build and deployment pipelines
- Configure build pipelines to access package security and license ratings
COURSE CONTENT:
Get started on a DevOps transformation journey
- Introduction to DevOps
- Choose the right project
- Describe team structures
- Choose the DevOps tools
- Plan Agile with GitHub Projects and Azure Boards
- Introduction to source control
- Describe types of source control systems
- Work with Azure Repos and GitHub
Development for enterprise DevOps
- Structure your Git Repo
- Manage Git branches and workflows
- Collaborate with pull requests in Azure Repos
- Explore Git hooks
- Plan foster inner source
- Manage Git repositories
- Identify technical debt
Implement CI with Azure Pipelines and GitHub Actions
- Explore Azure Pipelines
- Manage Azure Pipeline agents and pools
- Describe pipelines and concurrency
- Explore Continuous integration
- Implement a pipeline strategy
- Integrate with Azure Pipelines
- Introduction to GitHub Actions
- Learn continuous integration with GitHub Actions
- Design a container build strategy
Design and implement a release strategy
- Introduction to continuous delivery
- Explore release strategy recommendations
- Build a high-quality release pipeline
- Introduction to deployment patterns
- Implement blue-green deployment and feature toggles
- Implement canary releases and dark launching
- Implement A/B testing and progressive exposure deployment
Implement a secure continuous deployment using Azure Pipelines
- Create a release pipeline
- Provision and test environments
- Manage and modularise tasks and templates
- Automate inspection of health
- Manage application configuration data
- Integrate with identity management systems
- Implement application configuration
Manage infrastructure as code using Azure and DSC
- Explore infrastructure as code and configuration management
- Create Azure resources using Azure Resource Manager templates
- Create Azure resources by using Azure CLI
- Explore Azure Automation with DevOps
- Implement Desired State Configuration (DSC)
- Implement Bicep
Implement security and validate code bases for compliance
- Introduction to Secure DevOps
- Implement open-source software
- Software Composition Analysis
- Static analysers
- OWASP and Dynamic Analysers
- Security Monitoring and Governance
Design and implement a dependency management strategy
- Explore package dependencies
- Understand package management
- Migrate, consolidate, and secure artifacts
- Implement a versioning strategy
- Introduction to GitHub Packages
Implement continuous feedback
- Implement tools to track usage and flow
- Develop monitor and status dashboards
- Share knowledge within teams
- Design processes to automate application analytics
- Manage alerts, Blameless retrospectives and a just culture