Lesezeit: 3 Minuten

CI-Ops vs. GitOps: Vergleich und Auswahl des richtigen Ansatzes


Die kontinuierliche Integration und Auslieferung (Continuous Integration/Continuous Deployment, CI/CD) hat sich in der Softwareentwicklung als unverzichtbarer Bestandteil etabliert. Dabei werden verschiedene Ansätze verwendet, um den Entwicklungsprozess zu automatisieren und effizienter zu gestalten. Zwei populäre Ansätze sind CI-Ops und GitOps. Während CI-Ops traditionell in der Softwareentwicklung eingesetzt wird, hat sich GitOps als bevorzugter Ansatz für die Infrastrukturautomatisierung etabliert. In diesem Blogartikel werden wir die typischen Anwendungsbereiche der beiden Ansätze vergleichen und diskutieren, warum CI/CD auch mit dem GitOps-Ansatz in der Softwareentwicklung möglich ist.

Erfahrungsbericht

In meinen Kundenprojekten konnte ich erfolgreich den GitOps-Ansatz zur automatisierten Einrichtung der Infrastruktur verwenden. Durch die Verwaltung der Infrastrukturkonfiguration als Code in einem Git-Repository war es möglich, effizientere Prozesse und eine robuste Infrastruktur zu schaffen. Die Umstellung auf GitOps führte zu schnelleren Bereitstellungen, hoher Flexibilität und positivem Kundenfeedback.

Gegenüberstellung

CI-Ops konzentriert sich auf die kontinuierliche Integration und den Betrieb. Es automatisiert den Integrationsprozess von Codeänderungen und ermöglicht eine schnelle und effiziente Bereitstellung von Anwendungen. Der Einsatz von Tools wie Jenkins unterstützt die Automatisierung von Build-, Test- und Bereitstellungsprozessen.

GitOps hingegen nutzt das Git-Repository als zentrale Steuerungseinheit für den Bereitstellungsprozess. Mit Tools wie ArgoCD und Tekton ermöglicht GitOps eine deklarative Bereitstellung, bei der der gewünschte Zustand der Infrastruktur im Git-Repository definiert wird. Änderungen im Repository lösen automatisch Bereitstellungsaktionen aus.

Die Gegenüberstellung der beiden Ansätze zeigt Unterschiede und Vorteile:

1. CI-Ops:

  • Fokus auf Integration und Deployment
  • Automatisierung von Build-, Test- und Bereitstellungsprozessen
  • Verbesserte Zusammenarbeit zwischen Entwicklungs- und Betriebsteams
  • Geeignet für Projekte mit häufigen Codeänderungen und Anforderungen an schnelle Bereitstellung

2. GitOps:

  • Verwendung des Git-Repositories als zentrale Steuerungseinheit
  • Deklarative Bereitstellung und automatische Aktualisierung der Infrastruktur
  • Bessere Nachvollziehbarkeit und Konsistenz der Bereitstellung
  • Geeignet für Projekte, die auf stabile und reproduzierbare Infrastruktur setzen
     

Entscheidungsfindung

Die Entscheidung, welcher Ansatz gewählt wird, hängt von den spezifischen Anforderungen und Zielen des Projekts ab.

Für Projekte mit häufigen Codeänderungen und der Notwendigkeit einer schnellen Bereitstellung kann CI-Ops die richtige Wahl sein. Die Automatisierung von Build-, Test- und Bereitstellungsprozessen mit Jenkins ermöglicht eine effiziente Entwicklung und Bereitstellung.

Für Projekte, die auf stabile und reproduzierbare Infrastruktur setzen und eine bessere Nachvollziehbarkeit der Bereitstellung benötigen, ist GitOps mit ArgoCD und Tekton eine gute Option. Die Verwendung des Git-Repositories als Steuerungseinheit bietet eine klare Sicht auf den gewünschten Zustand der Infrastruktur und ermöglicht eine automatische Aktualisierung.

Für Projekte auf der OpenShift-Plattform bietet RedHat Operatoren für Tekton (OpenShift Pipelines) und ArgoCD (OpenShift GitOps) an. Diese installieren Custom Resource Definitions und nach Wunsch sogar vollständige Instanzen auf dem Cluster. Unsere Experten können je nach Projektanforderungen maßgeschneiderte Instanzen auf Ihren Clustern einrichten, unter Berücksichtigung der bewährten Best Practices von RedHat.

