NextLytics Blog

Apache Airflow Summit 2022 - Trends und Themen

Geschrieben von Markus Suhr | 02.06.2022 10:27:06

Der Apache Airflow Summit ist der Höhepunkt des Jahres für die Community der Entwickler, Mitwirkenden und Nutzer der beliebten Workflow-Management Software. Der Summit 2022 fand vom 23. bis 27. Mai als globale Hybrid-Konferenz mit lokalen Sessions in 13 verschiedenen Städten rund um den Globus statt, mit 53 Vorträgen und Diskussionsrund und einem Publikum von fast 8000 Personen, die über die Online-Konferenz eingeschaltet haben. Unsere NextLytics-Berater waren dabei, um nach den neuesten Entwicklungen und Trendthemen Ausschau zu halten und haben ihre Beobachtungen in dieser ersten Rückschau für Sie zusammengefasst!

Apache Airflow Summit Eröffnungsfolie, ein vertrautes Bild nach der Konferenzwoche (Bildquelle: airflowsummit.org)

Kernthemen der Summit Sessions

Mit 53 Sitzungen, die zwischen 30 und 60 Minuten dauerten, und ohne offizielle Themenblöcke zur Orientierung, ist es eine Herausforderung, die interessantesten Präsentationen und Diskussionen zu finden. Nachdem wir viele der Live-Sitzungen verfolgt und fast alle Vorträge des 5-tägigen Summit noch einmal angeschaut haben, lassen sich die folgenden vier Kernthemen festhalten:

  1. Veränderungen am System und neue Funktionen
  2. Systembetrieb und Monitoring
  3. Anwendungsbeispiele und Best Practices
  4. Machine Learning Orchestrierung

Wenn Sie nicht die Möglichkeit oder die Ressourcen haben, sich die beträchtliche Menge an aufgezeichneten Vorträgen selbst anzusehen, präsentieren wir Ihnen in hier einen kurzen Überblick der wichtigsten Entwicklungen. Lesen Sie bis zum Ende, um einen zusätzlichen Blick auf die vielversprechendsten zukünftigen Funktionen von Airflow zu werfen, die auf der Konferenz angedeutet wurden!

Kernthemen der Apache Airflow Summit 2022 Konferenz

Neuerungen in Airflow

In Anbetracht der Tatsache, dass Airflow 2.3 erst am 30. April 2022 veröffentlicht wurde, war eines der Hauptthemen des Summit natürlich die Vorstellung neuer Funktionen und geänderter interner Funktionsweise.

Eine der wichtigsten Entwicklungen in Airflow 2.3 ist die Einführung einer echten "Dynamic DAG"-Funktionalität. Während zuvor alle Best-Practice-Beispiele für die dynamische Erstellung von Tasks während der DAG-Laufzeit mit dem üblichen Satz "wir wissen, dass dies KEINE gute Praxis ist" vorgestellt wurden, gibt es jetzt einen waschechten Mechanismus dafür! Als Teil der Airflow-Engine kann jeder Operator-Typ verfielfältigt werden (engl. "extended"), indem durch Elemente von Python List-Objekten oder Dictionaries iteriert wird. Es ist kein selbstprogrammierter Workaround mehr erforderlich.

Die neue Grid View-Komponente in der Benutzeroberfläche ist eine gut sichtbare neue Funktion. Sie zeigt alle Tasks und ihre individuellen Ausführungen und Zustände in kompakter Form an und ist damit ein bedeutender Fortschritt gegenüber den bisher verfügbaren Visualisierungen. Vervielfältigte Tasks, die durch die neuen Dynamic-DAG-Funktionen erstellt wurden, werden in gruppierter Form angezeigt und sind in dieser Ansicht intuitiv zugänglich. Das zusätzliche Details-Panel ermöglicht es Nutzern, schnell tiefergehende Informationen über ein DAG abzurufen und verbessert damit die Benutzerfreundlichkeit der Oberfläche weiter.

