CC

Offizieller AZ-400 Pr\u00FCfungsleitfaden

Pr\u00FCfungsformat, Bereiche und Vorbereitungstipps

AZ-400: Leitfaden zum Studium des Entwurfs und der Implementierung von Microsoft DevOps-Lösungen

Prüfungsübersicht

  • Zertifizierung: Microsoft DevOps Engineer Expert
  • Prüfungscode: AZ-400
  • Zielgruppe: DevOps-Ingenieure, Entwickler und Infrastrukturadministratoren
  • Erforderliche Erfahrung: Erfahrung mit sowohl Azure-Verwaltung als auch -Entwicklung sowie GitHub und Azure DevOps

Voraussetzungen

  • Eine der folgenden Associate-Level-Zertifizierungen:
    • Azure Administrator Associate (AZ-104)
    • Azure Developer Associate (AZ-204)

Gemessene Fähigkeiten (Stand: 26. Juli 2024)

1. Entwerfen und Implementieren von Prozessen und Kommunikation (10-15%)

Entwerfen und Implementieren von Rückverfolgbarkeit und Arbeitsablauf

  • Entwerfen und Implementieren einer Struktur für den Arbeitsablauf (GitHub Flow)
  • Entwerfen und Implementieren einer Strategie für Feedbackzyklen (Benachrichtigungen, GitHub-Probleme)
  • Entwerfen und Implementieren der Integration zum Verfolgen der Arbeit (GitHub-Projekte, Azure Boards, Repositorys)
  • Entwerfen und Implementieren von Quellen-, Fehler- und Qualitätsrückverfolgbarkeit

Entwerfen und Implementieren geeigneter Metriken und Abfragen für DevOps

  • Entwerfen und Implementieren eines Dashboards (Zykluszeiten, Wiederherstellungszeit, Lead-Zeit)
  • Geeignete Metriken für die Projektplanung
  • Geeignete Metriken für die Entwicklung
  • Geeignete Metriken für das Testen
  • Geeignete Metriken für die Sicherheit
  • Geeignete Metriken für die Bereitstellung
  • Geeignete Metriken für den Betrieb

Konfigurieren von Zusammenarbeit und Kommunikation

  • Dokumentieren von Projekten mithilfe von Wikis und Prozessdiagrammen (Markdown und Mermaid)
  • Konfigurieren von Release-Dokumentation und API-Dokumentation
  • Automatisieren der Dokumentenerstellung aus der Git-Historie
  • Konfigurieren von Webhook-Integration
  • Konfigurieren der Integration zwischen Azure Boards und GitHub-Repositorys
  • Konfigurieren der Integration mit Microsoft Teams

2. Entwerfen und Implementieren einer Quellcode-Kontrollstrategie (10-15%)

Entwerfen und Implementieren von Verzweigungsstrategien

  • Entwerfen einer Zweigstrategie (Trunk-basiert, Feature-Zweig, Release-Zweig)
  • Implementieren des Pull-Request-Workflows unter Verwendung von Zweigrichtlinien und -schutz
  • Implementieren von Zweigzusammenführungsbeschränkungen

Konfigurieren und Verwalten von Repositorys

  • Strategie zum Verwalten großer Dateien (Git LFS, git-fat)
  • Strategie zum Skalieren und Optimieren von Git-Repositorys (Scalar, gebietsübergreifende Freigabe)
  • Konfigurieren von Berechtigungen in der Quellcodeverwaltung
  • Konfigurieren von Tags zur Organisation des Repositorys
  • Wiederherstellen bestimmter Daten mithilfe von Git-Befehlen
  • Entfernen bestimmter Daten aus der Quellcodeverwaltung

3. Entwerfen und Implementieren von Build- und Release-Pipelines (50-55%)

Entwerfen und Implementieren einer Paket-Management-Strategie

  • Empfehlen von Paket-Management-Tools (GitHub Packages, Azure Artifacts)
  • Entwerfen von Paketvorgaben und -ansichten für lokale und vorgelagerte Pakete
  • Implementieren einer Abhängigkeitsversionierungsstrategie (SemVer, CalVer)
  • Implementieren einer Versionierungsstrategie für Pipelineartefakte

Entwerfen und Implementieren einer Teststrategie für Pipelines

  • Entwerfen und Implementieren von Qualitäts- und Releasestufen
  • Entwerfen einer umfassenden Teststrategie (lokal, Unit, Integration, Leistungstests)
  • Implementieren von Tests in der Pipeline (Testtasks, Testagenten, Testergebnisse)
  • Implementieren der Codeabdeckungsanalyse

