Digitales ABC: G wie...

GitOps, Kofferwort für Git (Versionskontrollsoftware) und Operations

Von Bruno Habegger · 13. März 2025

Bedeutung

Der Begriff «GitOps» gehört zu DevOps, ist jedoch deutlich konkreter gefasst und zeigt den Einsatz von Git-Repositories bei der Entwicklung von cloudnativen Anwendungen und beim IT-Betrieb an. Entwicklerteams nutzen solche Speicherorte für Code, Dateien und Revisionen zur Verwaltung des Sollzustands einer Infrastruktur. Git-Repositories für die Infrastruktur bilden «die einzige Quelle der Wahrheit». Die GitOps-Methodik erlaubt das automatisierte Überwachen, Testen und Ausrollen von Änderungen und den laufenden Vergleich mit dem Ist-Zustand.

Ausgangslage

Die Geschwindigkeit der Softwareentwicklung hat im Zuge der digitalen Transformation vieler Bereiche des Lebens und Arbeitens stark zugenommen. Man kann sogar feststellen, dass wir in einer softwaredefinierten Welt leben, in der Erfolg oder Misserfolg von Qualität und Tempo der Entwicklung abhängig sind. Das setzt die Entwickler unter Druck, immer neue Konzepte und Tools für mehr Effizienz zu finden. GitOps ist nun ein relativ neues Konzept, bei dem der IT-Betrieb weiter als bisher automatisiert wird. Bei Abraxas spielt GitOps seit mehreren Jahren eine zentrale Rolle bei der Bereitstellung von Applikationen und Infrastruktur – heute basieren die meisten Neuentwicklungen auf der GitOps-Methodik. Die entsprechenden Vorgaben haben sich im ganzen Unternehmen etabliert.

Geschichte

«Git» ist ein 2005 von Linux-Vater Linus Torvalds entwickeltes Werkzeug zur Versionsverwaltung von Dateien, das ohne zentrale Server auskommt und «Pull Requests» ins Zentrum des Workflows stellt. Den Begriff «GitOps» hat schliesslich die Firma Weaveworks 2017 geprägt. Ursprünglich im Kubernetes-Umfeld entstanden, lässt sich GitOps heute auch mit anderen Betriebsumgebungen nutzen.

How did GitOps get started? An interview with Alexis Richardson

Deep Dive

GitOps umfasst Tools und ein Framework, um mithilfe von Git-Pull-Anfragen Änderungen an der Systeminfrastruktur zu überprüfen und automatisch bereitzustellen. Mit einem «Pull Request» bittet ein Entwickler darum, einen seiner Codes in einen anderen Zweig der Codebasis zu integrieren.

GitOps ist konkreter als DevOps. Es handelt sich um Workflows und Abläufe, den IT-Betrieb zu automatisieren. GitOps kann auch für sich allein umgesetzt werden, setzt mehrere Praktiken wie Infrastructure as Code (IaC), Configuration as Code und Konfigurationsmanagement konsequent durch. Im Unterschied zu anderen Ansätzen holt sich die Betriebsumgebung ihren Zustand direkt aus dem Git-Repository; Abweichungen zum Zielzustand werden automatisch korrigiert.

Zur Implementierung stehen viele Werkzeuge zur Verfügung. Auch kann eine andere Versionskontrollsoftware als Git eingesetzt werden.

Die wichtigsten Merkmale von GitOps sind:

  • Git dient als zentrale Quelle für die Definition von Infrastruktur und Anwendungen. Alle gewünschten Zustände sind in Git-Repositories gespeichert.
  • Anstatt prozeduraler Skripte mit Schritt-für-Schritt-Vorgaben werden deklarative Konfigurationen verwendet. Diese beschreiben nur den Sollzustand. Anders gesagt: Ein Grossteil der GitOps-Kern-Codebasis besteht aus deklarativen Konfigurationsdateien und nicht aus ausführbarem Code.
  • Automatisierung und Synchronisation zwischen aktuellem und gewünschtem Zustand mittels pullbasierter Mechanismen – die Infrastruktur aktualisiert sich selbst.
  • Versionskontrolle und Transparenz: Jede Änderung an der Infrastruktur wird dokumentiert. Das erleichtert Debugging, Audits und das Zurücksetzen auf frühere Zustände.

