Stream Processing mit Apache Flink Data Artisans stellt dA Platform v1.1 für Data Stream Processing vor

Autor / Redakteur: Michael Matzer / Nico Litzel |

Data Artisans hat die Version 1.1. der „dA Platform“ für Stream Processing auf Basis von „Apache Flink 1.5“ vorgestellt. Die wichtigste Neuerung in Version 1.1 ist der Support für die neue Version 1.5 des Streaming-Frameworks Apache Flink, die Unterstützung von Batch Jobs und eine verbesserte Integration mit „Kubernetes“.

Anbieter zum Thema

Der Aufbau der dA Platform von Data Artisans.
Der Aufbau der dA Platform von Data Artisans.
(Bild: Data Artisans)

Das in Berlin ansässige Unternehmen Data Artisans wurde 2014 von den Initiatoren des Open Source Frameworks Flink gegründet, um Streaming-Applikationen auf Unternehmensniveau zu ermöglichen. Im Unterschied zu früheren Generationen von Stream-Processing-Systemen ermöglicht Apache Flink auf besonders effiziente und flexible Weise „Stateful Streaming“. Das heißt: Es kann neben den Berechnungen auf den Datenströmen zusätzlich Versionen, Datenabschnitte, Statistiken oder Ähnliches speichern und für weitere Berechnungen verwenden – das Ganze parallel und fehlertolerant.

Einsatzszenarien

Stream Processing spielt derzeit vor allem bei Technologie-basierten Unternehmen eine Rolle, zum Beispiel bei Internet-Firmen, der Finanzindustrie, E-Commerce, Telcos sowie im Internet der Dinge und bei der Clickstream-Analyse. Es lassen sich auf solche Datenströme sowohl Analytik- als auch Security-Tools anwenden. Indem Flink Stream Processing mit Batch Processing kombiniert, sind neuartige Anwendungen möglich.

Stephan Ewen, CTO von Data Artisans
Stephan Ewen, CTO von Data Artisans
(Bild: Datta Artisan)

„Die heutige Welt der Datenverarbeitung und des Daten-Managements ist geprägt von Datenbanken, an deren grundsätzlichem Aufbau sich über viele Jahre hinweg praktisch nichts geändert hat. In der Art und Weise, wie Daten erzeugt und genutzt werden, hat jedoch eine Revolution stattgefunden, die das Konzept klassischer Datenbanken an vielen Stellen überfordert“, erläutert Stephan Ewen, CTO bei Data Artisans. „Das Datenvolumen explodiert – und ein Ende ist nicht abzusehen.“

Zugleich habe sich die Geschwindigkeit, in der Daten erzeugt und verarbeitet werden müssen, dramatisch erhöht. In vielen Anwendungsbereichen sei der Umweg über eine Datenbank ein störender Flaschenhals, der Anwendungen und vor allem die Analyse der Daten in Echtzeit ausbremse. „Stream Processing bietet hier eine zukunftssichere Lösung.“

Microservices

Stream-Processing-Anwendungen sind in der Regel Teil einer Microservices-Architektur: Jede App verfügt darin über ihre eigenen Key-Value-Daten, Geschäftsregeln (Logik) und natürlich Status. Denn alle aktuellen Ereignisse in den Datenströmen können Trigger auslösen, um so wiederum Regeln und Apps anzustoßen. Verknüpft man die aktuellen Ereignisse mit den vorhergehenden Status von Ereignissen, so lassen sich beispielsweise Betrugsversuche ebenso in Echtzeit erkennen und vereiteln wie etwa Maschinenausfälle verhindern.

Die übliche Implementierung einer Microservices-Architektur erfolgt auf Container-Basis. Kein Wunder also, dass Data Artisans sowohl „Docker“ als auch Kubernetes unterstützt. Dies ist auch notwendig, denn in Anbetracht der hohen Datenvolumina in den Datenströmen muss die Architektur hoch skalierbar und verteilt sein. Nur in einer solchen Architektur können sowohl ereignisgesteuerte Apps als auch Echtzeit-Analytik koexistieren.

Bildergalerie
Bildergalerie mit 5 Bildern

Data Artisans Platform 1.x

Data Artisans Platform unterstützt die Bereitstellung von Hochleistungs-Streaming-Applikationen und kann bereits auf eine Liste namhafter Kunden wie etwa Zalando verweisen. Diese Kunden sind meist auch Contributoren. Wo Apache Flink bereits leistungsfähige Applikationen ermöglicht, fügt Data Artisans in der kommerziellen dA Plattform die Unterstützung typischer operativer Prozesse nebst Support, Schulung und SLAs hinzu.

