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
- Price: $2,795.00
- Duration: 1 day
- Delivery Methods: Virtual
Date | Time | Price | Option |
---|---|---|---|
12/02/2024 | 10:00 AM - 06:00 PM CT | $2,795.00 |
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
Learning 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 organizational 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 organizational 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 organization
-
- 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 organizational security and compliance policies
-
- Integrate license and vulnerability scans into build and deployment pipelines
- Configure build pipelines to access package security and license ratings
Students in this course are interested in designing and implementing DevOps processes or in passing the Microsoft Azure DevOps Solutions certification exam.
Successful learners will have prior knowledge and understanding of:
- Cloud computing concepts, including an understanding of PaaS, SaaS, and IaaS implementations.
- Both Azure administration and Azure development with proven expertise in at least one of these areas.
- 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