Na het volgen van de AZ-400 zelfstudie kan je:
- Een end-to-end DevOps-strategie implementeren, inclusief continuous integration en continuous delivery (CI/CD) pipelines, om softwareontwikkeling en implementatie te automatiseren en te optimaliseren.
- Beveiligings- en nalevingsmaatregelen integreren in de DevOps-cyclus, met inbegrip van geautomatiseerde beveiligingstesten en monitoring om de integriteit en veiligheid van de code te waarborgen.
- DevOps-praktijken en -middelen toepassen voor infrastructuurbeheer, zoals Infrastructure as Code (IaC), om schaalbare en herhaalbare implementaties te realiseren en de efficiëntie van het systeembeheer te verbeteren.
Algemene omschrijving
In dit zelfstudiepakket zit het officiële cursusmateriaal, een labomgeving, MeasureUp-oefenexamen en een Microsoft-examenvoucher. Je hebt 180 dagen toegang tot de labomgeving.
Deze training geeft de kennis en vaardigheden om DevOps-processen en -praktijken te ontwerpen en implementeren. In deze training leer je de volgende taken uit te voeren:
- DevOps inplannen.
- Source Control gebruiken.
- Git schalen voor een onderneming.
- Artefacten consolideren.
- Een Dependency Management-strategie ontwerpen.
- Geheimen beheren.
- Continuous Integration implementeren.
- Een Container Build-strategie implementeren.
- Een releasestrategie ontwerpen.
- Een Release Management-werkstroom opzetten.
- Een Deployment Pattern implementeren.
- Feedbackmechanismen optimaliseren.
Doelgroep
Cursisten in deze training zijn geïnteresseerd in het ontwerpen en implementeren van DevOps-processen, of in het halen van het Microsoft Azure Devops Solutions-certificeringsexamen.
Leerdoelen
Na afloop ben je in staat om het volgende te doen:
- Plannen van de transformatie met gedeelde doelen en tijdlijnen.
- Een project selecteren en projectstatistieken identificeren met KPI’s (Key Performance Indicators).
- Creëren van een team en een Agile-organisatiestructuur.
- Ontwerpen van een hulpmiddelenintegratiestrategie.
- Ontwerpen van een licentiebeheerstrategie (bijvoorbeeld: Azure- DevOps- en GitHub-gebruikers).
- Ontwerpen van een strategie voor end-to-end-traceability van work-items tot werkende software.
- Ontwerpen van een authenticatie en toegangsstrategie.
- Ontwerpen van een strategie voor het integreren van on-premises en cloudbronnen.
- Beschrijven van de voordelen van gebruik van Source Control.
- Beschrijven van Azure Repos en GitHub.
- Migreren van TFVC naar Git.
- Beheren van codekwaliteit inclusief Technical Debt SonarCloud, en andere hulpmiddelenoplossingen.
- Bouwen van organisatiekennis betreffende codekwaliteit.
- Uitleggen hoe Git repos te structureren.
- Beschrijven van branching workflows in Git.
- Gebruiken van pull requests voor samenwerking en code review.
- Inzetten van Git hooks voor automation.
- Gebruik van Git om Inner Source binnen het bedrijf te bevorderen.
- Uitleggen van de rol van Azure Pipelines en zijn componenten.
- Configureren van Agents voor gebruik in Azure Pipelines.
- Uitleggen waarom continuous integration belangrijk is.
- Implementeren van continuous integration met gebruik van Azure Pipelines.
- Definiëren van Site Reliability Engineering.
- Ontwerpen van processen om de beleving van de eindgebruiker te meten en feedback van de gebruiker te analyseren.
- Ontwerpen van processen om applicatie-analyses te automatiseren.
- Meldingen beheren en voorkomen van betekenisloze meldingen en meldingen waar niet op gereageerd hoeft te worden.
- Uitvoeren van Blameless Retrospectives en het creëren van een Just Culture.
- Definiëren van een infrastructuur en configuratiestrategie en toepasselijke hulpmiddelenset voor een release pipeline en applicatie-infrastructuur.
- Implementeren van naleving en beveiliging in de infrastructuur van jouw applicatie.
- Beschrijven van de mogelijke uitdagingen met integreren van opensourcesoftware.
- Inspecteren van opensourcesoftware met betrekking tot beveiliging en naleving.
- Beheren van het beveiligings- en nalevingsbeleid binnen een organisatie.
- Integreren van licentie- en kwetsbaarheidsscans in Build en Deployment Pipelines.
- Configureren van Build Pipelines om Package Security te benaderen en License Ratings.
Voorkennis
Voordat je het zelfstudiepakket: “Designing and Implementing Microsoft DevOps Solutions (AZ-400)” doorneemt, is het vereist dat je het certificaat: “Microsoft Certified: Azure Administrator Associate” en/of het certificaat: “Microsoft Certified: Azure Developer Associate” hebt behaald.
Om de inhoud van dit zelfstudiepakket goed te kunnen begrijpen, zijn de volgende dingen van belang:
- Ervaring met Microsoft Azure
- Basiskennis van Microsoft Azure, waaronder Azure DevOps Services en andere gerelateerde clouddiensten, is vereist voor dit zelfstudiepakket. Deze kennis zorgt ervoor dat jij het cursusmateriaal effectief kunt doornemen en begrijpen.
- Achtergrond in softwareontwikkeling of systeembeheer
- Ervaring in softwareontwikkeling, ICT-operations, of een vergelijkbare rol is belangrijk. Dit helpt jou om de DevOps-principes en -praktijken die in het zelfstudiepakket worden behandeld, beter te begrijpen en toe te passen.
- Kennis van programmeertalen
- Bekendheid met een of meerdere programmeertalen, zoals Python, Java, of .NET, kan nuttig zijn. Dit komt van pas bij het begrijpen van automatiseringsscripts en CI/CD-pipelines.
- Begrip van softwareontwikkelingsprocessen
- Kennis van softwareontwikkelingsmethodieken, zoals Agile of Scrum, is vaak een voordeel. Het zelfstudiepakket bouwt voort op deze kennis om DevOps-praktijken te integreren in het softwareontwikkelingsproces.
- Engelse taalvaardigheid
- Aangezien het cursusmateriaal en de begrippen in de Engelse taal zijn, is een goede beheersing van de Engelse taal belangrijk om de inhoud te kunnen begrijpen.
Onderwerpen
Module 1: Planning for DevOps
Lessons:
- Transformation Planning.
- Project Selection.
- Team Structures.
- Migrating to Azure DevOps.
Lab: Agile Planning and Portfolio Management with Azure Boards
After completing this module, 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.
Module 2: Getting Started with Source Control
Lessons:
- What is Source Control.
- Benefits of Source Control.
- Types of Source Control Systems.
- Introduction to Azure Repos.
- Introduction to GitHub.
- Migrating from Team Foundation Version Control (TFVC) to Git in Azure Repos.
Lab: Version Controlling with Git in Azure Repos
After completing this module, students will be able to:
- Describe the benefits of using Source Control.
- Describe Azure Repos and GitHub.
- Migrate from TFVC to Git.
Module 3: Managing Technical Debt
Lessons:
- Identifying Technical Debt.
- Knowledge Sharing within Teams.
- Modernizing Development Environments with Codespaces.
Lab: Sharing Team Knowledge using Azure Project Wikis
After completing this module, students will be able to:
- Manage code quality including technical debt SonarCloud, and other tooling solutions.
- Build organizational knowledge on code quality.
Module 4: Working with Git for Enterprise DevOps
Lessons:
- How to Structure Your Git Repo.
- Git Branching Workflows.
- Collaborating with Pull Requests in Azure Repos.
- Why Care About Git Hooks.
- Fostering Inner Source.
- Managing Git Repositories.
Lab: Version Controlling with Git in Azure Repos
After completing this module, students will be able to:
- 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.
Module 5: Configuring Azure Pipelines
Lessons:
- The Concept of Pipelines in DevOps.
- Azure Pipelines.
- Evaluate use of Hosted versus Self-Hosted Agents.
- Agent Pools.
- Pipelines and Concurrency.
- Azure DevOps and Open-Source Projects (Public Projects).
- Azure Pipelines YAML versus Visual Designer.
Lab: Configuring Agent Pools and Understanding Pipeline Styles
After completing this module, students will be able to:
- Explain the role of Azure Pipelines and its components.
- Configure Agents for use in Azure Pipelines.
Module 6: Implementing Continuous Integration using Azure Pipelines
Lessons:
- Continuous Integration Overview.
- Implementing a Build Strategy.
- Integration with Azure Pipelines.
- Integrating External Source Control with Azure Pipelines.
- Set Up Self-Hosted Agents.
Lab: Enabling Continuous Integration with Azure Pipelines
Lab: Integrating External Source Control with Azure Pipelines
After completing this module, students will be able to:
- Explain why continuous integration matters.
- Implement continuous integration using Azure Pipelines.
Module 7: Managing Application Configuration and Secrets
Lessons:
- Introduction to Security.
- Implement a Secure Development Process.
- Rethinking Application Configuration Data.
- Manage Secrets, Tokens, and Certificates.
- Integrating with Identity Management Systems.
- Implementing Application Configuration.
Lab: Integrating Azure Key Vault with Azure DevOps
After completing this module, students will be able to:
- Manage application configuration and secrets.
- Integrate Azure Key Vault with a pipeline.
Module 8: Implementing Continuous Integration with GitHub Actions
Lessons:
- GitHub Actions.
- Continuous Integration with GitHub Actions.
- Securing Secrets for GitHub Actions.
Lab: GitHub Actions Continuous Integration
After completing this module, students will be able to:
- Create and work with GitHub Actions and Workflows.
- Implement Continuous Integration with GitHub Actions.
Module 9: Designing and Implementing a Dependency Management Strategy
Lessons:
- Packaging Dependencies.
- Package Management.
- Migrating and Consolidating Artifacts.
- Package Security.
- Implementing a Versioning Strategy.
Lab: Package Management with Azure Artifacts
After completing this module, students will be able to:
- Recommend artifact management tools and practices.
- Abstract common packages to enable sharing and reuse.
- Migrate and consolidate artifacts.
- Migrate and integrate source control measures.
Module 10: Designing a Release Strategy
Lessons:
- Introduction to Continuous Delivery.
- Release Strategy Recommendations.
- Building a High-Quality Release pipeline.
- Choosing the Right Release Management Tool.
Lab: Controlling Deployments using Release Gates
Lab: Creating a Release Dashboard
After completing this module, students will be able to:
- 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.
- Choose a release management tool.
Module 11: Implementing Continuous Deployment using Azure Pipelines
Lessons:
- Create a Release Pipeline.
- Provision and Configure Environments.
- Manage and Modularize Tasks and Templates.
- Configure Automated Integration and Functional Test Automation.
- Automate Inspection of Health.
Lab: Configuring Pipelines as Code with YAML
Lab: Setting up and Running Functional Tests
After completing this module, students will be able to:
- 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.
- 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.
- List the different ways to inspect the health of your pipeline and release by using alerts, service hooks, and reports.
Module 12: Implementing an Appropriate Deployment Pattern
Lessons:
- Introduction to Deployment Patterns.
- Implement Blue Green Deployment.
- Feature Toggles.
- Canary Releases.
- Dark Launching.
- AB Testing.
- Progressive Exposure Deployment.
Lab: Feature Flag Management with LaunchDarkly and Azure DevOps
After completing this module, students will be able to:
- Describe deployment patterns.
- Implement Blue Green Deployment.
- Implement Canary Release.
- Implement Progressive Exposure Deployment.
Module 13: Managing Infrastructure and Configuration using Azure Tools
Lessons:
- Infrastructure as Code and Configuration Management.
- Create Azure Resources using ARM Templates.
- Create Azure Resources using Azure CLI.
- Azure Automation with DevOps.
- Desired State Configuration (DSC).
Lab: Azure Deployments using Resource Manager Templates
After completing this module, students will be able to:
- Apply infrastructure and configuration as code principles.
- Deploy and manage infrastructure using Microsoft automation technologies such as ARM templates, PowerShell, and Azure CLI.
Module 14: Third Party Infrastructure as Code Tools Available with Azure
Lessons:
- Chef.
- Puppet.
- Ansible.
- Terraform.
Lab: Automating Infrastructure Deployments in the Cloud with Terraform and Azure Pipelines
Lab: Deploying Apps with Chef on Azure
Lab: Deploy App with Puppet on Azure
Lab: Ansible with Azure
After completing this module, students will be able to:
- Deploy and configure infrastructure using 3rd party tools and services with Azure, such as: Chef, Puppet, Ansible, and Terraform.
Module 15: Managing Containers using Docker
Lessons:
- Implementing a Container Build Strategy.
- Implementing Docker Multi-Stage Builds.
Lab: Modernizing Existing ASP.NET Apps with Azure
After completing this module, students will be able to:
- Implement a container strategy including how containers are different from virtual machines and how microservices use containers.
- Implement containers using Docker.
- Implement Docker multi-stage builds.
Module 16: Creating and Managing Kubernetes Service Infrastructure
Lessons:
- Azure Kubernetes Service.
- Kubernetes Tooling.
- Integrating AKS with Pipelines.
Lab: Deploying a Multi-Container Application to Azure Kubernetes Service
After completing this module, students will be able to:
- Deploy and configure a Managed Kubernetes cluster.
Module 17: Implementing Feedback for Development Teams
Lessons:
- Implement Tools to Track System Usage, Feature Usage, and Flow.
- Implement Routing for Mobile Application Crash Report Data.
- Develop Monitoring and Status Dashboards.
- Integrate and Configure Ticketing Systems.
Lab: Monitoring Application Performance with Application Insights
After completing this module, students will be able to:
- Implement tools to track system usage, feature usage, and flow.
- Configure crash report integration for client applications.
- Implement routing for client application crash report data.
- Develop monitoring and status dashboards.
- Integrate and configure ticketing systems with development team's work management.
Module 18: Implementing System Feedback Mechanisms
Lessons:
- Site Reliability Engineering.
- Design Practices to Measure End-User Satisfaction.
- Design Processes to Capture and Analyze User Feedback.
- Design Processes to Automate Application Analytics.
- Managing Alerts.
- Blameless Retrospectives and a Just Culture.
Lab: Integration between Azure DevOps and Teams
After completing this module, students will be able to:
- 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.
Module 19: Implementing Security in DevOps Projects
Lessons:
- Security in the Pipeline.
- Azure Security Center.
Lab: Implement Security and Compliance in an Azure DevOps Pipeline
After completing this module, students will be able to:
- Define an infrastructure and configuration strategy and appropriate toolset for a release pipeline and application infrastructure.
- Implement compliance and security in your application infrastructure.
Module 20: Validating Code Bases for Compliance
Lessons:
- Open-Source Software.
- Managing Security and Compliance Policies.
- Integrating License and Vulnerability Scans.
Lab: Managing Technical Debt with SonarQube and Azure DevOps
After completing this module, students will be able to:
- 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.