Streaming und Mainframe: alte Hardware-Architektur trifft moderne Software

Data Streaming mit Mainframes ist möglich, obwohl beide Techniken unabhängig entwickelt wurden. Der Prozess nicht trivial, aber sinnvoll, zeigt unser Interview.

In Pocket speichern vorlesen Druckansicht 18 Kommentare lesen
Lesezeit: 11 Min.
Von
  • Berthold Wesseler
Inhaltsverzeichnis

Wollen Unternehmen auf digitale Geschäftsmodelle setzen, entpuppen sich ihre in die Jahre gekommenen Data-Warehouse- und Messaging-Architekturen oft als hinderlich. Ein neuer, Streaming-getriebener Ansatz hilft, die Flexibilität, Agilität und Skalierbarkeit der Infrastruktur zu erhöhen – insbesondere, wenn auch Daten vom Mainframe einbezogen werden müssen.

Die Mainframe-Interviews, Folge 12: Daten-Streaming mit Mainframes

Kai Wähner ist Field CTO der Firma Confluent, die Kafka mit über 120 Konnektoren und einer Datenstromverarbeitung mit einem Enterprise-Level an Sicherheit und Governance ergänzt – unter anderem auch für Mainframes. Apache Kafka ist ein verteiltes Streaming-System mit Open-Source-Lizenz, das für Stream-Verarbeitung, Echtzeit-Daten-Pipelines und Datenintegration im hohen Maßstab verwendet wird. Kafka wurde 2011 bei LinkedIn für den Umgang mit Echtzeit-Daten-Feeds entwickelt. Seitdem hat es sich schnell von einer Messaging-Queue zur vollwertigen Event-Streaming-Plattform entwickelt, die mehr als eine Million Nachrichten pro Sekunde und Billionen von Nachrichten pro Tag verarbeiten kann.

Denn mit Echtzeit-Datenanalyse-Technologien ist es inzwischen möglich, die als abgeschottete Silos verrufenen Mainframes in moderne Streaming-Plattformen einzubinden. Dazu gehören neben der freien Software Apache Kafka, die insbesondere zur Verarbeitung von Datenströmen dient, zum Beispiel auch Apache Kudu (als schnelle Analyse-Engine für Hadoop) oder Spark Streaming, ein Framework zum Schreiben von Anwendungen mit Streaming-Daten.

Da die Streaming-Plattformen ohne die Mainframes im Sinn entwickelt wurden, ist ein gangbarer Weg gefragt, Mainframe-Daten in einem Format einzuspeisen, das die Streaming-Plattformen unterstützen. Es gibt verschiedene Optionen, die das theoretisch ermöglichen. Wir haben Kai Wähner gefragt, welche es gibt und worauf es dabei ankommt.

Herr Wähner, worum handelt es sich bei dem Streaming überhaupt, das Confluent auf Basis von Kafka implementiert? Dieser Begriff ist durch seine Verwendung bei Endanwendern ziemlich schwammig im Sprachgebrauch.

In traditionellen Umgebungen liegen Daten an ihre Applikationen gekettet in Datensilos. Die Applikationen sind wiederum über maßgeschneiderte Konnektoren mit anderen Applikationen fest integriert, sodass jede flexible übergreifende Datennutzung sehr aufwändig und umständlich ist.

Daten-Streaming entkoppelt Anwendungen voneinander und bringt die Daten in Fluss, was gerade in weit verteilten Umgebungen, beispielsweise bei Filialbanken oder Einzelhandelsketten, wichtig ist. Ereignisse – das kann alles sein, von einem Online-Kauf bis zu einer Systemstörung – generieren in Echtzeit Daten, die dann an die Streaming-Plattform übermittelt werden. Diese speichert sie unverändert in der Reihenfolge ihres Eingangs, damit wird sie zur zentralen Informationsquelle.

Zudem werden die Daten inhaltlich sogenannten Topics zugeordnet, die sich je nach Bedarf der Anwendungen maßschneidern lassen. Eine moderne Streaming-Plattform kann auch einfach an traditionelle Datenquellen, etwa Datenbanken, angebunden werden und die Ereignisdaten so mit Bestandsdaten verbinden. Greifen Applikationen auf Streaming-Plattformen zu, abonnieren sie die von ihnen benötigten Topics und bekommen so automatisch die für sie wichtigen, jeweils aktuellsten Daten in Echtzeit. Diese bringen die Apps selbst in das für sie passende Format, der komplexe ETL-Vorgang entfällt also.

Anbinden lässt sich praktisch jede Applikation über geeignete Konnektoren. Diese Legacy oder auch Cloud-nativen Konnektoren werden in einer modernen Streaming-Plattform oft schon bereitgestellt.

Es geht also um eine Dateninfrastruktur, die sich auf Daten in Bewegung konzentriert: Warum gehören Mainframe-Daten dann überhaupt in eine solche Streaming-Plattform? Schließlich implementieren Mainframes doch eigentlich das Konzept einer zentralen Datenhaltung.

Dass sich Mainframes oder andere überkommene Plattformen in Streaming-Umgebungen wie das auf Apache Kafka basierende Confluent integrieren lassen, ist einer ihrer wesentlichen Vorteile: Denn Banken, Versicherungen, Einzelhändler oder große Industrieunternehmen halten in ihren Mainframe-Applikationen unermesslich große und wertvolle Datenbestände. Zudem sind die Mainframe-Applikationen meist sehr funktional und leistungsfähig, dazu langjährig bewährt. Auf sie zu verzichten, ist weder nötig noch sind sie einfach abzulösen.

Einerseits sollen die ständig neu entstehenden Echtzeit-Events etwa aus Handel oder IoT-Umgebungen dokumentarisch genau gespeichert und bereitgestellt werden, andererseits auch die Bestandsdaten als Erkenntnisquelle dienen. Erst die gemeinsame Nutzung beider erzeugt oft neue Einsichten und ermöglicht neue Geschäftsmodelle.