Kurs AZ-400T00-A: Designing and Implementing Microsoft DevOps solutions

Dieser Kurs vermittelt die Kenntnisse und Fähigkeiten zur Entwicklung und Umsetzung von DevOps-Prozessen und -praktiken. Die Teilnehmer lernen, wie sie DevOps planen, Quellcodeverwaltung verwenden, Git für ein Unternehmen skalieren, Artefakte konsolidieren, eine Strategie für das Abhängigkeitsmanagement entwerfen, Geheimnisse verwalten, eine kontinuierliche Integration implementieren, eine Strategie zum Erstellen von Containern implementieren, eine Freigabe-Strategie entwerfen und einen Freigabe-Management-Workflow einrichten, ein Bereitstellungsmuster umsetzen und Feedback-Mechanismen optimieren.

Zielgruppenprofil

Die Teilnehmer dieses Kurses möchten DevOps-Prozesse umsetzen lernen oder die Zertifizierungsprüfung für Microsoft Azure DevOps-Lösungen bestehen.

Aufgabengebiet: DevOps-Techniker

Erworbene Qualifikationen

  • Transformation mit geteilten Zielen und Fristen planen
  • Ein Projekt auswählen und Projektmetriken und KPIs erkennen
  • Erstellen einer Team- sowie einer agilen Organisationsstruktur

Voraussetzungen

Grundlegendes Wissen zu Azure, Versionskontrolle, agile Softwareentwicklung und grundlegende Prinzipien der Softwareentwicklung. Es wäre hilfreich, Erfahrung in einem Unternehmen zu haben, das Software liefert.

Kursüberblick

Modul 1: DevOps-Planung

Lektionen

  • Transformationsplanung
  • Projektauswahl
  • Teamstrukturen
  • Migration zu Azure DevOps

Lab: Agile Planunng and Portfolio-Management mit Azure-Boards

Nach Abschluss dieses Moduls können die Schüler:

  • Transformation mit geteilten Zielen und Fristen planen
  • Ein Projekt auswählen und Projektmetriken und KPIs erkennen
  • Erstellen eines Teams und einer agilen Organisationsstruktur
  • Entwickeln einer Tool-Integrationsstrategie
  • Entwerfen einer Lizenzverwaltungsstrategie (z. B. VSTS-Nutzer)
  • Entwickeln einer Strategie für eine lückenlose Rückverfolgbarkeit von Work-Items bis hin zu funktionsfähiger Software
  • Entwickeln einer Anmeldungs- und Zugriffsstrategie
  • Entwickeln einer Strategie zur Integration von lokalen und Cloud-Ressourcen

Modul 2: Erste Schritte mit der Quellensteuerung

Lektionen

  • Was ist Quellensteuerung
  • Vorteile der Quellensteuerung
  • Arten von Quellsteuerungssystemen
  • Einführung in Azure-Repos
  • Einführung in GitHub
  • Migration von TFVC (Team Foundation Version Control) zu Git in Azure Repos
  • Authentifizierung bei Git in Azure Repos

Lab: Versionskontrolle mit Git

Nach Abschluss dieses Moduls können die Schüler:

  • Vorteile bei der Nutzung einer Lösungskontrolle beschreiben
  • Azure Repos und GitHub beschreiben
  • Von TFVC zu Git migrieren

Modul 3: Git für Unternehmens-DevOps skalieren

Lektionen

  • Wie man sein Git-Repo strukturiert
  • Git verzweigte Arbeitsabläufe
  • Zusammenarbeit mit Pull-Anforderungen in Azure-Repos
  • Warum sollte man sich für GitHooks interessieren
  • Förderung der inneren Quelle

Lab: Codeüberprüfung mit Pull-Anfragen

Nach Abschluss dieses Moduls können die Schüler:

  • Erklären, wie Git-Repos strukturiert werden
  • Beschreiben von verzweigten Git-Workflows
  • Pull-Anfragen für Zusammenarbeit und Codeüberprüfungen nutzen
  • Git-Hooks für die Automatisierung nutzen
  • Git verwenden, um die innere Quelle im gesamten Unternehmen zu fördern

Modul 4: Konsolidieren von Artefakten und Entwerfen einer Strategie für das Abhängigkeitsmanagement

Lektionen

  • Package-Abhängigkeiten
  • Package-Verwaltung
  • Migrieren und Konsolidieren von Artefakten

Lab: Aktualisieren von Packages

Nach Abschluss dieses Moduls können die Schüler:

  • Empfehlen der Artefakt Managementtools und Praktiken
  • Abstrahieren von Common Packages zur Aktivierung von Sharing und Wiederverwendung
  • Artifakte migrieren und konsolidieren
  • Source-Kontrollmaßnahmen migrieren und integrieren

