Stream Processing
Airbus setzt auf Flink zur Bewältigung der Datenflut in Echtzeit
Apache Flink unterstützt Airbus bei der Realisierung eines sehr anspruchsvollen Echtzeit-Big-Data-Projekts
Angesichts neuer Anforderungen der Internationalen Zivilluftfahrt-Organisation (ICAO) und des wachsenden Luftverkehrsaufkommens benötigt die Luftfahrt zunehmend Echtzeitanalysen auf globaler Ebene, um Entscheidungen zu unterstützen. Airbus Defence and Space hat daher die Flugdaten-Analyselösung Airbus AirSense entwickelt und Mitte 2018 auf den Markt gebracht. Diese nutzt Microsoft Azure Managed Services wie Event Hubs und Azure Managed Kubernetes, sowie Open-Source-Technologien, insbesondere Apache Flink. Ververcia (ehemals Data Artisans) erläutert, wie Airbus diese neuen Technologien einsetzt.
Airbus muss seine Flugzeuge in der Luft halten, insgesamt 69 Millionen Flugstunden pro Jahr. Aus diesen Flugbewegungen stammen die riesigen Mengen an Daten, mit denen Airbus arbeitet, woraus einige Herausforderungen resultieren. So sendet ein Flugzeug sein Signal mindestens zweimal pro Sekunde. Insgesamt wird das gesamte Datenvolumen aus 10.000 bis 15.000 Flügen generiert, die zu einem bestimmten Zeitpunkt durchgeführt werden. Das gesamte weltweit verfügbare Nachrichtenvolumen beträgt also 24.000 Nachrichten pro Sekunde. Da immer mehr Flugzeuge eingesetzt werden, steigt die Zahl der Nachrichten kontinuierlich.
„Unsere Mission ist es, das Reiseerlebnis für Endkunden zu maximieren und die verfügbaren Ressourcen weltweit besser zu nutzen. Wir wollen Engpässe beheben, die Luftfahrt sicher halten, die Umweltauswirkungen reduzieren und insgesamt eine bessere Leistung erbringen. Das ist das Ziel, das wir mit AirSense verfolgen“, so Heiko Udluft, Data Scientist & Digital Product Development Tech-Team Lead for Airbus AirSense.
Er erklärt die Besonderheiten von AirSense: „Wir mussten eine Datenpipeline aufbauen, über die AirSense rund zwei Milliarden Ereignisse pro Tag, mit einem Datenvolumen von 100 Gigabyte, in Echtzeit verarbeiten und analysieren kann. Das war eine immense Big-Data-Herausforderung. Wir benötigten die entsprechenden Tools und mussten über das nötige Engineering verfügen, um diese Datenmengen bewältigen zu können.“
Echtzeit-Herausforderungen führen zu Entscheidung für Apache Flink
Zum Zeitpunkt der Realisierung boten sich verschiedene Möglichkeiten, um diese großen Datenmengen schnell zu verarbeiten, wie Udluft erläutert: „Wir haben uns drei verschiedene Technologien als Teil eines Proof of Concept angesehen und uns für Apache Flink entschieden. Wir nutzen die Daten tatsächlich in Echtzeit. Hierzu werden Daten, die von Ereignis-Hubs kommen, in Echtzeit mit Flink verarbeitet. Diese Art der Verarbeitung ist wichtig, denn so können wir die erforderlichen Analysen durchführen. Echtzeit-Analysen in großem Maßstab sind sehr anspruchsvoll, weil es auf Zustandsvollständigkeit und Echtzeit-Shuffle-Ausgänge ankommt“, so Udluft.
Das Flink-Cluster wird bei Airbus mit dem Kubernetes-Dienst betrieben. Flink bietet vor allem die Möglichkeit, Ausfälle besser zu handhaben, ohne den gesamten Zustand wiederholen zu müssen.
Udluft fügt hinzu: „Für die Stapelverarbeitung ist Apache Spark ein guter Weg, aber sobald die Dinge in Echtzeit erledigt werden müssen und echte Echtzeitanforderungen gestellt werden, denken wir, dass Flink ein wesentlich besserer Weg ist. So ist die Latenzzeit für uns wirklich entscheidend und wichtig. Apache Flink liefert unserer Ansicht nach die beste Stateful-Unterstützung, die sehr anspruchsvoll ist. Die Stateful-Unterstützung von Apache Flink ist unglaublich gut und bietet auch die Möglichkeit, Abfragen zu stellen. Wir können tatsächlich einen Zustand abfragen und eine Antwort erhalten, was für uns überaus interessant ist.“
Fortschrittliche Analyselösung wird gespeist von mehreren Daten-Feeds
Die fortschrittliche Analyselösung verarbeitet Multi-Source-Überwachungsdaten, die auf globalen ADS-B-Daten (Automatic Dependent Surveillance Broadcast) basieren. AirSense wird somit gespeist von verschiedenen Daten-Feeds für Flugzeugpositionen und bringt Daten aus mehreren Quellen in Echtzeit zusammen. Die Menge und Größe der Daten, mit denen es Airbus zu tun hat, die sehr hohe Anzahl der Nachrichten pro Sekunde und auch die daraus zu extrahierenden Analysen machen den Betrieb von AirSense überaus anspruchsvoll. Hier kommen Mustererkennung, maschinelles Lernen und viele fortschrittliche Analyseapplikationen zum Einsatz.
Airbus AirSense nutzt zudem mehrere Datenanbieter und muss alle diese Daten sinnvoll zusammenfassen. Die Daten müssen verarbeitet, Datenfehler herausgefiltert werden. Hierbei verwendet Airbus interne Modelle zur Verbesserung der Datenqualität und spezifische Modelle, um beispielsweise den Treibstoffverbrauch zu bestimmen. Letzteres ist ein Beispiel für Daten, die für Analysten relevant sind. Am Ende müssen Informationen an die Kunden verteilt werden, ebenso in Echtzeit und im Umfang von Tausenden von Nachrichten pro Sekunde.
Flink überzeugt erneut in einem bedeutenden, anspruchsvollen Big-Data-Projekt
Die Open Source-Community freut sich, Apache Flink für ein weiteres bedeutendes, anspruchsvolles Big-Data-Projekt – wie in diesem Fall Airbus AirSense – bereitstellen zu können. Die Echtzeitverarbeitung und -analyse großer kontinuierlich zufließender Datenmengen stellt Unternehmen vor erhebliche Herausforderungen. Mit Apache Flink können Unternehmen Lösungswege beschreiten, um diese Hürden zu meistern, innovative Lösungen hervorzubringen und in der Praxis zuverlässig zu betreiben.
Über Ververica (ehemals Data Artisans)
Ververica wurde von den ursprünglichen Entwicklern von Open Source Apache Flink® gegründet, um Echtzeit-Datenanwendungen für Unternehmen bereitzustellen. Das Unternehmen stellt die Ververica Plattform mit Open Source Apache Flink für die schlüsselfertige Stream-Verarbeitung zur Verfügung, so dass Unternehmen Live-Datenanwendungen verwalten und bereitstellen können, damit sie sofort auf Daten reagieren und bessere und schnellere Geschäftsentscheidungen treffen können. Globale Unternehmen wie Alibaba, ING, Netflix und Uber verwenden Flink als Stream Processing Engine, um große zustandsorientierte Anwendungen zu betreiben, einschließlich Echtzeit-Analyse, maschinelles Lernen, Such- und Inhaltsranking sowie Betrugserkennung.