Aufbau eines Self-Services Portals für Entwickler-Teams auf Kubernetes Basis

Success Story

adorsys GmbH & Co. KG

adorsys GmbH & Co. KG, ist ein führender Dienstleister für Software-Entwicklung und Digitale Transformation in der Finanzbranche. Mit einem starken Fokus auf Open Banking, Instant Payment und AI optimiert adorsys Prozesse, gestaltet sie kostengünstiger und sicherer. Das Unternehmen zeichnet sich durch seine qualitativ hochwertigen Softwarelösungen und seine enge Zusammenarbeit mit Kunden aus. adorsys bietet ein breites Spektrum an Dienstleistungen, von der Beratung über die Entwicklung bis hin zum Betrieb von IT-Systemen.

Die Herausforderung

Adorsys entwickelt in mehreren Entwicklungs-Teams Individual-Software für ihre Kunden.

Jedes Team entwickelt Software auf einer projektbezogenen, individuellen Entwicklungsumgebung, welche von Kunde zu Kunde unterschiedlich ist.
Die gemeinsame Basis bildet die Container-Technologie (Kubernetes). Hinsichtlich der weiteren technischen Umsetzung hat jedes Team sehr individuelle funktionale und nicht-funktionale Anforderungen an seine Umgebung:

Funktionale Anforderungen:

  • Entwicklungswerkzeuge (IDEs, Profiler, unterschiedliche Programmiersprachen)
  • Versionskontrolle (unterschiedliche Versionskontrollsysteme, Branching & Merging-Strategien)
  • Automatisierte Deployments mit Hilfe von CI/CD Pipelines
  • Datenmanagement (Persistente Speicher, Caches, Datenbanken)
  • Netzwerkmanagement (Service-Discovery und Load-Balancing)
  • Logging und Monitoring (individuelle Dashboards)

Nicht-funktionale Anforderungen:

  • Performance (Schnelle Bereitstellung, Skalierung, effiziente Ressourcen-Nutzung)
  • Sicherheit (Einschränkung von externem Zugriff, Verschlüsselung)
  • Skalierbarkeit (Horizontale und vertikale Skalierung von Anwendungen)
  • Compliance (Einhalten von kundenspezifischen Regularien, bspw. BAIT, VAIT, MaRisk)
  • Mandantenfähigkeit (Strikte Trennung von kundenbezogenen Daten & Anwendungen)

Multi-Cloud:

Unterschiedliche Kundenprojekte erfordern Kubernetes Cluster auf unterschiedlichen Ziel-Plattformen (VMWare, Public-Cloud)

Automatisierung & Standardisierung:

Vordefinierte Stacks müssen pro Kundenprojekt automatisiert ausgebracht werden können

Monitoring & Alerting:

Jede Umgebung sollte automatisch überwacht werden, Metriken müssen für Entwickler zugängig sein

Die Lösung

Um die ambitionierten Ziele zu erreichen, starteten wir mit dem Kunden einen gemeinsamen Anforderungsworkshop. Konkrete technische und organisatorische Erwartungshaltungen und Anforderungen wurden identifiziert und dokumentiert, sodaß unsere Cloud Architekten sich im Erstgespräch bereits ein gutes Bild von der Kundensituation machen konnten.

Nach der Validierung der technischen & betriebswirtschaftlichen Rahmenparameter, wurde dem Kunden ein Lösungskonzept vorgestellt, mit welchem wir vor allem die Themenschwerpunkte Multi-Cloud sowie Automatisierung & Standardisierung zielgerichtet abbilden konnten.

Im Rahmen des Implementierungsprojektes wurde eine Kubernetes Self-Service Plattform auf Basis Kubermatic Kubernetes Plattform (KKP) aufgebaut, sodaß Entwickler direkt per Console, UI und GitOps Pipeline auf die Cluster zugreifen konnten.

Die Kernphasen des Projektes waren:

  • Konzeption & Implementierung
  • Deployment Pipelines & Entwickler Self-Service
  • Migration von Bestandsapplikationen auf die Entwicklungs-Cluster
  • Überführung des Projektes in ein Betriebsmandat (Managed Service)