Screenshot der neuen Grid View Darstellung von DAGs, die mit Airflow 2.3 eingeführt wurde (Bildquelle: airflow.apache.org)

Eine weniger sichtbare aber wichtige architektonische Entwicklung ist die Einführung von "aufschiebbaren" Operatoren (engl. “deferrable”). Um dies zu erreichen, wurde eine neue Komponente namens Triggerer in den Airflow-Kern integriert, die alle asynchronen Aufträge abwickelt. Also solche Tasks, die über längere Zeiträume auf eine externe Bedingung warten, anstatt selbst aktiv etwas zu verarbeiten. Diese Schnittstelle ist ein logischer Nachfolger des experimentellen "Smart Sensors"-Konzepts, das ein ressourceneffizientes Scannen nach Auslösebedingungen über eine Gruppierung von Sensoraktivitäten ermöglichte. Die Entwickler berichten von Leistungsverbesserungen von bis zu 90 % weniger verbrauchten Rechenressourcen. Um diese neue interne Schnittstelle zu nutzen, brauchen lediglich neue Varianten der bestehenden Operatoren in DAGs verwendet werden. Die neuen Variante verfügen über die gleichen Methodensignatur und werden nach und nach von der Airflow-Community implementiert.

Weitere Informationen zu den neuesten Funktionen von Airflow finden Sie im offiziellen Blogbeitrag zum Release oder Sie kontaktieren uns direkt, um die Möglichkeiten eines Upgrades Ihres Airflow-Systems im Hinblick auf Ihre spezifischen Anforderungen und Ihre Umgebung zu besprechen!

Optimieren Sie Ihr Workflowmanagement mit Apache Airflow!

Systembetrieb und Monitoring

Ein weiterer großer Teil der Sessions befasste sich mit dem Betrieb von Airflow in verschiedenen (Cloud-)Umgebungen und insbesondere mit den Herausforderungen, die sich aus einer wachsenden Anzahl von Workflows oder Instanzen ergeben, die Produktivbetrieb laufen: Überwachung von Systembetrieb und Prozesserfolg. Im Englischen wird hier mit dem Schlagwort “data observability” einer der aktuellen Trends gesetzt.

Während Apache Airflow ein zunehmend ausgereiftes Stadium erreicht, verlagert sich der Schwerpunkt von der Einführung dringend benötigter neuer Funktionen auf die Optimierung des täglichen Betriebs. Diese Verlagerung wurde auf der Konferenz 2022 deutlich sichtbar. Software-as-a-Service-Anbieter teilten ihre Erkenntnisse über den effizienten Betrieb von Airflow-Umgebungen in großer Zahl auf Kubernetes-Clustern und/oder Cloud-Infrastrukturen mit den Teilnehmenden. Während einige dieser Erkenntnisse auch in kleineren Betriebsumgebungen anwendbar sind, war das vorherrschende und allgegenwärtige heiße Thema die Überwachung von Airflow, seiner Gesamtleistung und insbesondere des Erfolgsstatus der Geschäftslogik, welche in DAGs verpackt ist.

Mit Blick auf Apache Airflow als ETL-Orchestrator wurde in mehreren Sessions die Frage erörtert, wie sich Datenausfälle (“data downtime”) reduzieren lassen. Es wurden dabei leicht unterschiedliche Definitionen des Begriffs vorgestellt, aber im Allgemeinen bezieht er sich auf Probleme, die durch verschiedenste Fehler in der Datenpipeline entstehen. Ein robuster Systembetrieb auf der Grundlage von DevOps-Prinzipien und Automatisierung ist ein Teil der Lösung. Lesen Sie auch unseren Artikel über die Konzeption eines robusten Systems mit GitLab CI/CD, wenn Sie mehr darüber erfahren möchten. Der zweite und noch anspruchsvollere Teil ist die Überwachung des Datenflusses und der Datenqualität über alle Workflows hinweg. Airflow ist ein großartiges Tool, um eine robuste Ausführung von DAGs zu gewährleisten, muss aber erweitert werden, um die Überwachung des Erfolgs oder Misserfolgs der tatsächlich implementierten Geschäftslogik zu ermöglichen.