Modul 5: Kontinuierliche Integration in Azure-Pipelines umsetzen

Lektionen

  • Das Konzept der Pipelines in DevOps
  • Azure-Pipelines
  • Verwendung von gehosteten vs privaten Agenten bewerten
  • Agenten-Pools
  • Pipelines und Parallelität
  • Azure DevOps und Open Source-Projekte (öffentliche Projekte)
  • Azure Pipelines YAML vs Visual Designer
  • Übersicht über kontinuierliche Integration
  • Umsetzung einer Build-Strategie
  • Integration in Azure-Pipelines
  • Integration der externen Quellensteuerung in Azure-Pipelines
  • Private Agenten einrichten
  • Analysieren und integrieren von mehrstufigen Docker-Builds

Lab: Kontinuierliche Integration mit Azure Pipelines ermöglichen

Lab: Integration der externen Quellensteuerung in Azure-Pipelines

Nach Abschluss dieses Moduls können die Schüler:

  • Implementieren und Verwalten von Build-Infrastrukturen
  • Erklären, warum kontinuierliche Integration wichtig ist
  • Implementieren einer kontinuierlichen Integration mit Azure-DevOps

Modul 6: Verwalten von Anwendungskonfiguration und Geheimnissen

Lektionen

  • Einführung in die Sicherheit
  • Umsetzen eines sicheren und konformen Entwicklungsprozesses
  • Überdenken von Anwendungskonfigurationsdaten
  • Verwaltung von Geheimnissen, Token und Zertifikaten
  • Umsetzen von Tools zum Verwalten von Sicherheit und Compliance in einer Pipeline

Lab: Azure Key Vault in Azure DevOps integrieren

Nach Abschluss dieses Moduls können die Schüler:

  • Verwaltung von Anwendungskonfiguration und Geheimnissen
  • Umsetzen von Tools zum Verwalten von Sicherheit und Compliance in einer Pipeline

Modul 7: Codequalität und Sicherheitsrichtlinien verwalten

Lektionen

  • Codequalität verwalten
  • Sicherheitsrichtlinien verwalten

Lab: Technische Schuld mit Azure DevOps und SonarCloud verwalten

Nach Abschluss dieses Moduls können die Schüler:

  • Verwalten der Codequalität, einschließlich: technische Probleme, SonarCloud und andere Werkzeuglösungen
  • Sicherheitsrichtlinien mit Open Source und OWASP verwalten

Modul 8: Eine Container-Build-Strategie umsetzen

Lektionen

  • Eine Container-Build-Strategie umsetzen

Lab: Modernisieren vorhandener ASP.NET-Apps mit Azure

Nach Abschluss dieses Moduls können die Schüler:

  • Eine Container-Strategie umsetzen, einschließlich der Unterschiede zwischen Containern und virtuellen Maschinen und der Verwendung von Containern durch Microservices
  • Container mit Docker umsetzen

Modul 9: Artefactversionen, Sicherheit und Compliance verwalten

Lektionen

  • Package-Sicherheit
  • Open-Source Software
  • Integration von Lizenz- und Schwachstellen-Scans
  • Implementieren einer Versionsstrategie

Lab: Open Source-Sicherheit und -Lizenz mit WhiteSource verwalten

Nach Abschluss dieses Moduls können die Schüler:

  • Prüfen von Open Source Software-Paketen auf Sicherheit und Lizenzen für Übereinstimmung mit Firmenstandards
  • Eine Build-Pipeline konfigurieren, um Zugriff auf Package-Sicherheit und Lizenzbewertung zu haben
  • Konfigurieren von sicherem Zugriff auf Package-Feeds
  • Überprüfung der Codebasis, um Codeabhängigkeiten zu identifizieren, die in Pakete umgewandelt werden können.
  • Identifizieren und Empfehlen von standardisierten Paket-Typen und Versionen für alle Lösungsaspekte
  • Überarbeitung bestehender Build-Pipelines zur Umsetzung einer Versionsstrategie, die Pakete Freigabe
  • Verwalten von Sicherheit und Compliance

Modul 10: Entwerfen einer Freigabe-Strategie

Lektionen

  • Einführung in kontinuierliche Lieferung
  • Strategieempfehlungen freigeben
  • Aufbau einer hochwertigen Freigabe-Pipeline
  • Auswählen eines Bereitstellungsmusters
  • Auswahl des richtigen Freigabe-Management-Tools

