Nachbericht Flink Forward Europe 2019

Ververica kündigt Stateful Functions für Apache Flink an

| Autor / Redakteur: Michael Matzer / Nico Litzel

Die Flink Forward Europe 2019 fand in Berlin statt.
Die Flink Forward Europe 2019 fand in Berlin statt. (Bild: Ververica)

Ververica, vormals Data Artisans und jetzt bei Alibaba, hat kürzlich für seine Stream-Processing-Plattform auf der Entwicklerkonferenz „Flink Forward Europe 2019“ Stateful Functions für Apache Flink angekündigt. Der Quellcode soll der Apache Flink Community zur Verfügung gestellt werden.

Stateful Functions sind als einfache, aber leistungsfähige Abstraktion konzipiert, die auf Funktionen mit persistentem und fehlertolerantem Zustand basiert. Diese Funktionen interagieren asynchron miteinander und lassen sich zu komplexeren Funktionsnetzen zusammensetzen. So sollen etwa Infrastrukturen für das Application Site Management (z. B. Key-Value-Stores, Message Broker) überflüssig werden. Diese Vereinfachung soll das Erstellen und Orchestrieren von Stateful-Anwendungen erleichtern und beschleunigen.

Stephan Ewen, CTO von Ververica
Stephan Ewen, CTO von Ververica (Bild: Ververica)

Da Funktionen serverless laufen und keine konstanten Ressourcenbedarf haben (und auch keine Leerlaufzeiten aufweisen), komme dies verbrauchsabhängigen Preismodellen zugute, die langsam zur Norm werden, erläuterte Stephan Ewen, der CTO von Ververica. Als Beispiel nannte er eine Ride-Sharing App, wie sie etwa Lyft oder Uber anbieten: „Der Preis pro Fahrt wird in Echtzeit ermittelt und den jeweiligen Kapazitäten und der Nachfrage angepasst.“ Uber gehört, wie etwa Netflix, zu Ververicas Kunden. Als weiteres Beispiel führte er die permanente Betrugserkennung bei Kreditkartenfirmen und Banken an.

Weitere Prozesse, die zustandsabhängig (stateful) sind, wären Bestellung, Zahlung, Logistik, aber auch heterogene Event-Stream-Pipelines mit wechselnder Last (beispielsweise IoT Event Rule Pipelines). Ein weiterer Einsatzbereich seien Echtzeit-Kontext und -Statistiken wie etwa Recommendation Engines (Suche- und Inhalts-Ranking etc.) und Feature Assembly für Machine Learning. Typische Anwendungsbereiche für Apache Flink sind:

  • Die Echtzeitkontrolle von Finanztransaktionen,
  • die Echtzeitauswertung des Kunden- oder Userverhaltens auf Internetseiten und
  • die Echtzeitverarbeitung großer Mengen von Sensordaten der automatisierten Prozesse der Industrie 4.0.

Ververica will an Verbesserungen arbeiten, um Stateful Functions zu etablieren und zu steigern, wie etwa die Unterstützung von Nicht-JVM-basierten Sprachen, detailliertere Beobachtungsfähigkeit und schnellere Wiederherstellungszeiten. Weiterführende Informationen findet man im Ververica-Blog.

Version 2.0

Die überarbeitete WebUI in v1.9 wurde u. a. mit Angular erstellt.
Die überarbeitete WebUI in v1.9 wurde u. a. mit Angular erstellt. (Bild: Ververica)

Kürzlich hat Ververica das Release 2.0 seiner Plattform vorgestellt. Es umfasst Flink 1.8.2 und 1.9.0 und ist insofern bedeutsam, weil darin endlich die Stream- und Batch-Verarbeitungsfunktionen von Apache Flink in einer einzigen, einheitlichen Runtime integriert werden. Damit habe Flink endgültig gegenüber Apache Spark die Nase vorn, so Ewen, denn Spark verarbeite Daten weiterhin v. a. in Batch-Jobs (in einer Lambda-Architektur) statt in Datenströmen. Ewen weiter: „Von Apache Kafka unterscheidet sich Flink, indem es sich auf ,Compute‘ fokussiert, Kafka hingegen auf ,Storage‘. Manche unserer Kunden setzen Flink zusammen mit Kafka ein.“