Bei neuen Projekten außerhalb des Prototyping-Bereichs ist es ratsam, den GitOps-Ansatz zu bevorzugen, da er eine bessere Transparenz, Nachvollziehbarkeit und Konsistenz bei der Bereitstellung bietet. Durch die Verwendung von Tools wie ArgoCD und Tekton kann von Anfang an eine effektive Pipeline-Orchestrierung und deklarative Bereitstellung implementiert werden.

Insgesamt hängt die Wahl des richtigen Ansatzes von den spezifischen Anforderungen und Präferenzen des Projekts ab. Sowohl CI-Ops als auch GitOps bieten Vorteile in Bezug auf Automatisierung, Zusammenarbeit und Effizienz, und die Entscheidung sollte anhand der Projektanforderungen und -ziele getroffen werden.

Beispiele

Dies sind einfache Beispiele, die den Aufbau der Pipeline-Definitionen in YAML für Jenkins (CI-Ops) und Tekton / ArgoCD (GitOps) zeigen.

In der Jenkins Pipeline werden die Stufen "Build", "Test" und "Deploy" definiert, wobei die Schritte zur Codekompilierung, Tests und Bereitstellung angegeben werden.

Im Gegensatz dazu verwendet die Tekton / ArgoCD Pipeline separate Aufgaben ("git-clone", "build-and-test", "deploy"), die jeweils auf spezifische Task-Definitionen verweisen, um die Schritte des Git-Repository-Clonens, des Build- und Testvorgangs sowie der Bereitstellung durchzuführen.

Abbildung 1: Beispiel für eine Jenkins Pipeline (CI-Ops)

Abbildung 2: Beispiel für eine Tekton Pipeline (GitOps)

In diesem Beispiel wird der Tekton Task "deploy" definiert. Der Task akzeptiert Parameter für die Image-URL, den Artifactory-Benutzernamen und das Artifactory-Passwort.

Der erste Schritt "login-to-artifactory" verwendet das Bild "docker.io/jfrog/jfrog-cli:v1.47.1" und konfiguriert die JFrog CLI mit den angegebenen Artifactory-Zugangsdaten.

Der zweite Schritt "push-to-artifactory" verwendet ebenfalls das Bild "docker.io/jfrog/jfrog-cli:v1.47.1" und verwendet die JFrog CLI, um das Image an die angegebene Image-URL in das Artifactory-Repository hochzuladen.

Der letzte Schritt "argocd-deploy" verwendet das Bild "argoproj/argocd-cli:v2.1.2" und führt den Befehl "argocd app sync my-app" aus, um das Deployment der Anwendung "my-app" über ArgoCD auszulösen.

Abbildung 3: Beispiel für einen Tekton Task um das Image in Artifactory zu pushen und ArgoCD zu triggern (GitOps)

In diesem Beispiel wird das ArgoCD App-Projekt "my-app-project" definiert. Das Projekt definiert die Konfigurationen und Berechtigungen für die Anwendungen, die diesem Projekt zugeordnet sind.

Abbildung 4: Beispiel für ein ArgoCD App Project

Die Application-Definition definiert die Details der Anwendung. Sie gibt den Server-URL von ArgoCD an, den Ziel-Namespace, das Projekt, den Repo-URL und den Pfad zur Anwendung im Repository sowie die Zielrevision. Die syncPolicy ist auf automatisiert eingestellt, was bedeutet, dass das Deployment automatisch durchgeführt wird.

Es ist wichtig anzumerken, dass die genauen Werte und Konfigurationen in den YAML-Dateien je nach den spezifischen Anforderungen und Umgebungen angepasst werden sollten.

Fazit

Die Wahl zwischen GitOps und CI-Ops hängt von den spezifischen Rahmenbedingungen ab. Aus unseren Kundenprojekten haben wir wertvolle Auswahlkriterien und Entscheidungshilfen gewonnen. Es ist wichtig, klare Ziele zu formulieren und das Vorgehen daran auszurichten. Mit einer fundierten Entscheidung und konsequentem Umsetzen steht einer erfolgreichen Auslieferungsstrategie nichts mehr im Weg. Die Automatisierung von CI/CD-Prozessen mit GitOps oder CI-Ops bietet erhebliche Vorteile für die Effizienz und Qualität der Softwareentwicklung. Die richtige Wahl des Ansatzes in Verbindung mit klaren Zielen bildet die Grundlage für erfolgreiche Projekte.