Ein Beispiel für einen GitOps-Ablauf:

Ein Team bemerkt Performance-Probleme beim Load Balancer. Nach Überprüfung der Konfiguration im GitOps-Repository ist klar: Die Werte für die CPU-Ressourcenlimiten müssen angepasst werden.

Ein Teammitglied erstellt einen Pull Request («Pull-Anfrage») mit den verbesserten Werten. Nach Genehmigung und Merge löst dies die GitOps-Pipeline aus. Der Operator erkennt die Änderung und veranlasst das Update über das Orchestrierungssystem.

Beschliesst nun das Team, einen komplett neuen Load-Balancer-Typ zu implementieren, wird derselbe Workflow genutzt: Pull Request, Review, Merge. Würde der neue Typ Probleme verursachen, kann das Team dank GitOps rasch zum vorherigen funktionierenden Stand zurückkehren.

Was sind die grössten Hindernisse bei der Einführung von GitOps? Die wichtigste Herausforderung ist die Schulung der DevOps-Engineers in der deklarativen Konfigurationsweise. Diese Methodik erfordert ein grundlegendes Umdenken im Vergleich zu klassischen manuellen oder skriptbasierten Deployment-Methoden. Mit GitOps erweitern sich auch die Verantwortlichkeiten der DevOps-Engineers: Sie übernehmen Aufgaben, die früher dedizierte Betriebsteams ausführten, und definieren diese zentral auf deklarativer Basis – stets unter Beachtung des Least-Privilege-Prinzips bei den Zugriffsberechtigungen.

Wirkung

Entwicklungsteams sind bereits vertraut mit Git-basierten Workflows. Somit können die bestehenden Prozesse bis zur Infrastrukturkonfiguration durchgezogen werden. Die mehrjährige Erfahrung von Abraxas bestätigt die Wirkung der GitOps-Methodik: Dank Standardisierung steigert sich die Effizienz der Entwicklung, harmonisierte Methoden ermöglichen eine zentrale Problemlösung und nachhaltige Implementierung. Die teamübergreifende Zusammenarbeit verbessert sich. Treten Fehler auf, lassen sich diese effizient finden. Das Umgebungsmanagement stellt sich durch die deklarative Konfiguration einfacher dar.

Weitere Vorteile des GitOps-Ansatzes:

  • Auditierungen und Reproduzierbarkeit sind stark verbessert. Probleme lassen sich präzise lokalisieren.
  • Mehr Sicherheit, da keine direkten Eingriffe von aussen nötig sind.
  • Einfacher organisatorischer Zugriff auf Git
  • Ops-Teams erkennen dank transparenten Änderungen Probleme rasch, was die Sicherheit erhöht.
  • Entwicklungs- und Operations-Team können im jeweils eigenen Tempo arbeiten und müssen nicht aufeinander warten.
  • Unternehmen erhalten mehr Agilität bei der Umsetzung von Markt- und Kundenanforderungen.
  • Die einheitliche Methode erlaubt die Verwaltung grosser, komplexer Infrastrukturen (Skalierbarkeit)
  • Stärkung der transparenten Kollaboration zwischen Entwickler- und Operationsteams im Sinne von DevOps.
  • Konsistenz über verschiedene Umgebungen hinweg (Entwicklung, Staging, Produktion)
  • Schnellere und qualitativ hochwertige Bereitstellung

Alle bisher erschienenen Buchstaben im digitalen ABC

Abraxas erklärt die wichtigsten Begriffe und Buzzwords der IT-Branche.
Bruno Habegger

Über Bruno Habegger

Bruno Habegger ist Abraxas-Magazin-Autor und Senior Communication Manager. Er verfügt über eine langjährige Erfahrung im ICT- und Energie-Bereich als Journalist, Contentproduzent und Berater. Er war Präsident einer Regionalpartei und an seinem damaligen Wohnort acht Jahre Mitglied der Sicherheitskommission.