Die überarbeitete WebUI in v1.9 zeigt übersichtlich auch die anstehenden Tasks an.
Die überarbeitete WebUI in v1.9 zeigt übersichtlich auch die anstehenden Tasks an. (Bild: Ververica)

Die Unterstützung durch Alibaba, das Stream Processing u. a. in seinem Bezahldienst Alipay nutzt, drückt sich u. a. auch in der Spende von „Blink“ aus, der Alibaba-Version von Flink. Blink vereint Streaming und Batch-Verarbeitung. Nun lassen sich der Flink- und der Blink-Prozessor parallel bzw. wahlweise nutzen.

Flink und Blink laufen in Release v1.9 parallel.
Flink und Blink laufen in Release v1.9 parallel. (Bild: Ververica)

Im Release 1.9.0 sind die Wiederherstellung im Batch-Stil für Batch-Jobs realisiert sowie eine Vorschau auf die neue Blink-basierte Suchmaschine für Tabellen-API- und SQL-Abfragen zu finden. Die State Processor API ist endlich verfügbar, nach Ververica-Angaben eine der am häufigsten nachgefragten Funktionen. Sie ermöglicht es Benutzern, Savepoints mit Flink DataSet-Jobs zu lesen und zu schreiben. Die API deckt alle Varianten von Snapshots ab: Savepoints, vollständige Checkpoints und inkrementelle Checkpoints. Um die End-to-end-Semantik beim Stoppen eines Jobs zu verbessern, führt Flink 1.9 einen neuen SUSPEND-Modus ein, um einen Job mit einem Savepoint zu stoppen, der mit den emittierten Daten konsistent ist.

Die Ververica-Plattform v2.0 basiert auf Apache Flink v.2.0. Flink verarbeitet Datenströme von Ereignissen und Funktionen in Echtzeit.
Die Ververica-Plattform v2.0 basiert auf Apache Flink v.2.0. Flink verarbeitet Datenströme von Ereignissen und Funktionen in Echtzeit. (Bild: Ververica)

Des Weiteren weist das neue Release noch eine überarbeitete Web-Benutzeroberfläche auf und bietet Vorschauen auf die neue Python Table API von Flink und deren Integration in das Apache-Hive-Ökosystem. Zudem soll Hive vollständig integriert werden. Mit „Stream Pipes“ hat Ververica ein Produkt vorgestellt, mit dem Entwickler und Data Scientists eigene analytische Anwendungen zusammenstellen können. Die Demo, die gezeigt wurde, war in weniger als einer Viertelstunde zusammengestellt.

Enterprise-ready

Stephan Ewen betont, dass Ververica fit für den Einsatz im Enterprise-Markt sei. Daher rührt auch die Ausweitung des Support-Zeitraums von einem auf drei Jahre. Wie schon an Großkunden wie Uber oder Netflix abzulesen, unterstützt Apache Flink Security, Clustering und Hochverfügbarkeit (HA). Für die HA-Failover-Fähigkeit des Flink-Masters wurden High Availability Services implementiert, die auf dem Kubernetes-Cluster aufsetzen. Diese Services ersetzen den Rückgriff auf Apache Zookeeper, der bei einem Versagen des Flink-Masters herangezogen werden musste.

In v2.0 verlässt sich Ververica nur auf dauerhaften (Blob-)Storage, etwa auf AWS S3, Azure Blob Storage (ABS)), in NFS, und übernimmt auch gleich deren Verwaltung und den Zugriff darauf. Geplant ist die Unterstützung weiterer Storage-Infrastrukturen wie Google Cloud Storage, Aliyun Object Storage Service und Hadoop HDFS. Artefakte von Anwendungen mussten bislang mit externen Tools wie Nexus hochgeladen werden. Sie werden künftig in der obengenannten Storage-Infrastruktur abgelegt und lassen sich über die Web-Benutzeroberfläche hochladen und verwalten. Nexus soll weiterhin unterstützt werden.