An dieser Stelle kommen das Konzept der Data Lineage und die OpenLineage-Spezifikation ins Spiel. Bei den Informationen zur Data Lineage handelt es sich um Metadaten zum Ursprung und zu den Verarbeitungsschritten, die zur Erstellung einer bestimmten Information, z. B. eines Wertes in einer Data-Warehouse-Tabelle, durchlaufen wurden. Es wird erwartet, dass Lineage eine Effizienzsteigerung bei der Verfolgung von Problemen in komplexen Pipelines ermöglicht und die semantische Bedeutung von Datensätzen und Datenprodukten besser über Abteilungsgrenzen hinweg kommunizieren lässt. Das Ziel des OpenLineage Projekts ist es, der Kommunikationsstandard für die Meldung und Überprüfung von Metadaten zur Data Lineage in allen Systemen zu werden, die zu Datenpipelines beitragen. Die derzeitigen Entwicklungen zielen darauf ab, eine automatische Kompatibilität für Datenverarbeitungs-DAGs und -Tasks in Airflow mit der Spezifikation zu erreichen. Einige Beispiele dafür wurden auf dem Summit bereits gezeigt. Obwohl diese Integrationsbemühungen Fortschritte machen, handelt es sich noch um ein komplexes Verfahren, das ein tiefes Verständnis sowohl der Airflow-Interna als auch der für die Integration verwendeten zusätzlichen Tools erfordert.

Derzeit gibt es nicht die eine, optimale Methode zur Implementierung von Data Observability. Unternehmen wie Monte Carlo, Databand oder Acryl Data (mit ihrem Open-Source-Projekt DataHub) werben gleichzeitig mit dem Versprechen von Plug-and-Play-Lösungen mit geringem Aufwand für ihre Dienste.

Anwendungsbeispiele und Best Practices

Präsentationen von vielen Anbietern und Konferenzsponsoren über den optimalen Einsatz von Airflow in unterschiedlichen Szenarien und in Kombination mit verschiedenen Lösungen von Drittanbietern sind ein weiteres traditionell starkes Thema des Summit.

Unter den vielen Präsentationen zu diesen Themen war die Verwendung von CI/CD-Tools zur Automatisierung des Airflow-Betriebs und der DAG-Entwicklungsprozesse eine häufige Empfehlung. Details zur Umsetzung solcher DevOps-Prinzipien für Airflow wurden inhaltlich oft sehr ähnlich zu unserer eigenen Sammlung von Best Practices vorgestellt. Andere Best Practices für die Implementierung von Workflows und Datenflüssen umfassten die Anwendung von containerisierten Prozessschritten unter Verwendung des DockerOperators oder KubernetesOperators, die Verwendung von (automatisierten) Testverfahren und die Nutzung von systemeigenen Funktionen wie Pools und Service Level Agreements. Wir haben einige dieser Best Practices für Apache Airflow im NextLytics-Blog bereits behandelt und werden andere in naher Zukunft sicherlich ausführlicher vorstellen.

Eine interessante Beobachtung für Kunden von Airflow-SaaS-Angeboten ist, dass der Zugriff auf die Airflow API in mehreren Sessions zu den am meisten nachgefragten Funktionen gehört hat. Es ist davon auszugehen, dass SaaS-Anbieter wie AWS verstärkt daran arbeiten, die vollständige Nutzung der REST-API für Kunden zu ermöglichen, um eine tiefe Integration mit anderen Systemen wie beispielsweise SAP BW-Prozessketten zu ermöglichen.

Machine Learning Orchestrierung

Zu guter Letzt und ganz im Sinne der Art und Weise, wie wir Airflow für unsere Kunden einsetzen, war die Verwendung von Airflow für Machine Learning-Anwendungen und deren Betrieb ein wichtiges Thema im Jahr 2022.