Entwerfen und Implementieren von Pipelines

  • Auswählen einer Bereitstellungsautomatisierungslösung (GitHub Actions, Azure Pipelines)
  • Entwerfen der GitHub-Runner- oder Azure-DevOps-Agent-Infrastruktur
  • Integrieren von GitHub-Repositorys in Azure Pipelines
  • Entwickeln von Pipeline-Auslöserregeln
  • Entwickeln von Pipelines mithilfe von YAML
  • Entwerfen einer Strategie für die Auftragsausführungsreihenfolge (Parallelität, mehrere Stufen)
  • Entwickeln komplexer Pipeline-Szenarien (Hybrid, VM-Vorlagen, selbstgehostete Runner)
  • Erstellen wiederverwendbarer Pipelineelemente (YAML-Vorlagen, Aufgabengruppen, Variablen)
  • Entwerfen von Prüfungen und Genehmigungen mithilfe von YAML-Umgebungen

Entwerfen und Implementieren von Bereitstellungen

  • Entwerfen einer Bereitstellungsstrategie (Blau-Grün, Kanarie, Ring, schrittweise Einführung, Featureflags, A/B-Tests)
  • Sicherstellen, dass Abhängigkeitsbereitstellungen zuverlässig geordnet sind
  • Minimieren der Ausfallzeit (VIP-Swap, Lastausgleich, Rollout-Bereitstellungen, Bereitstellungsslots)
  • Entwerfen eines Hotfix-Pfads
  • Implementieren einer Resilienzstrategie für die Bereitstellung
  • Implementieren von Featureflags mithilfe von Azure App Configuration
  • Implementieren der Anwendungsbereitstellung (Container, Binärdateien, Skripte)
  • Implementieren der Bereitstellung mit Datenbankaufgaben

Entwerfen und Implementieren von Infrastructure as Code (IaC)

  • Empfehlen von Konfigurationsverwaltungstechnologie
  • Implementieren einer Konfigurationsverwaltungsstrategie
  • Definieren einer IaC-Strategie (Quellcodeverwaltung, Automatisierung von Tests und Bereitstellung)
  • Implementieren der gewünschten Konfiguration (Azure Automation, ARM, Bicep, Automanage)
  • Implementieren von Azure Deployment Environments

Pipelines warten

  • Überwachen der Pipelineintegrität (Fehlerquote, Dauer, fehlerhafte Tests)
  • Optimieren der Pipeline für Kosten, Zeit, Leistung, Zuverlässigkeit
  • Optimieren der Pipeline-Parallelität
  • Entwerfen einer Aufbewahrungsstrategie für Artefakte und Abhängigkeiten
  • Migrieren von Pipelines von klassisch zu YAML

4. Entwickeln eines Sicherheits- und Complianceplan (10-15%)

Entwerfen und Implementieren von Authentifizierung und Autorisierung

  • Auswählen zwischen Dienstprinzipalen und verwalteter Identität
  • Implementieren der GitHub-Authentifizierung (GitHub-Apps, GITHUB_TOKEN, PATs)
  • Implementieren von Azure DevOps-Dienstverbindungen und PATs
  • Entwerfen von Berechtigungen und Rollen in GitHub
  • Entwerfen von Berechtigungen und Sicherheitsgruppen in Azure DevOps
  • Konfigurieren angemessener Zugriffsebenen
  • Konfigurieren von Projekten und Teams in Azure DevOps

Entwerfen und Implementieren einer Strategie zum Verwalten sensibler Informationen

  • Implementieren von Geheimnissen, Schlüsseln, Zertifikaten mithilfe von Azure Key Vault
  • Implementieren von Geheimnissen in GitHub Actions und Azure Pipelines
  • Verwalten sensibler Dateien während der Bereitstellung (sichere Dateien)
  • Entwerfen von Pipelines zur Verhinderung des Ausleckens sensibler Informationen

Automatisieren von Sicherheits- und Compliance-Scans

  • Entwerfen einer Strategie für Sicherheits- und Compliance-Scans
  • Konfigurieren von Microsoft Defender for Cloud DevOps-Sicherheit
  • Konfigurieren von GitHub Advanced Security
  • Integrieren von GitHub Advanced Security mit Microsoft Defender
  • Automatisieren von Container-Scans und CodeQL-Analysen
  • Automatisieren der Analyse mithilfe von Dependabot-Warnungen

5. Implementieren einer Instrumentierungsstrategie (5-10%)

Konfigurieren der Überwachung für die DevOps-Umgebung

  • Konfigurieren der Azure Monitor- und Log Analytics-Integration
  • Konfigurieren der Telemetrieerfassung (Application Insights, VM Insights, Container Insights, Storage Insights, Network Insights)
  • Konfigurieren der Überwachung in GitHub (Erkenntnisse, Diagramme)
  • Konfigurieren von Warnungen für GitHub Actions und Azure Pipelines