Nach Abschluss dieses Moduls können die Schüler:

  • Zwischen Freigabe und Bereitstellung unterscheiden
  • Komponenten der Freigabe-Pipeline definieren
  • Wichtige Überlegungen für die Erstellung einer Freigabestrategie erklären
  • Freigabe gegenüber Freigabeprozess klassifizieren und beschreiben, wie man die Qualität beider steuern kann
  • Das Prinzip der Freigabe-Gates beschreiben und wie man mit Freigabehinweisen und Dokumentation umgeht
  • Bereitstellungsmuster im traditionellen und modernen Verständnis erklären
  • Freigabe-Managementtool auswählen

Modul 11: Einrichten eines Freigabe-Management Workflows

Lektionen

  • Erstellen einer Freigabe-Pipeline
  • Bereitstellen und Konfigurieren von Umgebungen
  • Verwalten und Modularisieren von Aufgaben und Vorlagen
  • Integrieren von Geheimnissen in die Freigabe-Pipeline
  • Konfigurieren einer automatisierten Integration und Funktionstestautomatisierung
  • Automatisierte Gesundheitsinspektion

Lab: Konfigurieren von Pipelines als Code mit YAML

Lab: Geheimnisse in the Pipeline mit Azure Key vault einrichten

Lab: Funktionsprüfungen einrichten durchführen

Lab: Azure Monitor als Freigabe-Gate

Lab: Erstellen eines Freigabe-Dashboards

Nach Abschluss dieses Moduls können die Schüler:

  • Terminologie erklären, die in Azure-DevOps und anderen Freigabe-Managementtools verwendet wird
  • Erklären, was Build- und Freigabe-Aufgaben sind, was sie können und einige verfügbare Bereitstellungsaufgaben
  • Agent, Agenten-Schlange und Agenten-Pool klassifizieren
  • Erklären, warum zuweilen mehrere Freigabeaufträge in einer Freigabe-Pipeline benötigt werden
  • Zwischen Multi-Agent und Multi-Konfigurations-Freigabeauftrag unterscheiden
  • Freigabe-Variablen und Stufen-Variablen in der Freigabe-Pipeline verwenden
  • Eine Umgebung sicher durch eine Serviceverbindung bereitstellen
  • Tests in der Pipeline einbetten
  • Die verschiedenen Möglichkeiten auflisten, den Zustand Ihrer Pipeline und die Freigabe mit Hilfe von Warnungen, Service-Hooks und Berichten zu überprüfen.
  • Freigabe-Gate erstellen

Modul 12: Ein geeignetes Bereitstellungsmuster implementieren

Lektionen

  • Einführung in Bereitstellungsmuster
  • Implementieren einer Blau-Grün-Bereitstellung
  • Funktionswechsel
  • Canary-Freigaben
  • Test-Launch
  • AB-Test
  • Progressive Expositions-Bereitstellung

Lab: Feature-Flag-Verwaltung mit LaunchDarkly und Azure DevOps

Nach Abschluss dieses Moduls können die Schüler:

  • Bereitstellungsmuster beschreiben
  • Implementieren einer Blau-Grün-Bereitstellung
  • Canary-Freigabe umsetzen
  • Implementieren einer progressiven Belastungs-Bereitstellung

Modul 13: Implementieren eines Prozesses zur Weiterleitung von System-Feedback an Entwicklungsteams

Lektionen

  • Tools anwenden, die die Systemnutzung, Funktionsnutzung und den Fluss verfolgen
  • Das Routing für Crash-Berichtsdaten von Mobilanwendungen umsetzen
  • Überwachungs- und Status-Dashboards entwickeln
  • Integration und Konfiguration von Ticketingsystemen

Lab: Überwachen der Anwendungsleistung

Nach Abschluss dieses Moduls können die Schüler:

  • Konfigurieren der Crash Report-Integration für Client Apps
  • Überwachungs- und Status-Dashboards entwickeln
  • Implementierung eines Routings für die Daten des Crash-Berichts der Client-Anwendung
  • Tools anwenden, die die Systemnutzung, Funktionsnutzung und den Fluss verfolgen
  • Integration und Konfiguration von Ticketingsystemen mit dem Arbeitsmanagementsystem des Entwicklungsteams

Modul 14: Infrastruktur und Konfiguration Azure Tools

Lektionen

  • Infrastruktur als Code- und Konfigurationsmanagement
  • Erstellen von Azure-Ressourcen mit Hilfe von ARM-Vorlagen
  • Erstellen von Azure-Ressourcen mit Azure CLI
  • Erstellen von Azure-Ressourcen mit Azure PowerShell
  • Konfiguration des gewünschten Zustands (DSC)
  • Azure-Automatisierung mit DevOps
  • Zusätzliche Automatisierungstools

