Kafka in Banken: Eine Verbindung zwischen den Welten – für langfristig wirtschaftliche Projekte
20.09.2023Anatoly Zelenin
IT-Trainer und Apache Kafka Experte
Vor einiger Zeit brachte eine Reportage der Süddeutschen Zeitung Schlagzeilen. Es ging um eine Rentner-Gang der NASA, die 2014, auch 37 Jahre nach dem Start der weltberühmten Voyager-Missionen, die Weltraumsonden betreute. Der Grund? Die alten Haudegen sind so mit die einzigen, die die damalige Ingenieurskunst noch durchgehend verstehen.
Der Fall in Houston klingt romantisch, verdeutlicht aber ein Problem: Das Know-how von »Allwissenden« wird zu einem bedrohlichen Szenario, wenn die Expertinnen und Experten aus dem Berufsleben ausscheiden.
Auch im Bankensystem könnte es theoretisch die eine oder andere Gang im reifen Alter geben. Das ist jedoch alles andere als witzig.
Noch immer haben viele Banken diverse Mainframes im Einsatz, mit dem sie ihr Kerngeschäft erledigen. Die Software der riesigen Rechner wurde schon vor Jahrzehnten geschrieben. Viele der damaligen Entwicklungsteams sind längst in Rente oder arbeiten in anderen Unternehmen.
Das Verändern dieser Systeme gilt als äußerst schwierig, denn es gibt kaum noch Verantwortliche, die sich mit diesen archaischen Strukturen und Programmiersprachen wie COBOL richtig gut auskennen. Es ist viel Wissen in die Entwicklung geflossen, welches inzwischen außerhalb des Programmcodes vergessen wurde.
Die Systeme einfach wegzuwerfen, kommt ebenso nicht infrage: Dafür hängen zu viele aktuelle und lebenswichtige Prozesse daran.
Lösungsansatz: Die "Befreiung" der Daten aus Mainframes durch Apache Kafka
Ein Ansatz, mit dem viele Banken dieses Dilemma lösen wollen, ist die „Befreiung“ der Daten aus den Mainframes. Diese sollen und müssen weiter existieren. Nur mit dem Unterschied, dass Berechtigte jederzeit auf die Informationen zugreifen können. Damit sie die Anforderungen des Bankings auch künftig erfüllen können. Apache Kafka ist genau für diese Verbindung zwischen Vergangen und Moderne eine der effektivsten Lösungen.
Beispielsweise sind einige meiner Kunden und Kundinnen aus dem Finanzsektor dabei, neue, nutzerfreundliche Frontends für ihre Bankkunden und Mitarbeitende einzuführen. Ich spreche dabei von Apps oder verbesserten Websites. Dabei gehen die Banken oft folgendermaßen vor:
- Zuerst müssen sie die Daten aus dem Mainframe nach Kafka befördern. Dies ist nicht trivial! Denn das Extrahieren von Daten aus Kernbankensystemen ist mit großen Schwierigkeiten verbunden. Dass die alten Systeme vielfältige Informationen in der heute benötigten Menge ausleiten, war bei ihrer damaligen Integration nicht vorgesehen. Banken werden zu einer Entscheidung gedrängt. Sie können individuelle Lösungen entwickeln oder bestehende Konnektoren als Schnittstellen benutzen. Beide Lösungen bedeuten erheblichen Entwicklungsaufwand. Die gute Nachricht: Moderne Systeme besitzen eine direkte Anbindung zu Kafka.
- Danach müssen Daten angereichert und umgewandelt werden. Dies passiert am besten in Echtzeit. Denn nur dann gelangen die Daten, die im Mainframe erzeugt wurden, schnellstmöglich zu den anderen Systemen. Dafür bieten sich Stream Processing Frameworks wie Kafka Streams oder Apache Flink an.
- Bei vielen dieser Transformationen können wir sogar auf komplexen Code verzichten und stattdessen auf SQL z.B. basierend auf Apache Flink setzen.
- Aber jetzt wird es richtig spannend und teuer: Eine normalgroße Bank hat Millionen Kundendatensätze. Selbst wenn jeder nur aus 1000 Kontotransaktionen besteht, eine niedrige Schätzung, sind das viele Milliarden Datenpunkte. Diese Daten aus dem Mainframe zu laden, kostet richtig viel Geld. Zumal es schnell gehen sollte.
Aber es gibt eine gute Nachricht: Apache Kafka vergisst nicht. Um den teuren Vorgang kommen Banken nicht herum. Aber mit Kafka sorgen sie dafür, dass es ein initialer Spaß bleibt.
Selbst wenn Monate oder Jahre später eine neue Applikation hinzukommt und ursprüngliche Mainframe-Daten erneut benötigt werden, liegen die Informationen bereits vor. Diese kann die neue Anwendung direkt aus Kafka bekommen. Nach einem (möglichst agilem) Genehmigungsprozess stehen die Daten sofort bereit. Kunden können innerhalb von Tagen statt Monaten auf Informationen zugreifen. Das meine ich, wenn ich von Daten „befreien“ spreche.
Zusammengefasst: Das bringt Kafka Banken
Mit Kafka „befreien“ Banken Daten aus Mainframes und Kernbankensystemen. Sie können Informationen innerhalb des Unternehmens flexibler und bedarfsgerechter verteilen. Kernbankensysteme müssen nun nicht von jeder neuen App direkt angesprochen werden. Das reduziert die Kosten deutlich und beschleunigt die Produktentwicklung. Teams können in Echtzeit und viel einfacher als zuvor auf benötigten Daten zugreifen.
Apache Kafka ist damit nicht nur ein Instrument, mit dem wir Daten jederzeit aus alten Systemen effizient bergen können. Kafka sorgt auch dafür, dass die Informationen langfristig und mit schnellem Zugriff an der Oberfläche bleiben. Selbst dann, wenn ein Projekt vermeintlich abgeschlossen ist.
So reduzieren schlaue Unternehmen mit einer einmaligen Investition die Kosten für zahlreiche Weiter- und Neuentwicklungen.
Demnächst wird dieser Blog um ein Case-Interview aus der Branche erweitert. Du willst es nicht verpassen? Folge mir auf LinkedIn!
Anatoly Zelenin vermittelt als IT-Trainer hunderten Teilnehmern Apache Kafka in interaktiven Schulungen. Seine Kunden aus dem DAX-Umfeld und dem deutschen Mittelstand schätzen seit über einem Jahrzehnt seine Expertise und seine begeisternde Art. Darüber hinaus ist er nicht nur IT-Berater und -Trainer, sondern erkundet auch als Abenteurer unseren Planeten.