Blogautor

Sebastian Meindorfer
Cloud Engineer ARS Computer und Consulting GmbH
Ihr Erfolg ist unser Ziel

Stehen Sie vor komplexen IT-Projekten? Mit unserer Expertise bieten wir Ihnen maßgeschneiderte Lösungen. Erfahren Sie mehr.

Werde Teil unseres Teams

Wir suchen ständig nach neuen Talenten. Für dich haben wir genau die richtige Stelle. Schau dir unsere offenen Positionen an.

Noch Fragen? Wir helfen Ihnen gerne!

Kompetenz 29.07.21

DevOps und CI / CD

Eine DevOps Einführung gewinnt durch die Begleitung unserer Experten an Fahrt und Focus. Wir nehmen die Initiativen auf und erfassen den Kontext des Unternehmens.

Verschiedene Werkzeuge wie Hammer, Schraubenzieher, etc. auf einem Boden
Wissen

Standardtool vs. Standardplattform

Genau wie in vielen anderen Bereichen auch, bietet die Welt der Optimierung vielfältige Möglichkeiten, sich einer Fragestellung zu nähern. Doch was ist die bessere Wahl - Standardtool oder Standardplattform?

Blog 26.05.23

Bare Metal trifft auf Public Cloud

Mit Bare Metal und Public Cloud bietet die OVHcloud zwei unterschiedliche Ansätze, um IT-Infrastruktur bereitzustellen. Beide stehen für unterschiedliche Vor und Nachteile. Mit Bare Metal mietet ein Kunde einen physische Server und erhält die vollständige Kontrolle über die Hardware, das Betriebssystem, die Netzwerk-Konfiguration und die darauf ausgeführten Anwendungen. Somit kann die IT-Infrastruktur komplett an individuelle Anforderungen angepasst werden. Diese Server sind somit speziell für einen Kunden reserviert und niemand anderes nutzt diese Ressourcen parallel.

Blog 21.04.22

Geschichten vs. Zahlen und Fakten

Man müsse Elon Musk nicht mögen, aber der Tesla-Gründer ist ein Meister der Selbstdarstellung. Er ist ein begnadeter Geschichtenerzähler, das mag bisweilen übertrieben sein, wie er das macht, aber schlussendlich transportiert er seine Geschichte auf eine grandiose Art. Im Marketing könne dieses Visionary Storytelling entscheidend für den Erfolg eines Unternehmens sein. Schön und gut, wenn Menschen mit einer neuen Idee kommen, wenn sie diese aber mit einer Geschichte untermalen können, umso besser.

CLOUDPILOTS, Google Workspace, G Suite, Google Cloud, GCP, MeisterTask, MindMeister, Freshworks, Freshdesk, Freshsales, Freshservice, Looker, VMware Engine
Blog 16.06.20

Wert vs. Kosten - ein Balanceakt

Mehr aus den eigenen Cloud Ressourcen zu holen führt dazu, dass mehr Kunden bedient, mehr Probleme gelöst und die Flexibilität gesteigert wird.

CLOUDPILOTS, Google Workspace, G Suite, Google Cloud, GCP, MeisterTask, MindMeister, Freshworks, Freshdesk, Freshsales, Freshservice, Looker, VMware Engine
Blog 14.10.20

Google Chat vs. Slack

Ein Vergleich der Giganten. Welche Unterschiede, welche Gemeinsamkeiten lassen sich herauskristallisieren und gibt es eine eindeutig bessere Wahl zwischen Slack und Google Chat?

CLOUDPILOTS, Google Workspace, G Suite, Google Cloud, GCP, MeisterTask, MindMeister, Freshworks, Freshdesk, Freshsales, Freshservice, Looker, VMware Engine
Blog

Microsoft 365 vs Google Workspace

Google Workspace als auch Microsoft 365 sind zwei unglaublich leistungsstarke Produkte. Ein Unternehmen braucht ein zentrales Produkt, mit dem alle Mitarbeiter gemeinsam zusammenarbeiten.

Blog 05.10.23

AWS Lambda vs. AWS Fargate

