CC

Guide officiel de l'examen AZ-400

Format de l'examen, domaines et conseils de pr\u00E9paration

AZ-400 : Guide d'étude pour la conception et la mise en ??uvre de solutions Microsoft DevOps

Vue d'ensemble de l'examen

  • Certification : Expert en ingénierie DevOps Microsoft
  • Code de l'examen : AZ-400
  • Public cible : Ingénieurs DevOps, développeurs et administrateurs d'infrastructure
  • Expérience requise : Expérience à la fois avec l'administration Azure ET le développement, ainsi qu'avec GitHub et Azure DevOps

Prérequis

  • L'une des certifications de niveau associé suivantes :
    • Administrateur Azure Associé (AZ-104)
    • Développeur Azure Associé (AZ-204)

Compétences évaluées (au 26 juillet 2024)

1. Concevoir et mettre en ??uvre des processus et des communications (10-15 %)

Concevoir et mettre en ??uvre la traçabilité et le flux de travail

  • Concevoir et mettre en ??uvre une structure pour le flux de travail (GitHub Flow)
  • Concevoir et mettre en ??uvre une stratégie pour les cycles de rétroaction (notifications, problèmes GitHub)
  • Concevoir et mettre en ??uvre l'intégration pour le suivi du travail (projets GitHub, Azure Boards, dépôts)
  • Concevoir et mettre en ??uvre la traçabilité de la source, des bogues et de la qualité