Dass die Data Artisans Plattform jede Neuerung in Apache Flink widerspiegelt, liegt auf der Hand. So wurde beispielsweise die Unterstützung für SQL und StreamSQL übernommen, ebenso Metriken, Konnektoren und die Integration mit dem Framework Hadoop. Dem Streaming-Tool Apache Storm ist Flink hinsichtlich Performance haushoch überlegen, wie Benchmarks von Data Artisans belegen.

Application Management

Eine wesentliche Komponente von Data Artisans Plattform ist der Application Manager. Dieser bildet die zentrale Koordinationsstelle zwischen Befehlen von Nutzerseite, der Orchestrierung von Cluster-Ressourcen und Flink-Jobs. Das wesentliche logische Konzept für die Interaktion mit Streaming-Jobs: durch die Abstraktion auf „Anwendungs“-Ebene. Zu dieser Ebene gehören Metadaten wie Sicherungspunkte (kennt man von Windows-Installationen), einzelne Flink-Jobs und so weiter.

„Data Artisan Application Manager“ kümmert sich um wesentliche Dinge wie Application Lifecycle Management (ALM), die Integration mit Drittsystemen für Metriken und Logging, stellt eine Web-GUI und eine REST-API bereit und erlaubt das Management der Konfiguration. Kurzum: Dieses mächtige Werkzeug erlaubt die Automation der Anwendungen für Stateful Stream Processing.

„Automation in der Datenverarbeitung ist ein ganz zentraler Trend, der dem Stream Processing in die Hände spielt. Ich denke hierbei vor allem an Big Data Analytics, wobei große Datenmengen idealerweise in Echtzeit verarbeitet werden. Da viele Unternehmen ihre Geschäftsmodelle weiterentwickeln, weg von reinen Transaktionen und dem Fokus auf Produkte – hin zum Fokus auf Kundenbeziehungen und Echtzeit Services, werden neue Technologien verlangt“, so Holger Temme, Head of Sales bei Data Artisans. „Auch Themen wie automatisiertes Fahren, Industrie 4.0 und Künstliche Intelligenz erfordern innovative Konzepte für die Datenverarbeitung.“

Neuerungen der Version 1.1

Wie schon erwähnt, wird Flink 1.5 unterstützt und um dies zu nutzen, braucht der Nutzer lediglich die Versionsnummer in der API anzugeben. Um Upgrades der Flink-Jobs zu veranlassen, legt man im Application Manager eine entsprechende Strategie fest. Dieses Tool erledigt den Rest.

Die Interoperabilität mit Kubernetes ist insofern verbessert worden, als dass der Nutzer nun seine Kubernetes-Ressourcen an Flink-Jobs besser anpassen kann. Dazu gehören Node-Selektoren, Affinitäten, Toleranzgrenzen sowie Laufwerke in den Kubernetes-Deployments, die mit dem Application Manager angelegt wurden. So ist die Umgebung flexibel genug, um Setups zu realisieren, die entweder persistente Laufwerke für Flink-Container erfordern oder „kube2iam“, wenn man auf S3-Daten zugreift.

Eine weitere bedeutende Neuerung betrifft Flink Batch-Jobs. Manche Kunden führen Streaming-Jobs aus, die auf finite (begrenzte) Datenquellen wie etwa Dateien zugreifen, oder Jobs, die Flinks Batch-API verwenden. Solche Kunden erhalten nun einen ersten Support durch die Deployment-Funktion des Application Managers.

Diese versetzt sie in die Lage, im App Manager sowohl Streaming-, als auch Batch-Workloads zu verwalten. Zudem können sie Bibliotheken, die der Batch-API zur Verfügung stehen, nutzen, beispielsweise Machine Learning oder Graph-Verarbeitung. Der Nutzer spezifiziert ein Artefakt, das einen Job mit finiten Ressourcen umfasst, und übergibt es dem App Manager, damit dieser es ausführt.

Die Apache Flink Conference 2018

„Zahlreiche Entwickler, Big Data-Experten und aktive Nutzer von Stream Processing kommen Anfang September 2018 zur Apache Flink Conference in Berlin zusammen. Die steigende Zahl an Teilnehmern sowie das generelle Wachstum der Flink-Community zeigen, dass dieses Thema einen Nerv trifft“, bemerkt Ann Thueland, Head of Marketing bei Data Artisans. „Wir erwarten, dass von dieser Konferenz wichtige Impulse für die Weiterentwicklung von Flink ausgehen werden.“

(ID:45431643)