Schulungsübersicht
Modul 1: Einführung in Infrastructure as Code und Terraform
- Konzepte von IaC sowie Vorteile für lokale und hybride Umgebungen
- Überblick über Terraform: Provider, Ressourcen, Zustandskonfiguration und Lebenszyklus
- Installation von Terraform, Azure CLI sowie notwendigen Hilfsprogrammen
- Erste praktische Übung: Erstellung einer einfachen Terraform-Konfiguration und Ausführung lokal
Modul 2: Die HashiCorp Configuration Language (HCL) und Grundlagen der Konfiguration
- Syntax von HCL, Definition sowie Attribute von Ressourcen sowie Ausdrücke
- Verwendung von Variablen, Ausgaben, lokalen Werten und Datentypbeschränkungen
- Arbeiten mit der Terraform-Befehlszeile: init, plan, apply, destroy sowie fmt
- Übung: Erstellung einer parametrisierbaren Konfiguration für ein lokales und ein Azure-basiertes Objekt
Modul 3: Provider, Ressourcen und Grundlagen des Azure-Providers
- Verständnis von Providern sowie deren Konfiguration (insbesondere dem AzureRM-Provider)
- Abbildung lokaler bzw. Cloud-Ressourcen auf Terraform-Konstrukte: Netzwerke, Rechenressourcen und Speicherplatz
- Authentifizierung in Azure sowie Einrichtung von Service Principal-Konten zur automatisierten Steuerung
- Praktische Anwendung: Bereitstellung eines virtuellen Netzwerks sowie einer einfachen VM in Azure per Terraform
Modul 4: Zustandsverwaltung, externe Backends und Teamarbeit mit Terraform
- Funktionsweise, Formatierung sowie praktische Überlegungen zur Verwendung des Terraform-Zustands
- Nutzung von Remote-Backends via Azure Storage Account und Mechanismen zum Schützen vor gleichzeitigen Zugriffen
- Einsatz von Workspaces und Umgebungsmodellen zur Kooperation mehrerer Teams
- Übung: Einrichtung eines Remote-Zustandsspeichers in Azure Storage sowie Durchführung eines gemeinsamen Workflows mehrerer Personen
Modul 5: Modularisierung, Wiederverwendbarkeit und bewährte Verfahren
- Erstellung sowie Nutzung wiederverwendbarer Terraform-Module
- Konzepte zu Modul-Eingaben/Ausgaben, Versionierung sowie Publikation in zentralen Repositories
- Aufbau strukturierter Repositorys: Ordnerlogik und Benennungskonventionen zur besseren Wartbarkeit
- Praxisbeispiel: Entwicklung eines Moduls für die Erstellung von Azure-VM, zugehörigen Datenträgern und Netzwerkkomponenten sowie dessen Testung in mehreren Szenarien
Modul 6: Verwaltung virtueller Geräte in Azure sowie Integration lokaler Systeme
- Steuerung von Azure-Virtual Machines, Virtual Desktop-Komponenten und deren Lebenszyklus mittels Terraform
- Strategien zur koordinierten Verwaltung lokaler Ressourcen sowie virtueller Geräte aus der Cloud
- Integration von spezifischen Geräteverwaltungswerkzeugen unter Nutzung externer Datenquellen und spezialisierter Provider
- Lab: Aufbau einer virtuellen VM-Gruppe in Azure, Ausstattung mit Inventarinformationen sowie Basisüberwachungseinstellungen
Modul 7: CI/CD-Integration, Automatisierung und Deploymentsysteme
- Anbindung von Terraform an automatisierte Pipeline-Konzepte (z. B. GitHub Actions oder Azure DevOps)
- Sichere Automatisierung von Plan- und Ausführungsprozessen unter Verwendung passender Geheimnisverwaltung sowie Service Principal-Zugänge
- Einführung in Policy as Code: Nutzung von Sentinel oder Open Policy Agent zur vorausschauenden Prüfung der Konfigurationen
- Praktische Umsetzung: Einrichtung eines GitHub Actions-Workflows, welcher auf einem Test-Abonnement Terraform-Konfigurationen analysiert und anwendet
Modul 8: Sicherheit, Geheimnisverwaltung sowie Betriebsvorgänge im Alltag
- Verwaltung sensibler Informationen: Einsatz von Azure Key Vault und Vermeidung der Speicherung vertraulicher Daten in Zustandsdateien
- Berechtigungssteuerung, rollenbasierte Zugriffskontrolle (RBAC) sowie Einrichtung minimaler Rechte für automatisierte Konten
- Identifikation ungewünschter Veränderungen im Systemzustand, Abgleich mit Referenzdaten sowie grundlegende Korrekturmaßnahmen
- Checkliste: Sicherung, Kontrollierung und verantwortungsvolle Steuerung von Infrastrukturen, die mittels Terraform verwaltet werden
Modul 9: Testverfahren, Debugging und Fehlerbehebung
- Analyse fehlerhafter Konfigurationen sowie Verständnis der Unterschiede zwischen verschiedenen Zustandsvariationen mittels Plan-Ausgaben
- Vorgehensweisen für Unit- und Integrationstests: Werkzeuge wie terraform validate, tflint oder kitchen-terraform nutzen
- Typische Fehlerbilder sowie effektive Problemlösungsansätze bei der Umsetzung von Konfigurationen
- Lab: Durchführung verschiedener Prüf- und Korrekturverfahren an konkreten Beispielen
Modul 10: Abschlussprojekt – hybride Umgebungsarchitektur entwerfen
- Entwurf und Planung einer hybriden Infrastrukturanordnung unter Verwendung der zuvor erlernten Methodik
- Implementierung zentraler Komponenten mittels wiederverwendbarer Module, Remote-State-Verwaltung sowie vereinfachter CI/CD-Konzepte
- Vorstellung der entstandenen Konstruktion, kritische Bewertung sowie gemeinsame Diskussion über künftige Wartungsprozesse
Zusammenfassung und weiterführende Richtlinien für die Praxisanwendung
Voraussetzungen
- Grundverständnis von Netzwerk- und Virtualisierungskonzepten
- Kenntnisse der Befehlszeilenumgebung unter Windows oder Linux
- Basiswissen zu Cloud- bzw. lokalen Infrastrukturarchitekturen
Zielgruppe
- Systemadministratoren und Plattformingenieure
- DevOps-Fachkräfte, die mit Infrastructure as Code beginnen möchten
- IT-Teams, die hybride Umgebungen – bestehend aus lokalen Systemen und Azure-Ressourcen – verwalten
Erfahrungsberichte (3)
Das Pacing war zum Großteil fantastisch. Michal war sehr gut darin, das Publikum einzubeziehen und dafür zu sorgen, dass die meisten der Zuhörer Schritt halten konnten.
Asif Shaikh - Carpmaels & Ransford
Kurs - Terraform on Microsoft Azure
Maschinelle Übersetzung
Alle Details in der Praxis überprüfen – indem Sie echten Code schreiben
Michal Pipala - EY
Kurs - Advanced Terraform: Efficient Infrastructure as Code
Maschinelle Übersetzung
Der Dozent war sehr gut vorbereitet.
Federico Biavati - CRIF S.P.A.
Kurs - Terraform for Managing Cloud Infrastructure
Maschinelle Übersetzung