Concevoir et mettre en ??uvre des métriques et des requêtes appropriées pour DevOps

  • Concevoir et mettre en ??uvre un tableau de bord (durées du cycle, temps de récupération, temps d'écoulement)
  • Métriques appropriées pour la planification de projet
  • Métriques appropriées pour le développement
  • Métriques appropriées pour les tests
  • Métriques appropriées pour la sécurité
  • Métriques appropriées pour la livraison
  • Métriques appropriées pour les opérations

Configurer la collaboration et la communication

  • Documenter les projets à l'aide de wikis et de diagrammes de processus (Markdown et Mermaid)
  • Configurer la documentation de publication et la documentation d'API
  • Automatiser la création de documentation à partir de l'historique Git
  • Configurer l'intégration des webhooks
  • Configurer l'intégration entre Azure Boards et les dépôts GitHub
  • Configurer l'intégration avec Microsoft Teams

2. Concevoir et mettre en ??uvre une stratégie de contrôle de source (10-15 %)

Concevoir et mettre en ??uvre des stratégies de branchement

  • Concevoir une stratégie de branchement (basée sur le tronc principal, branche de fonctionnalité, branche de version)
  • Mettre en ??uvre le workflow de demande d'extraction à l'aide de stratégies de branche et de protections
  • Mettre en ??uvre des restrictions de fusion de branches

Configurer et gérer les dépôts

  • Stratégie pour la gestion des gros fichiers (Git LFS, git-fat)
  • Stratégie pour la mise à l'échelle et l'optimisation des dépôts Git (Scalar, partage entre dépôts)
  • Configurer les autorisations dans le contrôle de source
  • Configurer des balises pour organiser le dépôt
  • Récupérer des données spécifiques à l'aide de commandes Git
  • Supprimer des données spécifiques du contrôle de source

3. Concevoir et mettre en ??uvre des pipelines de build et de publication (50-55 %)

Concevoir et mettre en ??uvre une stratégie de gestion des packages

  • Recommander des outils de gestion de packages (GitHub Packages, Azure Artifacts)
  • Concevoir des flux d'alimentation de packages et des vues pour les packages locaux et en amont
  • Mettre en ??uvre une stratégie de versionnement des dépendances (SemVer, CalVer)
  • Mettre en ??uvre une stratégie de versionnement pour les artefacts de pipeline

Concevoir et mettre en ??uvre une stratégie de test pour les pipelines

  • Concevoir et mettre en ??uvre des portes de qualité et de publication
  • Concevoir une stratégie de test complète (tests locaux, unitaires, d'intégration, de charge)
  • Mettre en ??uvre des tests dans le pipeline (tâches de test, agents de test, résultats des tests)
  • Mettre en ??uvre l'analyse de la couverture du code

Concevoir et mettre en ??uvre des pipelines

  • Sélectionner une solution d'automatisation de déploiement (GitHub Actions, Azure Pipelines)
  • Concevoir l'infrastructure des agents GitHub ou Azure DevOps
  • Intégrer les dépôts GitHub avec Azure Pipelines
  • Développer des règles de déclenchement de pipeline
  • Développer des pipelines à l'aide de YAML
  • Concevoir une stratégie d'ordre d'exécution des tâches (parallélisme, multi-étapes)
  • Développer des scénarios de pipeline complexes (hybride, modèles de machines virtuelles, exécutants auto-hébergés)
  • Créer des éléments de pipeline réutilisables (modèles YAML, groupes de tâches, variables)
  • Concevoir des contrôles et des approbations à l'aide d'environnements YAML

Concevoir et mettre en ??uvre des déploiements

  • Concevoir une stratégie de déploiement (bleu-vert, canari, anneau, exposition progressive, fonctionnalités et tests A/B)
  • S'assurer que les déploiements des dépendances sont ordonnés de manière fiable
  • Minimiser le temps d'arrêt (permutation VIP, équilibrage de charge, déploiements par roulement, emplacements de déploiement)
  • Concevoir un plan de correction rapide
  • Mettre en ??uvre une stratégie de résilience pour le déploiement
  • Mettre en ??uvre des fonctionnalités à l'aide de la configuration d'application Azure
  • Mettre en ??uvre le déploiement d'applications (conteneurs, binaires, scripts)
  • Mettre en ??uvre le déploiement avec des tâches de base de données

Concevoir et mettre en ??uvre Infrastructure as Code (IaC)

  • Recommander une technologie de gestion de la configuration
  • Mettre en ??uvre une stratégie de gestion de la configuration
  • Définir une stratégie IaC (contrôle de source, automatisation des tests et du déploiement)
  • Mettre en ??uvre la configuration de l'état souhaité (Automation Azure, ARM, Bicep, Automanage)
  • Mettre en ??uvre des environnements de déploiement Azure

Maintenir les pipelines

  • Surveiller l'intégrité des pipelines (taux d'échec, durée, tests instables)
  • Optimiser le pipeline en termes de coût, de temps, de performances et de fiabilité
  • Optimiser la concurrence des pipelines
  • Concevoir une stratégie de rétention pour les artefacts et les dépendances
  • Migrer des pipelines classiques vers YAML

4. Élaborer un plan de sécurité et de conformité (10-15 %)

Concevoir et mettre en ??uvre l'authentification et l'autorisation

  • Choisir entre des principaux de service et des identités managées
  • Mettre en ??uvre l'authentification GitHub (applications GitHub, GITHUB_TOKEN, PAT)
  • Mettre en ??uvre des connexions de service et des PAT Azure DevOps
  • Concevoir des autorisations et des rôles dans GitHub
  • Concevoir des autorisations et des groupes de sécurité dans Azure DevOps
  • Configurer les niveaux d'accès appropriés
  • Configurer des projets et des équipes dans Azure DevOps

Concevoir et mettre en ??uvre une stratégie pour la gestion des informations sensibles

  • Mettre en ??uvre des secrets, des clés et des certificats à l'aide d'Azure Key Vault
  • Mettre en ??uvre des secrets dans GitHub Actions et Azure Pipelines
  • Gérer les fichiers sensibles pendant le déploiement (fichiers sécurisés)
  • Concevoir des pipelines pour empêcher les fuites d'informations sensibles

Automatiser l'analyse de la sécurité et de la conformité

  • Concevoir une stratégie d'analyse de la sécurité et de la conformité
  • Configurer Microsoft Defender for Cloud DevOps Security
  • Configurer GitHub Advanced Security
  • Intégrer GitHub Advanced Security à Microsoft Defender
  • Automatiser l'analyse des conteneurs et l'analyse CodeQL
  • Automatiser l'analyse à l'aide des alertes Dependabot

5. Mettre en ??uvre une stratégie d'instrumentation (5-10 %)

Configurer la surveillance pour l'environnement DevOps

  • Configurer l'intégration d'Azure Monitor et de Log Analytics
  • Configurer la collecte de télémétrie (Application Insights, VM Insights, Container Insights, Storage Insights, Network Insights)
  • Configurer la surveillance dans GitHub (informations, graphiques)
  • Configurer des alertes pour GitHub Actions et Azure Pipelines

Analyser les métriques à partir de l'instrumentation

  • Inspecter les indicateurs de performance de l'infrastructure (CPU, mémoire, disque, réseau)
  • Analyser les métriques à l'aide de la télémétrie collectée
  • Inspecter le traçage distribué à l'aide d'Application Insights
  • Interroger les journaux à l'aide de requêtes KQL de base

Éléments clés de l'étude

Parcours d'apprentissage Microsoft Learn officiels

  • Se lancer dans DevOps
  • Développement pour l'entreprise DevOps
  • Mettre en ??uvre l'intégration continue avec Azure Pipelines et GitHub Actions
  • Concevoir et mettre en ??uvre une stratégie de publication
  • Mettre en ??uvre un déploiement continu sécurisé à l'aide d'Azure Pipelines
  • Gérer l'infrastructure en tant que code à l'aide d'Azure

Outils et technologies

  • Azure DevOps Services
  • GitHub et GitHub Actions
  • Azure Pipelines
  • Azure Artifacts
  • Azure Boards
  • Azure Repos
  • Azure Test Plans

Ressources pratiques

  • Évaluation pratique gratuite sur Microsoft Learn
  • Laboratoires Azure DevOps
  • GitHub Learning Lab
  • Exemples de pipelines YAML

Détails de l'examen

  • Note de passage : 700
  • Format des questions : Études de cas, choix multiple, glisser-déposer
  • Durée de l'examen : 120 minutes (150 minutes pour les non anglophones)
  • Langues disponibles : Plusieurs langues, dont l'anglais, le japonais, le chinois, le coréen, l'allemand, le français, l'espagnol, le portugais, l'italien
  • Coût de l'examen : 165 $ US (varie selon la région)

Principales technologies à maîtriser

Contrôle de version

  • Workflows et stratégies Git
  • GitHub Flow
  • Stratégies et protection des branches
  • Workflows de demande d'extraction
  • Git LFS pour les gros fichiers

Plateformes CI/CD

  • Syntaxe YAML d'Azure Pipelines
  • Workflows GitHub Actions
  • Déclencheurs et conditions de pipeline
  • Pipelines multi-étapes
  • Builds de matrice

Gestion des packages

  • Azure Artifacts
  • GitHub Packages
  • Flux NuGet, npm, Maven
  • Sources en amont
  • Vues et rétention des flux

Infrastructure en tant que code

  • Modèles ARM
  • Bicep
  • Notions de base de Terraform
  • Azure CLI/PowerShell
  • Configuration d'état souhaité

Outils de sécurité

  • Azure Key Vault
  • Secrets GitHub
  • Fichiers sécurisés
  • Connexions de service
  • Identités managées

Surveillance

  • Application Insights
  • Azure Monitor
  • Log Analytics
  • Requêtes KQL
  • Alertes et tableaux de bord

Pratiques DevOps

Intégration continue

  • Automatisation des builds
  • Tests unitaires
  • Couverture du code
  • Analyse statique du code
  • Publication d'artefacts

Livraison continue

  • Pipelines de publication
  • Promotion d'environnement
  • Portes d'approbation
  • Stratégies de restauration
  • Fonctionnalités d'activation/désactivation

Stratégies de test

  • Pyramide des tests
  • Test shift-left
  • Automatisation des tests
  • Tests de performance
  • Tests de sécurité

Modèles de déploiement

  • Déploiements bleu-vert
  • Déploiements canari
  • Déploiements en anneau
  • Déploiements progressifs
  • Fonctionnalités d'activation/désactivation

Parcours de certification

  • Prérequis : AZ-104 ou AZ-204 requis
  • Renouvellement : Requis tous les 12 mois via Microsoft Learn
  • Certifications connexes :
    • Azure Solutions Architect Expert (avec AZ-305)
    • Azure Security Engineer Associate (AZ-500)
    • Certifications GitHub

Concepts importants

Culture DevOps

  • Collaboration entre Dev et Ops
  • Responsabilités partagées
  • Amélioration continue
  • Échec rapide, apprentissage rapide
  • Infrastructure en tant que code

Planification Agile

  • Récits utilisateurs et épopées
  • Planification des sprints
  • Graphiques de suivi
  • Suivi de la vélocité
  • Rétrospectives

Sécurité (DevSecOps)

  • Sécurité left shift
  • Analyse de sécurité dans les pipelines
  • Analyse des dépendances
  • Sécurité des conteneurs
  • Conformité en tant que code