Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Beitrag drucken

CI und Deployment trennen

Software sicher mit GitOps verteilt

Effizienz und Cybersicherheit sind zwei wichtige Aspekte in der Softwareentwicklung. GitOps ist ein Ansatz, um beides zu verbessern. Zugleich wird die Handlungsfähigkeit von Entwicklungsteams gesteigert.

Abbildung 1: Klassische CD-Pipeline (CIOps) (Bild: Cloudogu GmbH)

Abbildung 1: Klassische CD-Pipeline (CIOps) (Bild: Cloudogu GmbH)

Im ‚2020 CIO Survey – Industrial Manufacturing Industry Insights‘ haben 65 Prozent der IT-Führungskräfte in der Fertigungsindustrie angegeben, dass die betriebliche Effizienz die wichtigste Leistung ist, die von ihren Abteilungen erwartet wird. Außerdem haben 50 Prozent der Unternehmen angegeben, dass Cyber-Security ihre Top-Investition sei. Ein Grund dafür ist die gewachsene Angriffsfläche durch vermehrtes Homeoffice, ein anderer sind die Auswirkungen eines Produktionsausfalls durch Cyberattacken. Beide Herausforderungen lassen sich durch das GitOps-Konzept adressieren. Der Ansatz ist im DevOps-Umfeld entstanden und kann sowohl in Verbindung mit DevOps als auch eigenständig eingesetzt werden. Entwicklungsteams erhalten damit Werkzeuge, um den Betrieb von Softwareanwendungen eigenständig zu übernehmen und die Effizienz zu steigern. Die Sicherheit der Infrastruktur wird durch eine Richtungsumkehr des Deployments vom Push zum Pull-Prinzip erreicht.

Das klassische Vorgehen

GitOps lässt sich im Vergleich zu CI/CD-Pipelines gut beschreiben, hier kurz CIOps. Die erste Abbildung zeigt eine vereinfachte CIOps-Pipeline: Klassischerweise wird dabei ein CI-Server über Änderungen an einem Repository informiert. Er führt daraufhin einen Build durch und deployt anschließend die geänderte Anwendung auf einen Server (Push-Prinzip). In der Praxis ist eine CIOps-Pipeline in eine Staging- und Produktionsumgebung aufgeteilt, bei denen die Automatisierung des Deployments durch die Verwendung von Branches in der Versionsverwaltung, etwa Git, umgesetzt werden kann. Nachteil an diesem Vorgehen: Der Prozess ist langsam, da für jedes Deployment ein Build im CI-Server durchlaufen werden muss. Eigentlich ist aber gar kein neuer Build notwendig, da das gleiche Artefakt auf allen Stages ausgeliefert werden könnte. Außerdem benötigt der CI-Server Zugriff auf die Betriebsumgebung, was in Bezug auf die Sicherheit nachteilig ist.

Wie GitOps funktioniert

Im Gegensatz zu CIOps werden mit GitOps Änderungen nach dem Pull-Prinzip in die Produktion überführt. So wird die kontinuierliche Integration (CI) einer Anwendung vom eigentlichen Deployment-Prozess getrennt. Das heißt, der CI-Server übernimmt nicht mehr das Deployment, sondern führt nur noch Build und Tests durch und schiebt Artefakte, etwa Docker Images, in eine Registry. Die zweite Abbildung zeigt, wie eine GitOps-Pipeline aussehen kann. GitOps verbessert so zum einen die Sicherheit, da kein schreibender Zugriff durch den CI-Server von außerhalb des Clusters notwendig ist. Zum Anderen ist es effizienter, da eine Anwendung nur einmal gebaut werden muss und das Artefakt anschließend in unterschiedlichen Umgebungen deployt werden kann. Ein weiterer Unterschied zu CIOps ist, dass mit GitOps der Sollzustand einer Umgebung beschrieben wird und spezielle Tools kontinuierlich einen Soll-/Ist-Abgleich durchführen. Abweichungen und Fehler werden so automatisiert erkannt und korrigiert. Diese Tools werden als Operatoren oder auch Custom Controller bezeichnet. Die Abstimmungsschleife zwischen Soll- und Ist-Zustand wird als Reconciliation Loop bezeichnet.

Abbildung 2 zeigt das Deployment mit App-Repository und GitOps-Repository. (Bild: Cloudogu GmbH)

Abbildung 2 zeigt das Deployment mit App-Repository und GitOps-Repository. (Bild: Cloudogu GmbH)

Nützliche Effekte