Konkrete Lösungsbausteine

Hier die zentralen Lösungsbausteine um die zentralen Anforderungen umzusetzen:

Mandantenfähigkeit:

Bereitstellung einer mandantenfähigen Plattform, sodaß Applikation & Daten der Endkunden auf dedizierten Clustern und unterschiedlichen Cloud-Accounts getrennt werden konnten.

Multi-Cloud:

Bereitstellung unterschiedlicher Public-Cloud Integrationen (Azure, AWS, Hetzner) zur automatisierten Bereitstellung von User-Clustern für die Entwickler.

Monitoring & Logging:

Bereitstellung eines dezentralen Monitoring + Logging Stacks auf Basis von Prometheus, Grafana und Alert-Manager im Kunden-Tenant um Datenintegrität & Performance zu gewährleisten.

24/7-Betrieb:

Überführung der Kubernetes Plattform in ein Betriebsmandat an unseren Managed Service Partner cloudopserve, um die kontinuierliche Verfügbarkeit, Wartung & Überwachung der Plattform sicherzustellen.

Migration:

Migration von Bestandsapplikationen auf neue Cluster-Infrastruktur & Anpassung bestehender Deployment Artefakte auf GitOps basierte Workflows.

Deployment Pipelines:

Bereitstellung von Applikations-Vorlagen zur einfachen Integration der User-Cluster in bestehende Continous Integration (CI) Prozesse mit Gitlab CI & Github Actions.

Die Ergebnisse

Die Self-Service Plattform brachte für die adorsys GmbH & Co. KG eine Vielzahl von Vorteilen mit sich:

Signifikante Verbesserung der KPIs

Bereitstellungszeit:

Neue Entwicklungsumgebungen und Cluster werden nun innerhalb von 5 Minuten bereitgestellt – statt Stunden und Tage zuvor.

Entwicklerproduktivität:

Die durchschnittliche Velocity (Anzahl Story-Points) über alle Entwicklungsprojekte hinweg konnte auf der neuen Umgebung gesteigert werden.

Häufigkeit an Releases:

Die Anzahl an Releases konnte durch einen kontinuierlichen CI Prozess gesteigert werden.

Qualitative Verbesserungen

Erhöhung der Mitarbeiterzufriedenheit:

Durch automatisierte Prozesse (GitOps), direkten Cluster-Zugriff (kubectl) und eine intuitive Benutzeroberfläche konnten die Mitarbeiter ihre Arbeitsabläufe autonom durchführen.

Transparenz:

Jeder Projekt-Cluster ist standardisiert und erhält automatisch einen vollständigen Monitoring Stack (Grafana, Prometheus), sodass jedes Projekt-Teams automatisch detaillierte Auswertung über den Ressourcen-Verbrauch und Performance-Metriken im Cluster erhält.

Fazit

Mit Hilfe des Self-Service Portals für Entwickler konnte die adorsys GmbH & Co. KG Ihre Entwicklungsabläufe optimieren. Entwickler konnten sich wieder auf die Entwicklung von neuen Funktionen und Features konzentrieren, die Infrastruktur Provisionierung wurde durch eine Service-Schnittstelle und Plattformlösung automatisiert.

Eine mögliche Weiterentwicklung ist auch bereits angedacht. Die Einführung eines zentrales Services-Katalogs soll Entwicklern ein „One-Click“-Deployment ermöglichen. Hierdurch werden Entwicker in die Lage versetzt schnell Standard Software-Pakete (Bspw. Message-Queues, Identity-Management) in Ihrem Projekt zur Verfügung zu stellen.

Mit Hilfe der Self-Service Plattform sind unsere Entwickler nun in der Lage kurzfristig neue Kubernetes Cluster für Entwicklungs- & Testumgebungen bereitzustellen – das verhilft den Teams zu mehr Autonomität und führt zu einer besseren Entwicklerproduktivität.

Thilo Rottach
Managing Director
adorsys GmbH & Co. KG