+

Keytrade Bank zentralisiert sein Tooling rund um GitLab

  • Verbessertes Code-Management
  • Durchgängige Transparenz
  • Verbesserte Kundenzufriedenheit
BrancheFinancial Services
Mitarbeitende250
StandortBelgien

Möchtest du sehen, wie GitLab Ultimate dein Team unterstützen kann?

Kostenlose Testversion starten

Mit GitLab verbesserte Keytrade Bank Versionskontrolle, CI/CD und Zusammenarbeit.

Keytrade Bank führte GitLab für Code-Management, Versionskontrolle und CI/CD ein, ersetzte damit vier Werkzeuge und verbesserte die Workflow-Effizienz.

GitLab ermöglicht uns ein gemeinsames Werkzeug für Dev und Ops. DevOps ist wirklich eine Denkweise, die man im Unternehmen verankern möchte, damit Menschen in diese Kultur hineinwachsen. GitLab macht das möglich, weil es eine gemeinsame Lösung für beide Teams ist – etwas, das wir vorher nicht hatten. Das hat den Workflow auf dieser Ebene erheblich vereinfacht.

- Nicolas Pepinster, DevOps and Cloud Engineer, Keytrade Bank
Online-Finanzinstitut

Keytrade Bank ist der belgische Marktführer im Online-Banking und -Handel und bietet auf seinen digitalen Plattformen ein vollständiges Produkt- und Dienstleistungsangebot. Das Institut gehört zur Crédit Mutuel Arkéa Gruppe. Bei Keytrade Bank finden Kunden alles, was sie von einer Bank erwarten – Girokonten, Sparkonten, Karten, Hypothekendarlehen, Handels- und Anlagemöglichkeiten –, ohne je eine Filiale aufsuchen zu müssen. Die Bank unterstützt ihre Kunden dabei, ihre Bank- und Anlagegeschäfte rund um die Uhr vollständig eigenständig zu verwalten.

Zu viele Werkzeuge im Einsatz

Keytrade Bank setzte im Workflow von der Entwicklung bis zur Produktion verschiedene Werkzeuge ein. Zusätzlich hatten die Teams für spezifische Anforderungen eigene interne Skripte entwickelt. Der ständige Wechsel zwischen den Werkzeugen kostete Zeit und Konzentration. Jedes Werkzeug hatte seine eigenen Probleme, und die jeweiligen Experten verbrachten zu viel Zeit mit Verwaltung und Wartung. Diese isolierten Werkzeuge führten zu vielen manuellen Prozessen, mangelnder Transparenz und zahlreichen undurchsichtigen Abhängigkeiten.

Auch das Management hatte kaum Möglichkeiten, Arbeitsprozesse nachzuvollziehen – wer für welche Teile eines Projekts verantwortlich war und wann und wie Aufgaben erledigt wurden. „Intern hätte es auch deutlich mehr gegenseitige Schuldzuweisungen zwischen Dev und Ops gegeben, wenn es darum ging, festzustellen, was los ist und wo das Problem wirklich liegt. Jetzt ist es viel einfacher, Probleme zu identifizieren und zu wissen, wie man sie löst", erklärt Niels Peto, DevOps and Cloud Engineer. Das Team suchte nach einer Lösung, um Kommunikationsfehler zu vermeiden – intern wie auch gegenüber Kunden. Da Keytrade Bank keine physischen Filialen betreibt, hat die Kundenkommunikation höchste Priorität.

Eine Plattform, viele Funktionen

„Wir haben andere Anbieter ausprobiert, aber keiner bot den Support und das Automatisierungsniveau von GitLab", sagt Peto. GitLab bietet Entwicklern eine einheitliche Lösung mit einem breiten Funktionsumfang. „Mit GitLab haben wir wirklich eine Lösung vom Entwicklungs- bis zum Produktionsteil. Es ermöglicht uns, genau das zu tun, was wir vorher getan haben – und sogar mehr, da es mehr Funktionen bietet. Das war der Hauptgrund für unseren Wechsel", erklärt Nicolas Pepinster, DevOps and Cloud Engineer. „GitLab entwickelt sich kontinuierlich weiter und bringt regelmäßig neue Funktionen, mit denen wir sehr zufrieden sind."

Die Teams nutzten bisher Nexus für das Artefakt-Management und prüfen, inwieweit die GitLab-Registry dieses Werkzeug künftig vollständig ersetzen kann. Zudem haben sie die OpenShift-Container-Registry durch die integrierte GitLab-Registry ersetzt und speichern ihre Container-Images nun mit einem AWS-S3-Backend. GitLab hat es ermöglicht, eine integrierte Gesamtlösung bereitzustellen und die Toolchain-Komplexität zu reduzieren.

