Duration – 5Days
Azure Developer Associate contains courseware that helps prepare students for Exam AZ-400. Passing this exam is required to earn the Azure Developer Associate certification.
Audience
Students in this course are interested in implementing DevOps processes or in passing the Microsoft Azure DevOps Solutions certification exam.
Prerequisites
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.
Course Objectives
After completing this course, students will be able to:
1. Describe the benefits of using source control
2. Migrate from TFVC to Git
3. Scale Git for Enterprise DevOps
4. Implement and manage build infrastructure Manage application config & secrets
5. Implement a mobile DevOps strategy
6. Explain why continuous integration matters
7. Implement continuous integration using Azure DevOps
8. Configure builds and the options available
9. Create an automated build workflow
10. Integrate other build tooling with Azure DevOps
11. Create hybrid build processes
12. Differentiate between a release and a deployment
13. Define the components of a release pipeline
14. Explain things to consider when designing your release strategy
15. Classify a release versus a release process, and outline how to control the quality of both
16. Describe the principle of release gates and how to deal with release notes and documentation
17. Explain deployment patterns, both in the traditional sense and in the modern sense
18. Choose a release management tool
19. Explain the terminology used in Azure DevOps and other Release Management Tooling
20. Describe what a Build and Release task is, what it can do, and some available deployment tasks
21. Classify an Agent, Agent Queue and Agent Pool
22. Explain why you sometimes need multiple release jobs in one release pipeline
23. Differentiate between multi-agent and multi-configuration release job
24. Use release variables and stage variables in your release pipeline
25. Deploy to an environment securely, using a service connection
26. Embed testing in the pipeline
27. List the different ways to inspect the health of your pipeline and release by using, alerts, service hooks and reports
28. Create a release gate
29. Describe deployment patterns
30. Implement Blue Green Deployment
31. Implement Canary Release
32. Implement Progressive Exposure Deployment
33. Recommend artifact management tools and practices
34. Abstract common packages to enable sharing and reuse
35. Inspect codebase to identify code dependencies that can be converted to packages
36. Identify and recommend standardized package types and versions across the solution
37. Refactor existing build pipelines to implement version strategy that publishes packages
38. Manage security and compliance
39. Inspect open source software packages for security and license compliance to align with corporate standards
40. Configure build pipeline to access package security and license rating ∙ Configure secure access to package feeds
41. Apply infrastructure and configuration as code principles
42. Deploy and manage infrastructure using Microsoft automation technologies such as ARM templates, PowerShell, and Azure CLI
43. Describe deployment models and services that are available with Azure
44. Deploy and configure a Managed Kubernetes cluster
45. Deploy and configure infrastructure using 3rd party tools and services with Azure, such as Chef, Puppet, Ansible, SaltStack, and Terraform
46. Define an infrastructure and configuration strategy and appropriate toolset for a release pipeline and application infrastructure
47. Implement compliance and security in your application infrastructure
48. Describe what is meant by code quality and how it is measured
49. Detect code smells
50. Integrate automated tests for code quality
51. Report on code coverage during testing
52. Add tooling to measure technical debt
53. Detect open source and other licensing issues
54. Implement a container build strategy
55. Design practices to measure end-user satisfaction
56. Design processes to capture and analyze user feedback from external sources
57. Design routing for client application crash report data
58. Recommend monitoring tools and technologies
59. Recommend system and feature usage tracking tools
60. Configure crash report integration for client applications
61. Develop monitoring and status dashboards
62. Implement routing for client application crash report data
63. Implement tools to track system usage, feature usage, and flow
64. Integrate and configure ticketing systems with development team’s work management system
65. Analyze alerts to establish a baseline
66. Analyze telemetry to establish a baseline
67. Perform live site reviews and capture feedback for system outages
68. Perform ongoing tuning to reduce meaningless or non-actionable alerts
69. Plan for the transformation with shared goals and timelines.
70. Select a project and identify project metrics and KPIs.
71. Create a team and agile organizational structure.
72. Develop a project quality strategy.
73. Plan for secure development practices and compliance rules.
74. Migrate and consolidate artifacts.
75. Migrate and integrate source control measures.
Outline: Microsoft Azure DevOps Solutions Fast Track (AZ400)
Getting started with Source Control
1. What is Source Control?
2. Benefits of Source Control
3. Types of source control systems
4. Introduction to Azure Repos
5. Migrating from TFVC to Git
6. Authenticating to your Git Repos
Scaling git for enterprise DevOps
1. How to structure your git repo? Mono Repo or Multi Repo?
2. Git Branching workflows
3. Collaborating with Pull Requests
4. Why care about GitHooks?
5. Fostering Internal Open Source
6. Git Version
7. Public projects
8. Storing Large files in Git
Implement & Manage Build Infrastructure
1. The concept of pipelines in DevOps
2. Azure Pipelines
3. Evaluate use of Hosted vs. Private Agents
4. Agent pools
5. Pipelines & Concurrency
6. Azure DevOps loves Open Source projects
7. Azure Pipelines YAML vs Visual Designer
8. Setup private agents
9. Integrate Jenkins with Azure Pipelines
10. Integration external source control with Azure Pipelines
11. Analyse & Integrate Docker multi stage builds
Managing application config & secrets
1. Demo: SQL Injection attack
2. Implement secure & compliant development process
3. Rethinking application config data
4. Manage secrets, tokens & certificates
5. Implement tools for managing security and compliance in pipeline
Implement a mobile DevOps strategy
1. Introduction to Visual Studio App Center
2. Manage mobile target device sets and distribution groups
3. Manage target UI test device sets
4. Provision tester devices for deployment
Implementing Continuous Integration in an Azure DevOps Pipeline
1. Continuous Integration Overview
2. Implementing a Build Strategy
Managing Code Quality and Security Policies
1. Managing Code Quality
2. Managing Security Policies
Implementing a Container Build Strategy
1. Implementing a Container Build Strategy
Design a Release Strategy
1. Introduction to Continuous Delivery
2. Release strategy recommendations
3. Building a High Quality Release pipeline
4. Choosing a deployment pattern
5. Choosing the right release management tool
6. Building a release strategy
7. Differentiate between a release and a deployment
8. Define the components of a release pipeline
9. Explain things to consider when designing your release strategy
10. Classify a release versus a release process, and outline how to control the quality of both
11. Describe the principle of release gates and how to deal with release notes and documentation
12. Explain deployment patterns, both in the traditional sense and in the modern sense
13. Choose a release management tool
Set up a Release Management Workflow
1. Introduction
2. Create a Release Pipeline
3. Provision and Configure Environments
4. Manage And Modularize Tasks and Templates
5. Integrate Secrets with the release pipeline
6. Configure Automated Integration and Functional Test Automation
7. Automate Inspection of Health
8. Building a release management workflow
9. Explain the terminology used in Azure DevOps and other Release Management Tooling
10. Describe what a Build and Release task is, what it can do, and some available deployment tasks
11. Classify an Agent, Agent Queue and Agent Pool
12. Explain why you sometimes need multiple release jobs in one release pipeline
13. Differentiate between multi-agent and multi-configuration release job
14. Use release variables and stage variables in your release pipeline
15. Deploy to an environment securely, using a service connection
16. Embed testing in the pipeline
17. List the different ways to inspect the health of your pipeline and release by using, alerts, service hooks and reports
18. Create a release gate
Implement an appropriate deployment pattern
1. Introduction into Deployment Patterns
2. Implement Blue Green Deployment
3. Implement Canary Release
4. Implement Progressive Exposure Deployment
5. Describe deployment patterns
6. Implement Blue Green Deployment
7. Implement Canary Release
8. Implement Progressive Exposure Deployment
Hands-On Lab: Microsoft 365 Tenant and Service Management
1. Exercise 1: Set up a Microsoft 365 trial tenant
2. Exercise 2: Managing Microsoft 365 users, groups, and administration
3. Exercise 3: Configuring Rights Management and compliance
4. Exercise 4: Monitor and troubleshoot Microsoft 365
Designing a Dependency Management Strategy
1. Introduction
2. Packaging dependencies
3. Package management
4. Implement versioning strategy
5. Recommend artifact management tools and practices
6. Abstract common packages to enable sharing and reuse
7. Inspect codebase to identify code dependencies that can be converted to packages
8. Identify and recommend standardized package types and versions across the solution
9. Refactor existing build pipelines to implement version strategy that publishes packages
10. Manage security and compliance
Manage security and compliance
1. Introduction
2. Package security
3. Open source software
4. Integrating license and vulnerability scans
5. Inspect open source software packages for security and license compliance to align with corporate standards
6. Configure build pipeline to access package security and license rating ∙ Configure secure access to package feeds
Infrastructure and Configuration Azure Tools
1. Learning Objectives
2. Infrastructure as Code and Configuration Management
3. Create Azure Resources using ARM Templates
4. Create Azure Resources using Azure CLI
5. Create Azure Resources by using Azure PowerShell
6. Additional Automation Tools
7. Version Control
8. Lab Deploy to Azure using ARM templates
9. Module Review Questions
Azure Deployment Models and Services
1. Learning Objectives
2. Deployment Models and Options
3. Azure Infrastructure-as-a-Service (IaaS) Services
4. Azure Automation with DevOps
5. Desired State Configuration (DSC)
6. Azure Platform-as-a-Service (PaaS) services
7. Azure Service Fabric
8. Lab Azure Automation – IaaS or PaaS deployment
9. Module Review Questions
Create and Manage Kubernetes Service Infrastructure
1. Learning Objectives
2. Azure Kubernetes Service
3. Lab Deploy and Scale AKS Cluster
4. Module Review Questions
Third Party and Open Source Tools available with Azure
1. Learning Objectives
2. Chef
3. Puppet
4. Ansible
5. Cloud-Init
6. Terraform
7. Lab Provision and configure an App in Azure Using X
8. Module Review Questions
Implement Compliance and Security in your Infrastructure
1. Security and Compliance Principles with DevOps
2. Azure Security Center
3. Lab Integrate a scanning extension or tool in an AZ DevOps pipeline/security center
4. Module Review Questions
Planning for DevOps
1. Transformation Planning
2. Project Selection
3. Team Structures
Planning for Quality and Security
1. Planning a Quality Strategy
2. Planning Secure Development
Migrating and Consolidating Artifacts and Tools
1. Migrating and Consolidating Artifacts
2. Migrating and Integrating Source Control