Entdecken Sie die Unterschiede zwischen Serverless-Technologie und Container-Technologie und erfahren Sie, wie AWS Lambda und AWS Fargate von Amazon Web Services diese Ansätze unterstützen. Erfahren Sie, welche Technologie am besten zu Ihren Anforderungen für Anwendungsbereitstellung und -verwaltung passt.

Blog 27.04.23

Datensouveränität vs. Cloud für deine E-Commerce-Strategie

Heute spreche ich mit Marc Achsnich, unserem Teameiter von Managed Services & Software Development, über das durchaus aktuelle und unumgängliche Thema Datensouveränität. Wir besprechen, welche Probleme amerikanische Anbieter mit sich bringen, warum unsere Entscheidung auf die OVH Cloud fiel, und welche Komponenten dabei beachtet werden sollen. Auch die entsprechenden Kosten europäischer Alternativen werden ausführlich besprochen. Du kannst mehr in der neuen Folge erfahren.

Blog 02.03.23

Enterprise Architecture vs. DevOps und agiles Mindset

Über die Rolle von Enterprise-Architekten in Unternehmen, wie sie moderne Softwareentwicklung beeinflussen und Kompetenzbereiche in IT-Abteilungen.

Blog

Live Share für die reibungslose Kommunikation in VS Code

Mit der Microsoft Extension Live Share habt ihr die Möglichkeit, gemeinsam mit eurem Team in Visual Studio Code am selben Code zu arbeiten, euch via Chat oder Audio auszutauschen oder Kollegen euren Server zur Verfügung zu stellen.

Teaserbild zu OCR vs IDP (Intelligent Document Processing)
Wissen 07.03.23

OCR vs IDP: Vorteile von Intelligent Document Processing

Intelligent Document Processing“ heißt ein neuer Ansatz in der IT. Er erlaubt die automatisierte Datenerfassung aus Geschäftsdokumenten.

Boxhandschuhe als Symbol für Entscheidung zwischen Data Lake und Data Warehouse
Blog 15.02.22

Data Lake vs Data Warehouse: Welche Lösung ist die Richtige?

Geht es um die Speicherung großer Datenmengen, kommt man um die Begriffe Data Lake und Data Warehouse kaum herum. Vielen Unternehmen stellt sich früher oder später die Frage, welche der beiden Lösungen für welchen Anwendungsfall geeignet ist.

Blog 14.04.25

Vergleich von S/4HANA Cloud vs. SAP ByDesign

Dieser Vergleich untersucht die wichtigsten Funktionen, Unterschiede und Vorteile von S/4HANA Cloud Public Edition und SAP Business ByDesign, um festzustellen, welche Lösung am besten passt.

Blog 07.09.23

Platform as a Service vs. Infrastructure as a Service

Die Cloud-Transformation stellt Sie vor die Frage: Platform as a Service oder Infrastructure as a Service? Beitrag über Vor- und Nachteile von PaaS und IaaS.

Blog 14.04.25

OVHcloud vs. AWS – Wer bietet die bessere Leistung pro Euro?

In diesem Beitrag vergleichen wir die Block Storage-Angebote von OVHcloud und AWS auf Basis aktueller Benchmark-Daten und technischer Spezifikationen.

Event 06.05.20

Webcast: Versicherung und Data Science

Marc Bastian zeigt Ihnen ein Beispiel einer analytischen Infrastruktur für KI Anwendungsfälle, praktische Projekterfahrung und Erfolgsfaktoren.

Event

Webcast: Cloud Transformation & "run your App"

Lernen Sie mit Jochen Schneider die Cloud 1.0 (Cloud 1.0 (Lift&Shift), Cloud 2.0 (Microservices, Big Data) und Cloud 3.0 (Multi Cloud Management, Big Compute) kennen.

Event

Webcast: Das kognitive Versicherungsunternehmen

Lernen Sie von Dr. Jürgen Huschens das Konzept des Kognitive Enterprise kennen, die Adaption auf die Versicherungsindustrie und vieles mehr.

Event

Webcast: Smarte Erkennung von Kostennoten

Unsere Speaker Madeline Jolk und Frank Trila von der TIMETOACT berichten Ihnen alles rund um das Thema Erkennung von Kostennoten.

Bleiben Sie mit dem TIMETOACT GROUP Newsletter auf dem Laufenden!