Der GitOps-Ansatz bringt mehrere Vorteile: Wie schon erwähnt wird die Sicherheit verbessert, da der GitOps-Operator Deployments durchführen kann und sich dieser innerhalb des Clusters befindet. So wird kein Zugriff von außen mehr auf den Cluster benötigt. Darüber hinaus ist der Zugriff auf Git oft einfacher zu organisieren als auf einen API-Server. Nicht nur, dass gegebenenfalls eine Firewall-Freischaltung entfällt, auch die Entwicklungsteams sind mit Git vertraut. GitOps ist im Umfeld von Kubernetes (k8s) entstanden. Nutzt ein Unternehmen kein Kubernetes, ermöglichen Tools die Anwendung von GitOps dennoch. Der zentrale Bestandteil in GitOps ist die vollständige deklarative Beschreibung des Zustands in Git. Dadurch ist ein anderes Vorgehen gefragt als in klassischen CIOps-Pipelines. So müssen jeweils passende Operatoren benutzt werden, die den Kubernetes API-Server um sogenannte Custom Resource Definitions (CRDs) erweitern und Custom Resources (CRs) bereitstellen. Anwendungsfälle mit speziellen Operatoren sind etwa der Einsatz von Templating-Werkzeugen wie Helm oder Kustomize, die Ver- und Entschlüsselung von Secrets, da diese mit GitOps in Git gespeichert werden müssen, sowie die Realisierung von Deployment-Strategien wie Canary Releases, A/B-Tests und Blue/Green Deployments.

GitOps ausprobieren

Mit seinen vielen Operatoren könnte sich die GitOps-Methode zunächst nur schwer nachvollziehen lassen. Ein Umsetzungsbeispiel bietet der Open Source GitOps Playground. Das Repository beinhaltet eine reproduzierbare GitOps-Infrastruktur mit Kubernetes Cluster, CI-Server (Jenkins), Source Code Management (SCM-Manager) und unterschiedlichen GitOps-Operatoren (Flux und ArgoCD), auf der die Komponenten bereits mit Beispielapplikationen vorkonfiguriert sind. Außerdem zeigt der GitOps Playground eine Umsetzung von Monitoring und Alerting mit Grafana und Prometheus.


Das könnte Sie auch interessieren:

Die Industrial Digital Twin Association hat mit PTC ein neues Mitglied. Gestartet mit 23 Organisationen, umfasst die Initiative nun 94 Mitglieder.‣ weiterlesen

Industrielle Montagelinien sind vielfältig: Einige arbeiten mit häufig wechselnden Produktaufbauten, während sich andere durch komplexe Prozesse und hohen Abstimmungsbedarf zwischen Werker und weiteren Experten auszeichnen. Das Fraunhofer IGD will Anwender mit einer Kombination aus Augmented Reality (AR) und künstlicher Intelligenz (KI) unterstützen.‣ weiterlesen

Rund 1 Million Industrieroboter werden allein im Automotive-Bereich eingesetzt. Laut der International Federation of Robotics ein Rekordwert. Das größte Wachstum beobachtet der Robotik-Verband derzeit in China.‣ weiterlesen

Firewalls gehören in Unternehmen zu den wichtigsten Sicherheitskomponenten, um das Netzwerk vor Angriffen zu schützen. Mehr noch, im integrierten und vernetzen Zusammenspiel mit weiteren Security-Lösungen, beispielsweise für die Endpoint-, Mobile- oder Cloud-Security und mit den immer wichtigeren Security-Services durch menschliche Experten, fügt sich die Firewall in ein ganzheitliches Security-Ökosystem ein, das alle IT-Bereiche im Unternehmen bestmöglich vor Angriffen und vor Schäden bewahren kann.‣ weiterlesen

Die Anforderungen an die Cybersecurity von überwachungsbedürften Anlagen werden deutlich konkretisiert. Betreiber müssen mögliche Gefährdungen ihrer Anlagen durch Cyberangriffe ermitteln und wirksame Gegenmaßnahmen entwickeln. Die zugelassenen Überwachungsstellen (ZÜS) werden zukünftig überprüfen, ob Cyberbedrohungen im Zusammenhang mit dem sicheren Betrieb der Anlagen ausreichend behandelt wurden.‣ weiterlesen

Mit dem Start der Anmeldung öffnet das Bundesamt für Sicherheit in der Informationstechnik (BSI) die digitalen Pforten für den 19. Deutschen IT-Sicherheitskongress. Am 10. und 11. Mai 2023 findet der Kongress unter dem Motto 'Digital sicher in eine nachhaltige Zukunft' digital statt.‣ weiterlesen

Die längst verstaubt geglaubte Masche des 'Ich lasse mal einen USB-Stick mit Schadsoftware auf Parkplätzen zum Mitnehmen herumliegen' wurde doch tatsächlich noch einmal aus der Cybercrime-Kiste geholt.‣ weiterlesen

Sonicwall hat den Sonicwall Cyber Threat Report 2023 veröffentlicht. Dieser zweimal jährlich erscheinende Bericht gibt Einblicke in eine zunehmend diversifizierte Cyberbedrohungslandschaft und die sich verändernden Strategien der Bedrohungsakteure.‣ weiterlesen

Smart Factories bieten eine breite Angriffsfläche für Cyberattacken. Deshalb sichert die Freie Universität Bozen ihre 'Smart Mini Factory', eine Lernfabrik für Industrie-4.0-Technologien, mit der Endian Secure Digital Platform. Neben umfassender IT-Sicherheit ermöglicht die Plattform die Nutzung von Edge Computing und das Management von Rollen und Rechten.‣ weiterlesen