Referenz

VYDA GmbH

Informationstechnologie

Person maintaining servers

Langjähriger Kunde

VYDA, ehemals Eucon Digital, ist Anbieter für datenbasierte Prozessautomatisierung in der Versicherungs- und Immobilienwirtschaft. Wir beraten und begleiten VYDA seit vielen Jahren bei Architektur, IT-Betrieb und der Weiterentwicklung der IT-Infrastruktur.

GitOps mit FluxCD

Zentraler Bestandteil unserer Zusammenarbeit war die Einführung von FluxCD als GitOps-Werkzeug. Ziel war es, Service Releases und Deployments im Kubernetes-Cluster automatisiert und reproduzierbar bereitzustellen. Ergänzend dazu haben wir Jenkins zu GitLab CI migriert, um die Release-Erstellung in einer gemeinsamen Umgebung zu vereinheitlichen.

5
Monate Projektlaufzeit
100+
Repositories angepasst
7
Cluster zentral konfiguriert
100%
GitOps & Compliance-getrieben

Projekt

Einführung von FluxCD als GitOps-Werkzeug

Im Mittelpunkt der folgenden Ausführungen steht die Einführung von FluxCD. Wir haben die Konzeption, Planung und Umsetzung des gesamten Projekts übernommen. Die einzelnen Schritte wurden gemeinsam mit dem Team von VYDA abgestimmt und vorbereitet, damit der Betrieb während der Einführung stabil weiterlaufen konnte.

Ausgangssituation

Vor der Einführung von FluxCD nutzte VYDA ein Kubernetes-Cluster mit Anwendungen, die als Helm Charts bereitgestellt wurden. Deployments erfolgten über eine Jenkins-CI-Pipeline, die Änderungen direkt im Cluster umsetzte. Die Helm Charts verwaltete VYDA über ein Git-Repository, manuelle Änderungen im Cluster blieben jedoch unbemerkt. Dadurch bestand das Risiko eines Configuration Drifts. Bei einer Beschädigung des Clusters war eine Wiederherstellung nur eingeschränkt möglich.

Zusätzlich haben wir SOPS zur Verwaltung sensibler Daten wie API-Keys und Passwörtern eingeführt. Damit werden diese GitOps-konform verschlüsselt im Git-Repository abgelegt.

Herausforderungen

Die Einführung von FluxCD erforderte eine Migration der bestehenden Konfiguration auf eine neue Struktur. Ziel war es, mehrere Kubernetes-Cluster parallel über ein gemeinsames Git-Repository verwalten zu können. Darüber hinaus sollte das bisherige Deployment von einem Push-Ansatz über die CI-Pipeline auf einen Pull-Ansatz mit FluxCD umgestellt werden. Dafür musste die CI-Pipeline in mehreren hundert Repositories angepasst werden. Um Fehler zu vermeiden und den fortlaufenden Betrieb sicherzustellen, haben wir die Anpassungen automatisiert umgesetzt.

Parallel zur Einführung von FluxCD wurde das Continuous Integration System von Jenkins zu GitLab CI migriert. Während der Umstellung musste der Betrieb stabil und ohne Unterbrechungen weiterlaufen.

Meilensteine

  1. Entwicklung einer Konfigurationsstruktur, die mehrere Kubernetes-Cluster mit zahlreichen Helm Charts und weiteren Kubernetes-Konfigurationen in einem gemeinsamen Git-Repository unterstützt.
  2. Entwicklung zentraler GitLab-CI-Pipeline-Templates für den Container-Bau und zur Aktualisierung der Container-Tags im Git-Repository der Cluster-Konfiguration.
  3. Migration aller Jenkins-Pipelines nach GitLab CI.
  4. Abschaltung von Jenkins.
  5. Rollout von FluxCD im bestehenden Cluster und Übernahme der bestehenden Kubernetes-Konfigurationen durch FluxCD.

Technologien

Wir haben uns für FluxCD als GitOps-Werkzeug entschieden, da es mit geringem Ressourcenbedarf einen hohen Funktionsumfang bietet:

  • Native Unterstützung von Helm Charts.
  • Pull-Prinzip reduziert die Angriffsfläche der CI-Pipeline.
  • Zuverlässiger Synchronisationsmechanismus.
  • Automatisches Löschen nicht mehr benötigter Ressourcen.
  • Integration von SOPS zur Verschlüsselung sensibler Konfigurationsdaten.

