Automatisierte, Tool-gesteuerte Deployments GitOps hilft DevOps-Strategien auf die Sprünge

Quelle: Pressemitteilung

Richtig effektiv wird eine DevOps-Strategie erst durch automatisierte Deployments, wie sie beim GitOps-Ansatz zur Anwendung kommen. IT-Dienstleister Consol zeigt die Vorteile und skizziert einen typischen GitOps-Workflow.

Firma zum Thema

Ein GitOps-Workflow bietet mehrere Vorteile, wie beispielsweise die Konzeption stabilerer und zuverlässigerer Systeme.
Ein GitOps-Workflow bietet mehrere Vorteile, wie beispielsweise die Konzeption stabilerer und zuverlässigerer Systeme.
(Bild: Consol)

Durch die Speicherung von Infrastruktur-Code in Git-Repositories wird bei der GitOps-Implementierung der Zielzustand eines Systems definiert. GitOps-Tools synchronisieren diesen Zustand stets zwischen Git-Repository und Zielsystem – etwa durch automatisierte Deployments nach Änderungen am Infrastruktur-Code.

Wesentliche Schritte in der Softwareentwicklung und -bereitstellung werden dadurch automatisiert. Vor Kurzem hat die GitOps Working Group, ein Projekt der CNCF (Cloud Native Computing Foundation) die konkreten Anforderungen für die GitOps-Nutzung spezifiziert. Zwei Punkte sind dabei besonders wichtig.

  • Die Zielplattform muss deklarativ konfiguriert und verwaltet werden können. Daher wird GitOps vor allem als Betriebsmodell bei Kubernetes genutzt, der derzeit populärsten deklarativen Plattform.
  • Es ist erforderlich, den gewünschten System- beziehungsweise Softwarezustand unveränderlich und versioniert mit Versionshistorie zu speichern.

Sind diese Voraussetzungen erfüllt, kann ein typischer GitOps-Workflow nach Consol folgendermaßen aussehen:

  • 1. Überführung von Anwendungsänderungen in einen speziellen Git-Branch und Erzeugung eines Pull-Requests
  • 2. Überprüfung und Genehmigung des Pull-Requests durch eine weitere Person
  • 3. Bau der Applikation und automatisiertes Testen der Änderungen
  • 4. Überführung des Container-Images in die Image-Registry (bei erfolgreichen Tests)
  • 5. Übertragung der Container-Image-Referenz in das Kubernetes-Deployment-Manifest und Aktualisierung des Manifests in Git
  • 6. Kontinuierliches Abrufen des Inhalts des Manifest-Repositories durch die GitOps-Anwendung und Überprüfen der Manifeste auf Änderungen
  • 7. Abfrage des aktualisierten Container-Images aus der Image-Registry
  • 8. Überführung der aktualisierten Manifeste und des Container-Images durch den GitOps-Prozess in das Zielsystem.

Ein solcher GitOps-Workflow bietet mehrere Vorteile. Dazu gehören die Erhöhung der Produktivität und Geschwindigkeit von Entwicklungen und Deployments sowie die Konzeption stabilerer und zuverlässigerer Systeme. Von Nutzen für das Operations-Team ist auch, dass alle Änderungen an den Zielsystemen nachvollziehbar sind und manuelle Eingriffe unterbunden werden können.

Darüber hinaus vereinfacht GitOps auch ein Rollback, also das Zurücksetzen einer Umgebung auf einen früheren Zustand. Nicht zuletzt ist ein Unternehmen beim Einsatz von GitOps für den Continuous-Deployment-Prozess auch frei in der Wahl einer Continuous-Integration-Applikation.

DevOps fokussiert den kulturellen Wandel und die enge Zusammenarbeit von Entwicklung und IT-Betrieb, erklärt Sebastian Tiggelkamp, DevOps Engineer bei Consol. „Mit GitOps können Unternehmen hier noch einen Schritt weitergehen und Tools nutzen, die die Umsetzung der DevOps-Ziele entscheidend unterstützen – gerade im Hinblick auf eine effiziente und schnelle Entwicklung und Bereitstellung von Softwareprodukten.“

(ID:47903955)