Versionskontrolle, Transparenz und Zusammenarbeit

Keytrade Bank nutzt GitLab nun für die Bank-Assembly-Plattform. Jedes Team arbeitet an unterschiedlichen Bankprodukten mit eigenen Anwendungen. Bank Assembly wurde von Grund auf als transversale Plattform aufgebaut, mit GitLab als zentralem Element. Die Plattform verfügt über vorgefertigte Pipelines. Teams können die benötigten Bausteine nutzen, da alle YAML-Dateien im Repository hinterlegt sind und die Anwendungen daraus e-Clouds erzeugen. Der Wechsel zwischen Versionen ist einfach, da alles über GitLab läuft.

„Alle Teams werden schrittweise in die Bank-Assembly-Plattform eingebunden, und wir nutzen GitLab als zentralen Punkt für CI/CD, Infrastruktur, On-Premises-Integration und AWS", so Pepinster. Keytrade Bank installierte den GitLab-Server auf AWS mit Omnibus und konfigurierte eine externe PostgreSQL-Datenbank mit Aurora RDS. GitLab-Runner wurden sowohl On-Premises als auch in AWS bereitgestellt. In AWS sind Runner EC2-Instanzen, die bei der Übernahme eines Jobs neue EC2-Spot-Instanzen erzeugen. Dies ermöglicht eine effiziente Lastverteilung ohne manuelle Kapazitätsplanung. Da GitLab-Runner in dedizierten AWS-Accounts je Feature-Team bereitgestellt werden, können Anpassungen einfach vorgenommen werden.

Keytrade-Bank-Anwendungen werden in AWS hauptsächlich über EKS mit GitLab deployed. Teams nutzen Lambda für ein einfaches Dashboard mit wichtigen Anwendungsinformationen; auch Lambda- und Terraform-Konfigurationen werden über GitLab verwaltet. Seit der Einführung von GitLab können Manager Workflows lückenlos nachvollziehen. „Wir können jetzt sehen, wer was wann tut – das war vorher nicht möglich. Viele Prüfer kommen zur Bank, und für unser Management ist es wichtig, all diese Informationen verfügbar zu haben. Das ist jetzt sehr einfach", erklärt Pepinster.

GitLab wird auch vom Contact-Management-Entwicklungsteam genutzt, das für die Kundenverwaltung zuständig ist und den Hauptkommunikationskanal mit Kunden darstellt. Keytrade Bank integriert GitLab mit Jira, damit das Business den gesamten Software-Delivery-Lebenszyklus aus Jira heraus steuern kann. In Jira wurde ein Workflow mit definierten Status und Übergängen entwickelt, den eine Aufgabe während ihres Lebenszyklus durchläuft. Ein neuer Branch löst einen Übergang aus, der die Aufgabe von „offen" bis zu „Code zur Überprüfung" bewegt. Dieser Übergang öffnet automatisch einen neuen Merge Request in GitLab unter Verwendung des zuvor erstellten Source-Branch. Die Code-Überprüfung erfolgt in GitLab durch andere Entwickler; das Ergebnis des Merge Requests löst einen weiteren Jira-Übergang aus.

Dasselbe gilt für Deployments: Nur autorisierte Nutzende können den Übergang „in Produktion bereitstellen" auslösen. Dadurch wird ein Git-Tag erstellt und die entsprechende Pipeline zum Release der Anwendung in der Produktion gestartet. Das neueste Projekt von Keytrade Bank, PSD2, ist ein Satz von APIs, die gemäß einem europäischen Standard öffentlich zugänglich sein müssen. PSD2 wurde von Anfang an vollständig mit GitLab entwickelt – Cloud, On-Premises, AWS und Terraform werden alle über GitLab verwaltet. „Die Idee ist, das für Belgien Entwickelte für künftige Projekte wiederzuverwenden – etwa für die Implementierung in Luxemburg. PSD2 war das erste große Projekt, für das wir GitLab eingesetzt haben, und es lief von der Entwicklung bis zur Produktion sehr gut", so Pepinster.

GitLab bildet die Grundlage für Kommunikation, Zusammenarbeit und Workflow-Effizienz bei Keytrade Bank und bleibt mit wachsendem Projektumfang die zentrale Plattform für Code-Management, Versionskontrolle sowie Continuous Integration und Deployment.

Alle Informationen und Personen, die an der Fallstudie beteiligt waren, waren zum Zeitpunkt der Veröffentlichung aktuell.