Ein Intensivkurs für Mac-Administratoren, die von manueller Konfiguration ("ClickOps") zu automatisierter, versionskontrollierter Infrastrukturverwaltung mit Terraform und GitOps-Workflows wechseln möchten.
Teil 1: Grundlagen verstehen
Bevor Sie sich in Jamf-spezifische Implementierungen vertiefen, ist es wichtig, die Kernkonzepte zu verstehen, die Infrastructure as Code wertvoll machen.
Was ist Versionskontrolle?
Versionskontrolle ist die Grundlage der modernen Softwareentwicklung – und nun auch der Infrastrukturverwaltung. Wenn Sie mit diesen Konzepten nicht vertraut sind, beginnen Sie hier:
Was ist Infrastructure as Code (IaC)?
Infrastructure as Code bedeutet, Infrastruktur durch Code statt durch manuelle Prozesse zu verwalten und bereitzustellen. Statt sich durch eine Benutzeroberfläche zu klicken, um Einstellungen zu konfigurieren, definieren Sie den gewünschten Zustand in Konfigurationsdateien.
Warum IaC wichtig ist
| Vorteil |
Beschreibung |
| Versionskontrolle |
Jede Änderung wird mit vollständiger Historie verfolgt – wer hat was, wann und warum geändert |
| Konsistenz |
Eliminieren Sie "Configuration Drift", bei dem Umgebungen langsam vom gewünschten Zustand abweichen |
| Wiederholbarkeit |
Stellen Sie identische Konfigurationen in Entwicklungs-, Test- und Produktionsumgebungen bereit |
| Rollback |
Kehren Sie sofort zu einem vorherigen bekannten Zustand zurück, wenn Probleme auftreten |
| Zusammenarbeit |
Teams können Änderungen vor der Anwendung über Pull Requests überprüfen |
| Auditierbarkeit |
Vollständige Audit-Spur für Compliance und Troubleshooting |
| Disaster Recovery |
Bauen Sie ganze Umgebungen in Minuten aus Code wieder auf |
| Reduzierte menschliche Fehler |
Automation beseitigt manuelle Fehlkonfigurationen |
IaC-Lernressourcen
Was ist GitOps?
GitOps erweitert IaC, indem Git als einzelne Wahrheitsquelle für Ihre Infrastruktur verwendet wird. Alle Änderungen fließen durch Git – über Pull Requests mit Peer-Review – und automatisierte Systeme stellen sicher, dass Ihre Live-Umgebung mit dem in Ihrem Repository definierten Zustand übereinstimmt.
Der GitOps-Workflow
- Entwickler schlägt Änderung über Pull Request vor
- Team prüft und diskutiert die Änderung
- Automatisierte Kontrollen validieren die Konfiguration
- Änderung wird genehmigt und zusammengeführt
- Automation wendet die Änderung auf das Live-System an
- Kontinuierliche Überwachung stellt sicher, dass der Zustand mit Git übereinstimmt
Wichtige GitOps-Vorteile
| Vorteil |
Funktionsweise |
| Pull Request-Genehmigungen |
Änderungen erfordern Peer-Review vor der Bereitstellung – keine unbefugten Änderungen mehr |
| Audit-Spur |
Jede Änderung ist ein Git-Commit mit Autor, Zeitstempel und Beschreibung |
| Einfacher Rollback |
Kehren Sie mit git revert zu einem beliebigen vorherigen Zustand zurück – das System führt automatisch die Abgleichung durch |
| Selbstdokumentierend |
Ihre Git-Historie IST Ihre Dokumentation von Änderungen |
| Drift-Erkennung |
Systeme vergleichen kontinuierlich Live-Zustand vs. deklarierten Zustand und warnen bei Unterschieden |
| Zusammenarbeit |
Asynchrone Code-Review ermöglicht verteilten Teams effektive Zusammenarbeit |
GitOps-Lernressourcen
Was ist Terraform?
Terraform ist HashiCorps Open-Source-Tool für Infrastructure as Code. Es verwendet eine deklarative Konfigurationssprache (HCL) zur Definition von Ressourcen und funktioniert mit praktisch jeder Plattform mit API – einschließlich Jamf.
Terraform-Konzepte
| Konzept |
Beschreibung |
| Provider |
Ein Plugin, das es Terraform ermöglicht, mit einer bestimmten Plattform zu interagieren (z. B. AWS, Azure, Jamf) |
| Ressource |
Eine Komponente Ihrer Infrastruktur (z. B. eine Jamf-Richtlinie, ein Konfigurationsprofil oder eine Smart Group) |
| State |
Terraforms Datensatz der aktuellen Infrastruktur – verwendet zur Planung und Anwendung von Änderungen |
| Plan |
Eine Vorschau dessen, was Terraform vor der tatsächlichen Anwendung ändern wird |
| Apply |
Führen Sie die geplanten Änderungen aus, um die Infrastruktur in den gewünschten Zustand zu bringen |
| Module |
Wiederverwendbare, teilbare Terraform-Konfigurationen |
Terraform-Lernressourcen
Teil 2: IaC für Jamf – Einführung
Nachdem Sie die Grundlagen verstanden haben, schauen wir uns an, wie diese Konzepte speziell auf Jamf-Umgebungen angewendet werden.
Jamf + IaC – Einführungsinhalte
Wenn Sie völlig neu sind bei der Anwendung von IaC-Konzepten auf Jamf, beginnen Sie hier:
Podcast / Video-Einführung
Blog-Beiträge
Teil 3: JNUC 2025 Sessions
Konferenzsitzungen zu realen Implementierungen und fortgeschrittenen Use Cases:
Teil 4: Terraform Provider für Jamf
Terraform Provider sind Plugins, die es Terraform ermöglichen, mit spezifischen Plattformen zu interagieren. Hier sind die verfügbaren Provider für Jamf-Produkte:
Terraform Provider
| Provider |
Betreuer |
Beschreibung |
Link |
| deploymenttheory/jamfpro |
Community |
Schnittstelle mit Classic API und Jamf Pro API |
Terraform Registry |
| terraform-provider-jsctfprovider |
Jamf |
Schnittstelle mit Jamf Security Cloud |
Terraform Registry |
| terraform-jamf-platform |
Jamf |
Terraform-Module mit deploymenttheory und jsctfprovider |
Terraform Registry |
| terraform-provider-jamfplatform |
Jamf |
Schnittstelle mit Jamf Platform API. Diese API ist noch in Beta. |
Terraform Registry |
Teil 5: Community-Ressourcen und Starter-Projekte
Diese von Jamf-Mitarbeitern und Community-Mitgliedern erstellten Ressourcen bieten praktische Beispiele und Vorlagen:
Blog-Beiträge
Starter-Vorlagen
| Repository |
Beschreibung |
| terraform-jamfpro-starter |
Real-World Jamf Pro-Modell mit Beispielkonfigurationen und Dev → Test → Prod-Workflows. Verwendet HCP Terraform Cloud für State-Verwaltung. |
| terraform-jamfplatform-examples |
Grundlegende praktische Verwendungsbeispiele für den jamfplatform Provider |
Teil 6: Empfohlener Lernpfad
Für vollständige Anfänger (keine Git/IaC-Erfahrung)
- Git-Grundlagen erlernen – Schließen Sie eines der obigen Git-Tutorials ab
- IaC-Konzepte verstehen – Lesen Sie die AWS- oder Red Hat-IaC-Erklärungen
- Die Einführung ansehen – Jamf After Dark "I Have No Idea What Terraform Is"
- Das "Warum" lesen – Jamf Blog auf ClickOps to GitOps
- Terraform ausprobieren – Schließen Sie ein grundlegendes HashiCorp-Tutorial ab (Docker oder Cloud-Provider)
Für Git/DevOps-Vertraute
- Jamf Blogs lesen – ClickOps to GitOps + GitOps Workflows
- JNUC Sessions ansehen – Wählen Sie die für Ihre Umgebung relevanteste aus
- Starter-Repo klonen – Versuchen Sie
terraform-jamfpro-starter
- In einer Testumgebung experimentieren – Beginnen Sie niemals mit Production!
Für zur Implementierung bereite Personen
- Provider-Dokumentation überprüfen – Verstehen Sie verfügbare Ressourcen
- State-Verwaltung planen – Erwägen Sie HCP Terraform Cloud für Team-Zusammenarbeit
- Workflow definieren – Etablieren Sie PR-Review-Prozesse und CI/CD-Pipelines
- Klein anfangen – Beginnen Sie mit einigen Ressourcen, erweitern Sie schrittweise
- Alles dokumentieren – Ihr zukünftiges Ich wird Ihnen danken
Kurzübersicht: Der Wertvorschlag
| Traditionelles "ClickOps" |
Infrastructure as Code |
| Änderungen direkt in der Benutzeroberfläche vorgenommen |
Änderungen in Codedateien definiert |
| Keine Aufzeichnung darüber, wer was geändert hat |
Vollständige Git-Historie mit Autor und Zeitstempel |
| Schwierig, Umgebungen zu replizieren |
Identische Bereitstellungen jedes Mal |
| Manuelle Disaster Recovery |
In Minuten aus Code wiederherstellen |
| Änderungen gehen sofort live |
Pull Request-Review vor der Bereitstellung |
| "Gestern funktionierte es"-Debugging |
Vergleichen Sie beliebige zwei Zeitpunkte |
| Stammesweises Wissen |
Selbstdokumentierende Konfigurationen |
| Eine Umgebung nach der anderen |
Konsistent Hunderte von Instanzen verwalten |
Zusätzliche Ressourcen
Offizielle Dokumentation
Allgemeine IaC Best Practices
Zertifizierungen
Zuletzt aktualisiert: Februar 2026