GitOps

Die Bedeutung von GitOps: Die Umstellung auf Cloud-native Ansätze

Durch die Integration von GitOps-Prozessen, -Praktiken und -Tools schaffen Sie eine solide Grundlage für Ihre Cloud-nativen Anwendungen.

Meine Organisation integriert immer mehr Cloud-native Ansätze. Was für eine Welt wartet auf mein Team? Denken Sie nicht an virtuelle Maschinen, Data Warehouses, Wasserfall-Methoden oder Migrationen. Ihr Team steuert eher auf eine Welt mit Containern, Serverless-Methoden, Data Lakes, Agile und Automation zu.

Organisationen zielen mit dem Cloud-nativen Ansatz darauf ab, eine intelligentere, schnellere und skalierbarere Arbeitsweise einzuführen. Die Arbeit in der Cloud soll es nicht nur ermöglichen, geschäftliche Herausforderungen zu lösen, sondern Kunden auch mit einem umfangreicheren Toolset besser zu bedienen.

Der Bereich der Cloud-nativen Anwendungsentwicklung konnte sich dank DevOps stark weiterentwickeln. Bei der Infrastruktur sieht es aber anders aus; hier herrscht Stagnation. Viele Infrastrukturteams arbeiten noch mit veralteten manuellen Servicemodellen, Frameworks und Prozessen.

Hier kommt GitOps ins Spiel. Mit GitOps können Sie eine Cloud-native Denkweise auf Ihre Infrastruktur anwenden, um eine elastische Umgebung zu schaffen, die kontinuierliche Bereitstellungen unterstützt und gleichzeitig Zuverlässigkeit und Sicherheit gewährleistet.

Was kann GitOps?

1. Code-basiert

Werkzeuge wie Kustomize, Helm, Terraform und Ansible erlauben es Ihnen, Dienste und Plattformen über Konfigurationssprachen zu deklarieren (definieren). Ihr Vorlagenspeicher und Ihre Manifeste werden in einem Quellenkontrollsystem von Git gespeichert, damit die gesamte Verwaltung Ihrer DevOps- oder SRE-Teams über Ihr eigenes Git läuft.

2. Leitplanken

Wenn Sie alle Dienste/Plattformen mit Quellenkontrolle deklarieren, können Sie rollenbasierte Zugangskontrollen (RBAC) sowie Prüfbarkeit und Protokollierung durchsetzen, um die Sicherheitsanforderungen zu erfüllen. Auch die Integration Ihrer Service- oder Plattformspeicher in CI/CD-Tools ermöglicht die Implementierung durch Pull-, Push- oder Merge-Anfragen und schnelle Wiederherstellungszeiten, wenn ein Rollback erforderlich ist.

3. Drift erkennen und verwalten

Durch die Integration von Infrastruktur-Tools wie Kubernetes Operator in den GitOps-Prozess können Sie den aktuellen Status Ihrer Dienste/Plattformen überwachen und sicherstellen, dass bei Auftreten von Drift der gewünschten Zustand wiederhergestellt wird. Dadurch bleiben Ihre Dienste/Plattformen immer auf das Repository ausgerichtet.

4. Automatisierte Bereitstellung mit kontinuierlicher Integration

Das Repository für Ihre Anwendung kann entweder einem Push- oder Pull-Bereitstellungsmodell folgen. Beim Pull-Modell lässt sich ein Infrastruktur-Tool wie Kubernetes Operator integrieren, um nach Änderungen im Anwendungs-, Dienst- oder Plattform-Repository zu suchen. Wenn Änderungen erkannt werden, werden Sie vom Tool implementiert.

Beim Push-Modell „schieben“ Entwickler den Code zum Umgebungsspeicher, der den Code entweder für den Dienst oder die Plattform hostet. Dadurch wird dann eine Build- oder Änderungsantwort in der Umgebung mit Werkzeugen wie Kubernetes Operator oder anderen Infrastruktur-Tools ausgelöst.

Die Vorteile von GitOps

1. Verbessertes Kundenerlebnis

GitOps-Verfahren, -Prozesse und -Tools können die Implementierung neuer Features und Produkte beschleunigen. Wenn Sie schneller bereitstellen, können Sie auch schneller auf Kundenfeedback reagieren und dieses umsetzen, was die Kundenzufriedenheit erhöht.

2. Zuverlässigkeit

Da Ihre Dienste und Plattformen durch Code definiert sind, können Sie Code-Testing in Ihre CI/CD-Pipelines integrieren. Durch diese Integration können Sie Genehmigungs-, Test- und Rollback-Prozesse für Änderungen aktivieren. Dies kann die Zuverlässigkeit insgesamt verbessern und die Wiederherstellungszeit Ihrer Anwendungen bei der Bereitstellung von Änderungen verkürzen.

3. Einheitlichkeit

Über GitOps-Prozesse, -Praktiken und -Werkzeuge wird Ihr End-to-End-Prozess für die Bereitstellung oder Änderung von Diensten und Plattformen standardisiert und vereinheitlicht. Und da die Dienst- oder Plattform-Konfiguration über den Code verwaltet wird, kann Ihr Entwickler auf die Repository-Protokolle zugreifen und die aktuellen und vergangenen Statuseinträge prüfen.

4. Sicherheit

Mithilfe von GitOps können Sie Ihre SOC-2-Compliance-Anforderungen erfüllen. Die Implementierung und Änderungen werden über das Git-Protokoll nachverfolgt, wodurch ein Audit-Trail entsteht, der zeigt, wer wann was getan hat. Darüber hinaus können Sie die Angriffsfläche für Ihre Dienste und Plattformen verringern. Verschlüsselungs- und Genehmigungsprozesse werden durchgesetzt und rollenbasierte Zugangskontrollen über Repositories hinweg implementiert, was die Sicherheit erhöht.

Ein solides Fundament aufbauen

Durch die Integration von GitOps-Prozessen, -Praktiken und -Tools schaffen Sie eine solide Grundlage für Ihre Cloud-nativen Anwendungen. GitOps trägt dazu bei, dass Sie kontrolliert auf Cloud-native Architekturen umsteigen und neue Funktionen weiterhin schneller bereitstellen können, ohne die Zuverlässigkeit Ihrer Anwendungen aufs Spiel zu setzen.

 

Join the Conversation: Find Solve on Twitter and LinkedIn, or follow along via RSS.

Stay on top of what's next in technology

Learn about tech trends, innovations and how technologists are working today.

Subscribe

cloud journey

DevOps in einer Cloud-nativen Welt: Zwei der wichtigsten Tech-Begriffe prallen aufeinander

About the Authors

Oliver Fletcher

Lead Cloud Architect, Elastic Engineering

Oliver Fletcher

Oliver has been working with a great team at Rackspace Technology to help build out the Elastic Engineering capability across APJ. Oliver has worn many hats during this time of growth, which has included pre-sales, leadership, architecture and engineering. For the last 8 years, Oliver has spent time helping organizations on their journey to the cloud. This included working with top-tier financial services and telecommunications organizations to define their cloud strategies, and also designing and delivering complex architectures across multiple public and private cloud platforms. Prior to Rackspace Technology Oliver led strategy, delivery and operations teams at both Accenture and EY. Having come from a development and operations background, Oliver understands the importance of building resilient distributed systems that not only deliver business outcomes but allow engineers to sleep at night.

Read more about Oliver Fletcher