michelangelus - Fotolia
Apache Flink wurde für robustes Stream Processing entwickelt
Die Entwickler von Apache Flink gründeten 2014 data Artisans und erzeugen seitdem viel Aufmerksamkeit. Mitbegründer Stephan Ewen erläutert die Idee hinter data Artisans.
Das in Berlin ansässige Start-up data Artisans wurde 2014 von den Entwicklern der Open-Source-Plattform Apache Flink gegründet. Flink ermöglicht Stream Processing in Echtzeit. Das ist vor allem im Zusammenhang mit Technologien in den Bereichen Internet der Dinge, Machine Learning und Big Data Analytics von großem Wert. Denn in diesen Segmenten verlieren native Batch Engines, die Daten in Stapeln sequenziell verarbeiten, aber auch klassische relationale Datenbank-Management-Systeme, an Bedeutung.
Im Interview erläutert Stephan Ewen, Mitbegründer und CTO von data Artisans, welche Vorteile Apache Flink und die data Artisans Platform gegenüber reiner Batch-Verarbeitung aber auch anderen Big-Data-Anwendungen haben. Vor der Gründung von data Artisans war Ewen an der Entwicklung von Apache Flink (damals Stratosphere) beteiligt. Ewen hat an der TU Berlin in Informatik promoviert und mit IBM und Microsoft zusammengearbeitet.
data Artisans wurde 2014 aus einem Forschungsprojekt der TU Berlin heraus gegründet. Was war die treibende Kraft hinter dem Forschungsprojekt und der Gründung von data Artisans?
Stephan Ewen: Von Anfang an lag der Schwerpunkt auf der Entwicklung einer Technologie, die die Art und Weise, wie Streaming-Daten verarbeitet werden, verändert, basierend auf langjährig erprobten Prinzipien und Architekturen aus den Bereichen Datenbanken und verteilte Systeme. Als sich das Projekt zu Open Source Apache Flink entwickelte, erlebten wir ein schnelles Wachstum der Community, die es unterstützte. Wir stellten fest, dass die Technologie eine natürliche Lösung für viele relevante und wirkungsvolle Geschäftsanwendungen war. Der nächste Schritt war, Unternehmen, die nicht über die Kapazität oder die internen Fähigkeiten verfügen, eine solche Lösung von Grund auf neu einzuführen, beim Einsatz zu unterstützen. Zu diesem Zeitpunkt wurde data Artisans gegründet.
Sie verlassen sich bei der Datenverarbeitung auf Apache Flink. Welche Eigenschaften hat Flink, um große Mengen unstrukturierter Daten zu verarbeiten?
Ewen: Flink wurde von Grund auf für die Stream-Verarbeitung entwickelt und ermöglicht eine Kombination aus vielen wünschenswerten Funktionen, die bisher erhebliche Kompromisse bei der Skalierung erforderten: hoher Durchsatz, geringe Latenzzeit und genaue Semantik mit robuster Zustandsbehandlung, die kleine bis große Anwendungsfälle unterstützt. Obwohl die Lösung extrem leistungsfähig ist, ist sie durch eine Reihe einfach zu bedienender APIs dennoch flexibel und ausdrucksstark und gleichzeitig in ihrer Verwendung agnostisch. Infolgedessen betreibt Flink die Kerninfrastruktur einiger der größten Technologieunternehmen der Welt, zum Beispiel von Uber, Yelp und Alibaba. Gleichzeitig sind wir wettbewerbsfähig im Segment für weniger technisch versierte Anwender, die von einer Datenverarbeitung in Richtung Echtzeit profitieren wollen, ihre IT-Infrastruktur modernisieren und herkömmliche Anwendungen ersetzen möchten.
Wie funktioniert die Datenverarbeitung mit Flink?
Ewen: Als echte Streaming Engine, die weitgehend auf dem Datenflussmodell basiert, bietet Flink eine einzige, verteilte Laufzeit für zustandsorientierte Berechnungen über begrenzte und unbegrenzte Daten. Die Möglichkeiten der Laufzeit werden durch eine Abstraktionsschicht erweitert, die eine flexiblere und ausdrucksstärkere Unterstützung für Szenarien wie Complex Event Processing [Anm. der Red. FlinkCEP], Machine Learning [Anm. FlinkML] und Graph Processing [Anm. Gelly] implementiert, um nur einige zu nennen.
Ein einzigartiges Merkmal der zustandsorientierten Stream-Verarbeitung mit Flink ist, dass Anwendungen für den lokalen Zugriff auf den Zustand optimiert sind und auf eingebetteten On-Disk-Speicher für größere Zustandsgrößen zurückgreifen. Die Fehlertoleranz wird durch eine Kombination aus Stream Replay und Checkpointing realisiert, die eine genau abgestimmte Semantik für den registrierten Zustand garantiert. Wie bei Batch-Programmen werden diese auf der gleichen zugrunde liegenden Maschine als ein Sonderfall des Streamings ausgeführt.
Was sind die Vor- und Nachteile der Datenverarbeitung mit Flink im Vergleich zu anderen Big Data Frameworks wie Apache Spark oder NoSQL-Datenbanken?
Ewen: Der Hauptvorteil von Flink liegt darin, dass es vom Kern her für eine robuste Echtzeit-Stream-Verarbeitung entwickelt wurde, während andere Frameworks ihren Ursprung in verschiedenen Bereichen haben, zum Beispiel Batch-Verarbeitung, und später um Stream-Processing-Funktionen erweitert wurden. Dadurch ist Flink natürlich widerstandsfähiger gegen häufige Engpässe bei Anwendungen in großem Maßstab.
Ein weiterer Wettbewerbsvorteil ist die immer noch unübertroffene Ausdruckskraft der Flink-APIs und ihrer Konstrukte zur Verwaltung von Zustand und Zeit in einer verteilten, gemeinsam genutzten Architektur. Flink ist das neueste Kid on the Block und die Community arbeitet daran, die Vielfalt an Konnektoren und Integrationen im Framework rasch zu erweitern. Darüber hinaus werden Anstrengungen unternommen, Flink durch eine umfassendere SQL-Unterstützung und weitere Optimierungen bei der Verarbeitung von gebundenen Daten zu stärken.
Welche Einsatzszenarien deckt die data Artisans Platform ab?
Ewen: Die data Artisans Platform wurde entwickelt, um auf einer Plattform eingesetzt zu werden, die wir als die Plattform der Zukunft für die Softwareverteilung betrachten: Kubernetes. Wir unterstützen eine Vielzahl von Szenarien rund um Kubernetes, darunter neben der On-Premises-Bereitstellung auch über alle großen Cloud-Anbieter, zum Beispiel Google Cloud Platform, AWS und Microsoft Azure, sowie als Hybrid-Cloud-Bereitstellungen mit Red Hat OpenShift oder Vanilla Kubernetes. Die Plattform bündelt alle Komponenten, die für den Einstieg in die zustandsorientierte Stream-Verarbeitung erforderlich sind, wie zum Beispiel den entwicklerfreundlichen Orchestrator data Artisans Application Manager und einige Voraussetzungen für zentralisierte Metriken und Protokollierung.
Welche Entwicklungen haben Sie damit bereits umgesetzt?
Ewen: data Artisans Application Manager ist eine zentrale Bereitstellungs- und Verwaltungskomponente, die darauf ausgerichtet ist, das zustandsorientierte Application Lifecycle Management einfach und reibungslos zu gestalten. Diese wurde von Grund auf neu entwickelt, um die Herausforderungen zu meistern, die mit unterschiedlichen Tools für den Einsatz und das Zustands-Management verbunden sind, und um zuvor umständliche Aufgaben wie das Aktualisieren, Skalieren oder Migrieren von Anwendungen in konsistenter Weise zu rationalisieren. Auf der diesjährigen Flink Forward Berlin haben wir data Artisans Streaming Ledger als zusätzlichen Bestandteil der data Artisans Platform angekündigt.
Nach unserem besten Wissen ist es die erste Technologie, die eine verteilte, serialisierbare Transaktionsverarbeitung direkt auf Datenströmen ermöglicht. Im Gegensatz zu Vanilla Flink und anderen Stream-Prozessoren ermöglicht Streaming Ledger, eine Reihe von Zuständen zu definieren, Ereignisströme zu verbinden, die die Transaktionen steuern, und eine flexible Geschäftslogik anzuwenden, die transaktionsübergreifend arbeitet. Anwendungsfälle, die ACID-Garantien als Voraussetzung hatten, waren bisher von relationalen Datenbanken abhängig, diese Anwendungen können nun durch data Artisans Streaming Ledger mit einer modernen Streaming-Architektur unterstützt werden.
Können Sie uns erklären, wo sich Stream Processing und Edge Computing ergänzen?
Ewen: Die Stream-Verarbeitung ist ein weit verbreitetes Datenverarbeitungsparadigma, das sowohl für Echtzeit-Datenströme als auch für große Mengen an gespeicherten, historischen Daten verwendet werden kann. Im Rahmen des Edge Computing erweist sich die Stream-Verarbeitung als eine gute Ergänzung zu bestimmten Anwendungsfällen, wie zum Beispiel der Vorverarbeitung und Ableitung von Kontextdaten am Edge vor der Übertragung an eine zentralisierte Umgebung und der Implementierung ereignisgesteuerter Anwendungen auf lokalen Edge-Datenströmen. Dieses Paradigma im Allgemeinen und Flink im Besonderen kann direkt mit Daten arbeiten, während sie erzeugt werden. Das ermöglicht es, diese Szenarien mit einem vergleichsweise geringen Ressourcenbedarf zu liefern, verglichen mit der Speicherung von Edge-Daten und deren Verarbeitung in Batch-Intervallen.
„Auf der diesjährigen Flink Forward Berlin haben wir data Artisans Streaming Ledger als zusätzlichen Bestandteil der data Artisans Platform angekündigt.“
Stephan Ewen, data Artisans
Machine-Learning- und KI-Algorithmen basieren auf der Verarbeitung großer Datenmengen, um wirklich zu funktionieren. Wie funktioniert die Interaktion zwischen Apache Flink und Machine Learning sowie KI-Technologien?
Ewen: Maschinelles Lernen und andere relevante Bereiche der künstlichen Intelligenz sind stark an iterative Algorithmen gebunden. Das Interesse, diese Art von Algorithmen auszuführen, wuchs ebenso wie die Notwendigkeit, Iterationen über hochvolumige Daten massiv parallel auszuführen. Flink bietet native Unterstützung für beide Szenarien in der FlinkML-Bibliothek, die skalierbare Algorithmen, zum Beispiel Support Vector Machine und k-Nearest Neighbors, eine intuitive API und Tools zur Minimierung von Bindungscode in End-to-End Machine-Learning-Systemen umfasst.
Ihr Unternehmen hat neben dem Gründungsstandort Berlin auch ein Büro im Start-up-Mekka San Francisco. Können Sie uns kurz erläutern, wie die Eröffnung eines Standorts in San Francisco verläuft und welche Hindernisse Start-ups bei diesem Schritt überwinden müssen?
Ewen: Die Mentalität der Bay Area unterstützt sehr stark eine Start-up-Kultur, so dass wir keinerlei Probleme hatten, schnell loszulegen. Darüber hinaus ist unser US-Team sehr dynamisch und reist häufig durchs Land, um Kundengespräche, Schulungen und Veranstaltungen durchzuführen. Im Allgemeinen empfinden wir den US-Markt und insbesondere die Westküste als sehr einladend und offen für neue Lösungen und den Wert, den wir auf den Markt bringen.
Zuletzt noch zwei Fragen zum Vertrieb und zur Preisgestaltung: Wie kann ich die Plattform herunterladen und nutzen? Was kosten Ihre Lösungen und was kostet der Kauf/die Lizenz?
Ewen: data Artisans bietet eine kostenlose Trial-Sandbox, mit der Benutzer innerhalb weniger Minuten mit dem Tüfteln und Testen beginnen können, sowie eine Testversion, die auf einer Kubernetes-Infrastruktur installiert werden kann. Beide stehen auf unserer Website zum Download bereit. Die unternehmensweit einsetzbare data Artisans Platform wird als einjähriges Abonnement mit nutzungsabhängigen Preisen und mehreren Support-Optionen offeriert.
Folgen Sie SearchEnterpriseSoftware.de auch auf Twitter, Google+, Xing und Facebook!