Im Rahmen des neuland Labs haben wir uns mit dem Ansatz einer Stream First Architecture beschäftigt und dabei interessante Dinge herausgefunden.
Mit dem Aufkommen immer größerer Datenmengen stellt sich immer mehr die Frage der zeitnahen Verarbeitung dieser Daten für datengetriebene Anwendungen oder Business Intelligence Analysen. Die Verarbeitung von Events sollte so schnell wie möglich geschehen, am besten in Echtzeit. Dazu werden immer häufiger Daten-Streams verwendet.
Mit Daten-Streams bezeichnet man einen kontinuierlichen Fluss von Datensätzen, dessen Ende meist nicht im Voraus abzusehen ist. Die Datensätze werden fortlaufend verarbeitet, sobald jeweils ein neuer Datensatz eingetroffen ist. Klassische Beispiele für Datenströme sind Wetterdaten sowie Audio- und Videoströme (Streaming Media). Aber auch das User-Verhalten auf Webseiten oder Transaktionen auf Business-Plattformen können als Daten-Streams modelliert werden. Durch das direkte Verarbeiten jedes einzelnen Events ermöglichen Stream-Technologien schnelle Reaktionszeiten auch bei sehr großen Datenmengen.
Aus der ständigen Weiterentwicklung von Streaming Technologien in den letzten Jahren ist der Gedanke einer Stream First Architektur entstanden, die als Single Point of Truth keine Datenbank mehr hat, sondern einen Event-Stream. Redundante Datenverarbeitung, wie in der herkömmlichen Lambda-Architektur, ist nicht mehr nötig. Eingehende Events werden in Echtzeit verarbeitet. Zusätzliche Datenquellen können problemlos an den Stream angebunden und nach Belieben konsumiert werden. Die Komplexität der Anwendung wird reduziert.
Im Rahmen des neuland Labs haben wir am Beispiel der Technologien Apache Flink und Apache Kafka erforscht, welche Use Cases eine Stream First Architektur für E-Commerce Anwendungen haben kann. Dabei haben wir interessante Ergebnisse erzielen können:
- Click-Events können innerhalb von Sekunden user-spezifisch vom Shop beantwortet werden
- Der Shop kann Produkt- und andere Daten erstaunlich schnell aus einem Stream einlesen und damit das Hochfahren zusätzlicher Instanzen wesentlich beschleunigen
- Clickstream-Daten können in Echtzeit aufbereitet und visualisiert werden
- Device-übergreifende Kundenkonten können in Echtzeit auf Events aus verschiedenen Channels (App, Webshop, Ladengeschäft) reagieren
Das neuland Lab hat uns allen einen großen Erkenntnisgewinn verschafft und nebenbei viel Spaß gemacht. Wir freuen uns, das Wissen mit unseren Kunden zu teilen und sie dabei zu unterstützen, ihre Daten noch besser zu nutzen.