Alle eingesetzten Technologien stehen unter Open-Source-Lizenzen. So bleibt der Betrieb einerseits kostengünstig, andererseits lassen sich Fehler bis ins Detail nachvollziehen. Im Fall von FluxCD haben wir Probleme direkt an das Projekt zurückgemeldet und gemeinsam mit der Community behoben.

Das Ergebnis

Stabil im Betrieb, automatisiert und reproduzierbar

Für die Anpassung von mehreren hundert Repositories haben wir umfangreiche Automatisierungen entwickelt. Dadurch konnten die notwendigen Änderungen vorbereitet, Ergebnisse geprüft und Grenzfälle gezielt manuell gelöst werden.

Die Umstellung auf FluxCD verlief reibungslos. Die neue Konfigurationsstruktur hat sich bewährt und verwaltet heute sieben Cluster mit rund 100 Anwendungen stabil im Betrieb.

Konfigurationen werden clusterübergreifend genutzt. Das erleichtert den Aufwand für Pflege und Patch-Management deutlich.

Ein Cluster wurde nach der FluxCD-Migration auf eine neue Cloud-Infrastruktur umgezogen. Dies gelang reibungslos, da die gesamte Cluster-Konfiguration aus dem Git-Repository übernommen werden konnte.

Die gesamte Cluster-Konfiguration wird bei jeder Anpassung automatisiert validiert. Zusätzlich haben wir weitere Kubernetes-Compliance-Werkzeuge wie Kubescape integriert.

Durch klare Dokumentation und standardisierte Abläufe kann parallel an den Cluster-Systemen gearbeitet werden. Alle Konfigurationen werden im Git-Repository gepflegt und bleiben dadurch nachvollziehbar und reproduzierbar. Anpassungen werden über Pull-Requests vorbereitet und vor dem Rollout geprüft.

" Die Zusammenarbeit mit identinet GmbH hat unsere Infrastruktur und Entwicklungsprozesse transformiert. Von der Implementierung von GitOps mittels FluxCD bis zur Migration von Jenkins zu GitLab CI haben sie unsere gesamte DevOps-Pipeline modernisiert. Ihre Expertise bei der Automatisierung komplexer Microservice-Deployments und beim Aufbau unserer OpenTelemetry-basierten Monitoring-Infrastruktur war von unschätzbarem Wert. Über die technische Umsetzung hinaus hat ihre Beratung Innovation in unseren Betriebsabläufen vorangetrieben. Ein vertrauenswürdiger und verlässlicher Partner für kritische Infrastrukturen. "


VYDA GmbH

Max Reichert

Head of Software Development @VYDA GmbH

Zusammenfassung

Nachhaltigkeit und Befähigung

Das Ziel, Service Releases und Deployments zu verbessern, wurde erreicht. Auf Basis von FluxCD und GitLab CI werden heute die sieben Umgebungen betrieben - ein gemeinsam genutztes Infrastruktur-Cluster, sowie Development-, Staging- und Production-Cluster in zwei Business Units.

Im weiteren Verlauf der Zusammenarbeit mit VYDA entstanden Projekte, die zum Beispiel die Informationssicherheit stärken, die Konfigurationsverwaltung automatisieren und Probleme in der Betriebsinfrastruktur erkennen. So wurden unter anderem ein zentrales Backup-System sowie ein Cluster zur Zentralisierung des Betriebs von Infrastrukturdiensten eingeführt. Darüber hinaus haben wir eine zentrale Monitoring-Plattform auf Basis des Grafana-Stacks konzipiert und implementiert.

Heute

Zusammen mit dem Team von VYDA arbeiten wir bis heute gemeinsam an der Weiterentwicklung und Wartung der Infrastruktur. Unsere Dokumentationen unterstützen sowohl die Teams, die die Cluster betreuen, als auch die Entwickler, die ihre Anwendungen über Helm Charts bereitstellen.

Erstgespräch vereinbaren

IT-Infrastruktur und IT-Services zukunftssicher aufstellen