Lab: Azure-Bereitstellungen mit Hilfe von Resource Manager-Vorlagen

Nach Abschluss dieses Moduls können die Schüler:

  • Infrastruktur und Konfiguration als Code-Richtlinien anwenden.
  • Infrastruktur mit Microsoft Automatisierungstechnologien, wie z.B. ARM-Vorlagen, PowerShell und Azure CLI bereitstellen und verwalten

Modul 15: Azure-Bereitstellungsmodelle und -Services

Lektionen

  • Bereitstellungsmodule und -optionen
  • Azure-IaaS(Infrastructure-as-a-Service)-Services
  • Azure-PaaS (Platform-as-a-Service)-Services
  • Serverlose und HPC Computer-Services
  • Azure Service-Struktur

Lab: Bereitstellen einer angedockten Java-App für die Azure Web App for Container

Nach Abschluss dieses Moduls können die Schüler:

  • Bereitstellungsmodelle und Dienste beschreiben, die in Azure verfügbar sind

Modul 16: Erstellen und Verwalten der Kubernetes-Service-Infrastruktur

Lektionen

  • Azure Kubernetes Service

Lab: Bereitstellen einer Multi-Container-Anwendung für den Azure Kubernetes-Service

Nach Abschluss dieses Moduls können die Schüler:

  • Verwaltete Kubernetes-Cluster bereitstellen und konfigurieren

Modul 17: Infrastruktur von Drittanbietern als Code-Tools, die mit Azure verfügbar sind

Lektionen

  • Chef
  • Puppet
  • Ansible
  • Terraform

Lab: Infrastruktur als Code

Lab: Automatisieren von Infrastrukturbereitstellungen in der Cloud mit Terraform- und Azure-Pipelines

Nach Abschluss dieses Moduls können die Schüler:

  • Bereitstellung und Konfiguration der Infrastruktur unter Verwendung von Werkzeugen und Diensten von Drittanbietern mit Azure, z.B. Chef, Puppet, Ansible, und Terraform

Modul 18: Compliance und Sicherheit in Ihre Infrastruktur implementieren

Lektionen

  • Sicherheits- und Compliance-Prinzipien mit DevOps
  • Azure Sicherheits-Center

Lab: Implementieren von Tools zum Verwalten von Sicherheit und Compliance in einer Azure DevOps-Pipeline.

Nach Abschluss dieses Moduls können die Schüler:

  • Infrastruktur und Konfigurationsstrategien und die richtigen Werkzeuge für eine Freigabepipeline und Anwendungsinfrastruktur definieren
  • Compliance und Sicherheit in Ihre Anwendungsinfrastruktur implementieren

Modul 19: System-Feedback-Mechanismen empfehlen und entwerfen

Lektionen

  • Die innere Schleife
  • Kontinuierliches Bewusstsein für das Experimentieren
  • Praktiken entwerfen, um Endnutzer-Zufriedenheit zu messen
  • Entwurfsprozesse zur Erfassung und Analyse von Benutzerfeedback
  • Entwurfsprozess zur Automatisierung der Anwendungsanalyse

Lab: Integration zwischen Azure DevOps und Teams

Nach Abschluss dieses Moduls können die Schüler:

  • Praktiken entwerfen, um Endnutzer-Zufriedenheit zu messen
  • Entwickeln von Prozessen zum Erfassen und Analysieren von Nutzerrückmeldungen externer Quellen
  • Konzept zum Routing für Crash-Report daten der Client-Anwendung
  • Empfehlen von Monitoring Tools und Technologien
  • Empfehlen von Trackingtools für System und Funktionsnutzung

Modul 20: Feedback-Mechanismen optimieren

Lektionen

  • Zuverlässigkeitstechnik der Seite
  • Telemetrieanalyse für Erstellung einer Baseline
  • Fortlaufende Feinabstimmung zur Minimierung von sinnlosen oder nichtausführbaren Alarmen vornehmen
  • Alarmanalyse für Erstellung einer Baseline
  • Schuldlose Rückblicke und eine Just Culture

Nach Abschluss dieses Moduls können die Schüler:

  • Alarmanalyse für Erstellung einer Baseline
  • Telemetrieanalyse für Erstellung einer Baseline
  • Durchführung von Live-Überprüfungen vor Ort und Erfassung von Feedback bei Systemausfällen
  • Fortlaufende Feinabstimmung zur Minimierung von sinnlosen oder nichtausführbaren Alarmen vornehmen