Analysieren von Metriken aus der Instrumentierung

  • Prüfen von Infrastrukturleistungskennzahlen (CPU, Arbeitsspeicher, Festplatte, Netzwerk)
  • Analysieren von Metriken mithilfe der erfassten Telemetrie
  • Prüfen von verteilter Rückverfolgung mithilfe von Application Insights
  • Abfragen von Protokollen mithilfe einfacher KQL-Abfragen

Wichtige Studienmaterialien

Offizielle Microsoft Learn-Lernpfade

  • Erste Schritte mit DevOps
  • Entwicklung für Enterprise DevOps
  • Implementieren von CI mit Azure Pipelines und GitHub Actions
  • Entwerfen und Implementieren einer Releasing-Strategie
  • Implementieren einer sicheren kontinuierlichen Bereitstellung mit Azure Pipelines
  • Verwalten von Infrastruktur als Code mithilfe von Azure

Tools und Technologien

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

Praxisressourcen

  • Kostenlose Übungsbewertung auf Microsoft Learn
  • Azure DevOps Labs
  • GitHub Learning Lab
  • Beispiel-YAML-Pipelines

Prüfungsdetails

  • Bestehensgrenze: 700
  • Frageformat: Fallstudien, Multiple Choice, Drag-and-Drop
  • Prüfungsdauer: 120 Minuten (150 Minuten für Nicht-Muttersprachler)
  • Verfügbare Sprachen: Mehrere Sprachen, darunter Englisch, Japanisch, Chinesisch, Koreanisch, Deutsch, Französisch, Spanisch, Portugiesisch, Italienisch
  • Prüfungskosten: 165 USD (je nach Region unterschiedlich)

Wichtige Technologien, die gemeistert werden müssen

Versionskontrolle

  • Git-Workflows und -Strategien
  • GitHub Flow
  • Zweigrichtlinien und -schutz
  • Pull-Request-Workflows
  • Git LFS für große Dateien

CI/CD-Plattformen

  • Azure Pipelines YAML-Syntax
  • GitHub Actions-Workflows
  • Pipeline-Trigger und -Bedingungen
  • Mehrstufige Pipelines
  • Matrix-Builds

Paket-Management

  • Azure Artifacts
  • GitHub Packages
  • NuGet-, npm-, Maven-Feeds
  • Vorgelagerte Quellen
  • Feed-Ansichten und -Aufbewahrung

Infrastructure as Code

  • ARM-Vorlagen
  • Bicep
  • Terraform-Grundlagen
  • Azure CLI/PowerShell
  • Desired State Configuration

Sicherheitstools

  • Azure Key Vault
  • GitHub Secrets
  • Sichere Dateien
  • Dienstverbindungen
  • Verwaltete Identitäten

Überwachung

  • Application Insights
  • Azure Monitor
  • Log Analytics
  • KQL-Abfragen
  • Warnungen und Dashboards

DevOps-Methoden

Kontinuierliche Integration

  • Build-Automatisierung
  • Unit-Tests
  • Codeabdeckung
  • Statische Codeanalyse
  • Artefaktveröffentlichung

Kontinuierliche Bereitstellung

  • Release-Pipelines
  • Umgebungsbeförderung
  • Genehmigungsstufen
  • Rückrollstrategien
  • Featureflags

Teststrategien

  • Test-Pyramide
  • Shift-Left-Testing
  • Test-Automatisierung
  • Leistungstests
  • Sicherheitstests

Bereitstellungsmuster

  • Blau-Grün-Bereitstellungen
  • Kanarie-Releases
  • Ring-Bereitstellungen
  • Schrittweise Einführung
  • Featureflags

Zertifizierungspfad

  • Voraussetzungen: AZ-104 oder AZ-204 erforderlich
  • Verlängerung: Alle 12 Monate über Microsoft Learn erforderlich
  • Verwandte Zertifizierungen:
    • Azure Solutions Architect Expert (mit AZ-305)
    • Azure Security Engineer Associate (AZ-500)
    • GitHub-Zertifizierungen

Wichtige Konzepte

DevOps-Kultur

  • Zusammenarbeit zwischen Entwicklung und Betrieb
  • Gemeinsame Verantwortlichkeiten
  • Kontinuierliche Verbesserung
  • Schnell scheitern, schnell lernen
  • Infrastruktur als Code

Agile Planung

  • User Stories und Epics
  • Sprint-Planung
  • Burndown-Diagramme
  • Geschwindigkeitsverfolgung
  • Retrospektiven

Sicherheit (DevSecOps)

  • Sicherheit nach vorne verlagern
  • Sicherheitsscans in Pipelines
  • Abhängigkeitsscan
  • Container-Sicherheit
  • Compliance als Code