Airflow hat sich zu einem der beliebtesten Orchestrierungs-Tools in der Landschaft der Machine Learning Operations (MLOps) entwickelt. Skalierbarkeit, Erweiterbarkeit und der große Funktionsumfang machen Airflow zu einer guten Wahl für die Verwaltung von ML-Workflows. Eine Ansicht, die von vielen führenden Unternehmen aus der Tech-Branche geteilt wird, wie die Beiträge zu diesem Summit erneut gezeigt haben.

Die wichtigsten Gründe, warum Airflow als perfekt für die Orchestrierung von MLOps-Workflows angesehen wird, wurden in den Präsentationen und Diskussionen auf dieser Konferenz genannt:

  • Die DAG-Ausführung ist sehr robust und bietet viele Optionen zur Wiederherstellung von fehlgeschlagenen Zuständen und/oder zur erneuten Ausführung von Aufgaben, falls erforderlich.
  • DAGs können über die zahlreichen verfügbaren Operatoren in viele verschiedene Systeme integriert werden, so dass Teams die besten Tools und ML-Frameworks für ihre spezifischen Anforderungen auswählen können.
  • Wiederkehrende Schritte in der ML-Pipeline können einfach in Container verpackt und mit Docker- oder Kubernetes-Operatoren ausgeführt werden, wodurch Sicherheitsfeatures und Versionskontrolle in den Prozess integriert werden.
  • Airflow kann über die REST-API in Systeme von Drittanbietern integriert werden, was wiederum eine tiefe Integration in den bestehenden Systemkontext ermöglicht.

Apache Airflow ist eine beliebte Lösung zur Gestaltung und Steuerung von Machine Learning Prozessen.
Unsere Grafik stellt schematisch dar, wie Airflow die Interaktion mit einem Feature Store im Rahmen eines ML-Frameworks steuern kann.

Die auf dem Summit 2022 vorgestellten Best Practices für Machine Learning mit Airflow drehten sich auch um aufkommende Komponenten wie Feature Stores und Model Registries, um benutzerfreundliche ML-Plattformen zu schaffen.

Die (nahe) Zukunft von Airflow

Bei so vielen vorgestellten Verbesserungen, Best Practices und neuen Ideen - was kann man in naher Zukunft von Apache Airflow noch erwarten? Zum Abschluss unseres ersten Rückblicks auf den Airflow Summit 2022 finden Sie hier einige der Funktionen, die für kommende Versionen angekündigt wurden:

Multi-Event-Trigger auf der Grundlage der Deferrable-Operator-Schnittstelle zwerden die Gestaltungsmöglichkeiten für DAGs abermals erweitern. Eine native DAG-Versionierungs-Schnittstelle wird eine zuverlässige Möglichkeit bieten, Änderungen in verschiedenen Umgebungen zu migrieren und gleichzeitig benutzerdefinierte Workarounds zur Versionierung überflüssig machen und einen noch robusteren Systembetrieb ermöglichen. Datengesteuertes Scheduling wird die Möglichkeit bieten, aktiv auf Dataset-Objekte in DAGs zu verweisen und diese (und Änderungen an ihnen) zu nutzen, um DAG-übergreifende Abhängigkeiten zu konstruieren. Und schlussendlich soll die Airflow-Weboberfläche bald einen kompletten Relaunch als moderne React-basierte Webanwendung erfahren, um die Benutzerfreundlichkeit auf ein völlig neues Niveau zu heben.

Wir freuen uns schon jetzt auf die nächsten Releases von Airflow und den inspirierenden Austausch über neue Trends und Themen auf dem Airflow Summit im nächsten Jahr! In der Zwischenzeit würden wir uns freuen, von den Herausforderungen Ihrer Teams zu hören und gemeinsam mit Ihnen an effizienten Lösungen mit den umfassenden Möglichkeiten von Airflow zu arbeiten.