Partner

Ververica hat sein eigenes Ökosystem aufgebaut und baut es stetig aus. Der Partner Neo4J etwa, ein Anbieter von Graph-Datenbanken, hat die Integration seiner eigenen Abfragesprache Cypher mit Apache Flink bekanntgegeben und sie auch in einer Session der Konferenz überzeugend demonstriert. Mit Graph-Datenbanken lassen sich alle Arten von Beziehungen darstellen und untersuchen, etwa in Netzwerken.

Schließlich wurde auf der Flink Forward ein neues Partnerprogramm vorgestellt: die „Ververica Stream Alliance“. Es umfasst bislang drei Partnerkategorien:

  • 1. Partner, die Beratungsdienstleistungen anbieten;
  • 2. Unternehmen, die diese Stream-Processing-Technologie mit der Ververica Platform in ihr Portfolio aufnehmen oder den Markteinführungsansatz verfolgen; und
  • 3. Cloud Provider, die ihren Kunden ein Flink-basiertes Produkt oder Cloud-Services der Ververica Platform anbieten möchten.

Ververica will stark in die Aus- und Weiterbildung der Partner, die Technologieintegration und die Beratung der Partner aus erster Hand investieren. Es sieht so aus, als habe die Akquisition durch Alibaba dem Unternehmen Ververica neue Energie und weitere Möglichkeiten eröffnet. „Es gibt aber noch einiges zu tun“, sagt Ewen abschließend.

Flink hat zwischen Spark, Kafka und anderen Projekten eine nachgefragte Marktnische gefunden. „Der Markt für Stream Processing startet gerade durch und lässt Batch-Verarbeitung hinter sich“, freut sich Ewen. Nach Ansicht von Flink-Beiträger Fabian Hüske hat Flink „die Fähigkeit, Stapelverarbeitung, Echtzeit-Datenverarbeitung und ereignisgesteuerte Anwendungen auf genau die gleiche Weise zu modellieren und gleichzeitig hohe Leistung und Konsistenz zu bieten.“ Das wäre dann eine Plattform für Unified Data Processing.

Stateful Stream Processing mit Apache Flink

Kommentar von Fabian Hüske, Ververica

Stateful Stream Processing mit Apache Flink

20.09.19 - Apache Flink ist für typische Geschäftsanwendungen gedacht, die bestimmte Geschäftslogiken auf kontinuierliche Datenflüsse in Echtzeit anwenden. lesen

Kommentare werden geladen....

Kommentar zu diesem Artikel abgeben

Der Kommentar wird durch einen Redakteur geprüft und in Kürze freigeschaltet.

Anonym mitdiskutieren oder einloggen Anmelden

Avatar
Zur Wahrung unserer Interessen speichern wir zusätzlich zu den o.g. Informationen die IP-Adresse. Dies dient ausschließlich dem Zweck, dass Sie als Urheber des Kommentars identifiziert werden können. Rechtliche Grundlage ist die Wahrung berechtigter Interessen gem. Art 6 Abs 1 lit. f) DSGVO.
  1. Avatar
    Avatar
    Bearbeitet von am
    Bearbeitet von am
    1. Avatar
      Avatar
      Bearbeitet von am
      Bearbeitet von am

Kommentare werden geladen....

Kommentar melden

Melden Sie diesen Kommentar, wenn dieser nicht den Richtlinien entspricht.

Kommentar Freigeben

Der untenstehende Text wird an den Kommentator gesendet, falls dieser eine Email-hinterlegt hat.

Freigabe entfernen

Der untenstehende Text wird an den Kommentator gesendet, falls dieser eine Email-hinterlegt hat.

copyright

Dieser Beitrag ist urheberrechtlich geschützt. Sie wollen ihn für Ihre Zwecke verwenden? Kontaktieren Sie uns über: support.vogel.de/ (ID: 46194977 / Analytics)