Trotz Plattformen wie Kubernetes, die die Container-Orchestrierung übernehmen, ist es nicht immer einfach, containerbasierte Anwendungen, die auf Clustersystemen oder in der Cloud ausgeführt werden, bereitzustellen und zu verwalten. GitOps ist ein Ansatz, der darauf abzielt, Erfahrungen und Werkzeuge aus der Entwicklerarbeit für den Betrieb von Applikationen zu verwenden. Dahinter stehen vier Grundprinzipien:
- Deklarative Beschreibung: Ressourcen werden in einer formellen Sprache in ihrem Soll-Zustand beschrieben.
- Automatisierung: Die Umsetzung der Beschreibungen aus dem Repository in die Laufzeitumgebung muss vollständig automatisiert erfolgen, reproduzierbar sein und zum gleichen Resultat führen, auch wenn sie mehrmals ausgeführt wird.
- «Single Source of Truth»: Ein Systemzustand muss ganzheitlich und eindeutig beschrieben sein. Es gilt eine einzige Quelle, die den Gesamtzustand des Systems zusammenfasst.
- Reconciliation: Softwareagenten gleichen den Ist-Zustand des Systems mit dem Soll-Zustand ab. Sobald Abweichungen auftreten, werden passende Aktionen ausgelöst.