Lernpfad
Apache Airflow 3.0 ist endlich da, und es ist mit Abstand die wichtigste Veröffentlichung in der Geschichte des Projekts.
Diese Version wird die Art und Weise, wie du über die Verwaltung von Arbeitsabläufen denkst, verändern, unabhängig davon, ob du neu im Bereich Daten bist oder schon seit Jahren mit Airflow arbeitest.
Nachdem ich die neue Version aus erster Hand kennengelernt habe, kann ich mit Sicherheit sagen, dass es sich um weit mehr als nur ein inkrementelles Update handelt.
Einige der wichtigsten Highlights sind:
- Eine neue serviceorientierte Architektur mit vollständiger Remote-Ausführung
- Brandneue React-basierte Benutzeroberfläche auf Basis von FastAPI
- DAG-Versionierung und Lernpfad für Änderungen
- Assetgesteuerte und ereignisbasierte DAG-Auslösung
- Native Unterstützung für moderne ML-Workflows
- Klare Upgrade-Pfade und modulare CLI-Aufteilung
Dieser Leitfaden führt dich durch Airflow 3.0 und alles, was es zu bieten hat.
Was ist Apache Airflow?
Apache Airflow ist eine Open-Source-Plattform, mit der du Daten-Workflows programmatisch erstellen, planen und überwachen kannst.
Es ist der führende Orchestrator für komplexe ETL-Pipelines, Data-Engineering-Workflows und seit kurzem auch für Pipelines für maschinelles Lernen.
Das grundlegende Konzept in Airflow ist der DAG (ein gerichteter azyklischer Graph der eine Abfolge von Aufgaben und deren Abhängigkeiten definiert).
Die Aufgaben können von Python-Skripten über SQL-Transformationen bis hin zu containerisierten Operationen reichen, wenn es darum geht, Airflow zu nutzen.
Die Plattform ist flexibel, erweiterbar und jetzt, mit 3.0, zukunftssicherer denn je.
Wenn du gerade erst mit Airflow anfängst, ist die Einführung in Apache Airflow in Python ist eine großartige Ressource, die dir praktische Erfahrungen vermittelt.
Eine kurze Geschichte des Apache Airflow
Airflow wurde ursprünglich 2014 von Airbnb entwickelt und 2015 als Open Source veröffentlicht.
Später wurde es zu einem Apache-Projekt und hat sich seitdem zu einem der am weitesten verbreiteten Orchestrierungstools im Data-Engineering-Ökosystem entwickelt.
- Airflow 1.x: Einführung in die Grundlagen der DAG-Erstellung, des Schedulers und des Executors auf Python-Basis.
- Airflow 2.0 (2020): Ein Meilenstein-Release, das die TaskFlow-API, die REST-API und den hochverfügbaren Scheduler hinzugefügt hat.
- Airflow 2.3-2.5: Einführung von Datensätzen, datenbasierter Planung und Verbesserungen der Beobachtbarkeit.
- Airflow 3.0 (2025): Es handelt sich um ein grundlegendes Redesign, bei dem Modularität, ML-native Fähigkeiten und Cloud-native Unterstützung im Vordergrund stehen.
Aus der folgenden Abbildung geht hervor, dass die Beiträge auf GitHub im Vergleich zum Vorjahr deutlich gestiegen sind, was zeigt, dass Apache Airflow eines der aktivsten Open-Source-Projekte im Bereich der Datenorchestrierung ist.
Die Grafik zeigt die steigende Zahl der GitHub-Beiträge zu Apache Airflow im Laufe der Jahre. Quelle: Airflow 3.0 Einführungsvideo
Was ist neu in Apache Airflow 3.0?
Apache Airflow 3.0 ist eine Version, die auf drei grundlegenden Themen basiert.
Screenshot von der Apache Airflow 3.0 Release-Seite. Quelle: Apache Airflow
Diese Themen spiegeln die Vision des Projekts wider, den Anforderungen moderner Datenplattformen gerecht zu werden, die Erfahrung der Entwickler zu verbessern und die Position von Airflow als zentraler Orchestrator in verteilten, hybriden und ML-gestützten Umgebungen zu stärken.
Die Hauptthemen lassen sich grob wie folgt kategorisieren:
Das Bild fasst die drei Kernthemen von Apache Airflow 3.0 zusammen. Bild erstellt mit Napkin AI
Leichter zu bedienen
Eines der wichtigsten Ziele der Version 3.0 ist die Verbesserung der Benutzerfreundlichkeit in allen Bereichen, von der Kommandozeile über die Benutzeroberfläche bis hin zu den zugrunde liegenden API-Interaktionen.
Airflow ist jetzt einfacher zu erlernen, macht mehr Spaß bei der täglichen Arbeit und ist besser gerüstet, um komplexe betriebliche Anforderungen zu erfüllen.
Stärkere Sicherheit
Sicherheit ist zu einem zentralen Anliegen in der Datentechnik geworden, vor allem aufgrund der wachsenden Datenschutzbestimmungen und der Größe der Dateninfrastruktur.
Airflow 3.0 geht auf diese Probleme ein, indem die Architektur die Isolierung von Aufgaben und die Ausführungskontrolle besser unterstützt.
Die Sicherheitsverbesserungen in Airflow 3.0 sind sowohl proaktiv als auch strategisch, was den Anforderungen von Unternehmen, stark regulierten Branchen und modernen DevSecOps-Praktiken gerecht wird.
Überall und jederzeit laufen
Der moderne Datenstapel ist nicht mehr auf Rechenzentren vor Ort oder sogar auf zentralisierte Cloud-Umgebungen beschränkt.
Airflow 3.0 stellt sich dieser Herausforderung mit der Unterstützung für verschiedene Einsatztopologien und Ausführungsmuster.
Die Möglichkeit, Aufgaben überall auszuführen (und Workflows zu unterstützen, die jederzeit ausgeführt werden können), bietet eine unübertroffene Flexibilität, Belastbarkeit und Skalierbarkeit für die Orchestrierung des modernen Datenlebenszyklus.
Das Bild zeigt Remote-Cluster mit lokalen Arbeitskräften, die überall und jederzeit eingesetzt werden können. Quelle: Airflow 3.0 Astronomisches Einführungsvideo
Im Rest dieses Leitfadens werden Aspekte des Hauptthemas von Airflow 3.0 ausführlicher behandelt.
Wichtige Änderungen an der Architektur von Airflow 3.0
Mit Apache Airflow 3.0 wird neu definiert, wie Aufgaben ausgeführt werden, wo sie ausgeführt werden können und wie Entwickler und Betreiber mit dem System interagieren.
Der Schwerpunkt liegt auf Entkopplung, Modularisierung, Skalierbarkeit und Einsatzflexibilität, damit Airflow die Anforderungen von hybriden und Multi-Cloud-Datenplattformen erfüllen kann.
Das Bild zeigt die Architektur von Airflow 2 und Airflow 3. Quelle: Airflow 3.0 Astronomisches Einführungsvideo
Aufgabenausführungs-API und Aufgaben-SDK
Eine der wichtigsten Neuerungen in Airflow 3.0 ist die Einführung einer Task Execution API und eines dazugehörigen Task SDK.
Diese Komponenten ermöglichen die Definition und Ausführung von Aufgaben unabhängig von der Airflow-Laufzeit-Engine.
Hier sind einige der wichtigsten Folgen davon:
- Sprachliche Flexibilität: Die Aufgaben sind nicht mehr auf Python beschränkt. Mit dem neuen SDK können sie in Sprachen wie Java, Go oder R geschrieben werden, was eine breitere Akzeptanz und Integration in verschiedene Tech-Stacks ermöglicht.
- Umweltentkopplung: Aufgaben können jetzt in isolierten, entfernten oder containerisierten Umgebungen laufen, getrennt vom Scheduler und den Workern. Dadurch werden Abhängigkeitskonflikte vermieden und die Konsistenz der Ausführung verbessert.
- Optimierter Arbeitsablauf für Entwickler: Eine standardisierte Schnittstelle für die Aufgabenentwicklung vereinfacht das Testen und die Bereitstellung, verbessert die Wiederverwendung von Code und verkürzt die Einarbeitungszeit für neue Entwickler.
Diese Architektur ist ein großer Schritt nach vorne, um Airflow flexibler und Cloud-nativ zu machen.
Dies entspricht dem allgemeinen Wandel in der Datentechnik hin zu Sprachenvielfalt, Containerisierung und Reproduzierbarkeit auf Aufgabenebene.
Edge Executor
Der Edge Executor ist eine weitere Neuerung in Airflow 3.0, die sich positiv auswirkt.
Es wurde entwickelt, um die ereignisgesteuerte und geografisch verteilte Ausführung von Aufgaben zu ermöglichen.
Anstatt dass alle Ausführungen in einem zentralen Cluster stattfinden müssen, ermöglicht der Edge Executor die Ausführung von Aufgaben an oder in der Nähe der Datenquelle.
Einige der wichtigsten Vorteile von Edge Execution sind:
Das Bild zeigt die wichtigsten Vorteile von Edge Execution. Bild erstellt mit Napkin AI
- Geografische Flexibilität: Aufgaben können in entfernten oder regionalen Clustern, Rechenzentren oder sogar auf Edge-Geräten ausgeführt werden.
- Reaktionsfähigkeit in Echtzeit: Ideal für ereignisgesteuerte Anwendungsfälle mit niedriger Latenz, wie z. B. IoT, Finanzdaten-Feeds oder Betriebsüberwachung.
- Geringere Netzwerklatenz: Da die Berechnungen in der Nähe der Datenquelle stattfinden, gibt es weniger Overhead bei der Übertragung großer Datenmengen zu einem zentralen Cluster.
- Ereignisgetriggerte Pipelines: Edge Executor unterstützt das neue ereignisgesteuerte Zeitplanungsparadigma, das in Airflow 3.0 eingeführt wurde.
Aufgabenisolierung und Einsatztopologien
Airflow 3.0 führt eine neue Stufe der Aufgabenisolierung ein, die sowohl die Sicherheit als auch die Leistung deutlich erhöht.
Die Möglichkeit, Aufgaben in Sandbox-Umgebungen auszuführen, verringert das Risiko von Datenlecks und Ressourcenkonflikten.
Außerdem ermöglicht es ein flexibleres Abhängigkeitsmanagement, da verschiedene Tasks oder DAGs mit ihren eigenen Versionen von Bibliotheken, Python-Umgebungen oder Runtime Engines arbeiten können.
Durch diese Isolierung werden reibungslose Upgrades unterstützt. Die Kernkomponenten von Airflow können aktualisiert werden, ohne laufende Aufgaben zu unterbrechen oder die Kompatibilität zu beeinträchtigen.
Die verbesserte Architektur ermöglicht außerdem eine Reihe von Einsatzszenarien, die auf unterschiedliche Infrastrukturanforderungen zugeschnitten sind.
In öffentlichen Cloud-Umgebungen können Airflow Worker problemlos über Anbieter wie AWS, GCP oder Azure verteilt werden.
Bei privaten oder hybriden Cloud-Konfigurationen können die Komponenten der Steuerungsebene in einem sicheren Netzwerk verbleiben, während die Aufgaben in einer DMZ oder einem lokalen Rechenzentrum ausgeführt werden.
Darüber hinaus unterstützt Airflow 3.0 Edge Deployments, die Anwendungsfälle wie ML-Inferenz oder Anomalieerkennung direkt auf industrieller oder mobiler Hardware ermöglichen.
Diese Funktionen unterstützen die Einhaltung von Vorschriften zur Datenlokalität, fehlertolerantes Scheduling und GPU-beschleunigte Ausführung.
CLI Split: airflow und airflowctl
Airflow 3.0 führt eine geteilte Befehlszeilenschnittstelle (CLI) ein, die das modulare Backend ergänzt und zwischen lokalen Entwicklungs- und Remote-Betriebsaufgaben unterscheidet.
Airflow
- Wird für lokale Entwicklung und Tests verwendet
- Interagiert mit lokalen DAGs, Metadaten-DB und Komponenten
- Unterstützt schnelle Tests, DAG-Parsing und CLI-basiertes Debugging
airflowctl
- Konzipiert für die Produktion und Remote-Orchestrierung
- Verwaltung der Umgebung, Bereitstellung und Ausführung in der Cloud
- Nützlich für CI/CD-Pipelines, Beobachtbarkeit und verteiltes Clustermanagement
Diese Aufteilung vereinfacht die Arbeitsabläufe sowohl für einzelne Entwickler als auch für Plattformteams.
Alle technischen Details und eine vollständige Liste der Änderungen findest du auf der offiziellen Airflow 3.0 Versionshinweise.
Zusammenfassung der Architekturverbesserungen
Hier ist eine Tabelle mit einer Zusammenfassung der Architekturverbesserungen:
Feature |
Beschreibung |
Aufgabe SDK + API |
Schreiben und Ausführen von Aufgaben in jeder Sprache mit Unterstützung für Remote-Ausführung |
Edge Executor |
Verteilte Aufgabenausführung in der Nähe von Datenquellen oder über geografische Grenzen hinweg |
Aufgabenisolierung |
Sichere und unabhängige Aufgabenumgebungen; flexibles Abhängigkeitsmanagement |
CLI Aufteilung |
Klare Unterscheidung zwischen lokalen (airflow) und entfernten (airflowctl) Befehlen |
Topologien für den Einsatz |
Unterstützt hybride, Multi-Cloud-, Edge- und GPU-beschleunigte Ausführungsmuster |
Neue React-basierte Benutzeroberfläche und DAG-Versionierung
Airflow 3.0 führt eine komplett neu gestaltete Benutzeroberfläche ein, die von Grund auf mit React für das Frontend und FastAPI als neuem Backend-Framework entwickelt wurde.
Schnellere und reaktionsschnellere Benutzeroberfläche
Die neue UI-Architektur bietet eine deutlich reibungslosere Benutzererfahrung, insbesondere in Umgebungen mit Hunderten oder Tausenden von DAGs.
Die Seiten werden schneller geladen, die UI-Elemente sind intuitiver und das Navigationsmodell fühlt sich über verschiedene Ansichten hinweg konsistent und responsiv an.
Einige der wichtigsten UI-Verbesserungen sind:
- Verbesserungen der Rasteransicht: Verbesserte Navigation, Suche und Filterung in der Zeitleiste. Die Benutzer können jetzt einfacher den Ausführungsstatus von DAGs überprüfen und fehlgeschlagene oder festgefahrene Aufgaben beheben.
- Verbesserungen in der Grafikansicht: Besseres Zoomen, Schwenken und interaktives Erkunden von Aufgaben-Metadaten. Das hilft dabei, komplexe DAG-Strukturen auf einen Blick zu verstehen.
- Asset Panel: Eine neue Ansicht, die speziell für Asset-gesteuerte Workflows entwickelt wurde. Sie ermöglicht es den Nutzern, Assets, ihre Produzenten und Konsumenten sowie die Abstammung über DAGs hinweg zu visualisieren.
Integrierte Unterstützung für den Dunkelmodus
Der dunkle Modus ist jetzt nativ und durchdacht in Airflow integriert und bietet ein verfeinertes visuelles Erlebnis, das auf Klarheit und langfristigen Komfort ausgelegt ist.
Während eine Version des Dark Mode bereits in Version 2.x verfügbar war, wird mit dieser Version eine vollständig entwickelte und eigens dafür entwickelte Design-Ebene eingeführt.
Sie wurde sorgfältig auf Kontrast, Lesbarkeit und eine geringere Belastung der Augen bei langen Arbeitssitzungen optimiert.
Als jemand, der einige Zeit in der Entwicklungsbranche verbracht hat, weiß ich das wirklich zu schätzen.
Sie war eine der am meisten gewünschten Community-Funktionen und ist besonders wertvoll für Entwickler, die oft in schwach beleuchteten Umgebungen arbeiten oder einfach eine dunklere Oberfläche bevorzugen.
Die Bilder unten verdeutlichen den visuellen Kontrast zwischen dem hellen und dem dunklen Modus der Airflow-Konsole im Armaturenbrett.
Screenshot der Airflow-Konsole im Lichtmodus. Quelle: Airflow 3.0 Astronomisches Einführungsvideo
Screenshot der Airflow-Konsole im dunklen Modus. Quelle: Airflow 3.0 Astronomisches Einführungsvideo
DAG Versionierung
Eine der wichtigsten neuen Funktionen in Airflow 3.0 ist die erstklassige DAG-Versionierung.
Die Herausforderung in Airflow 2.x
In früheren Versionen von Airflow wurden DAGs aus Quellcodedateien geparst, und die neueste Version der DAG wurde universell, sogar rückwirkend, auf vergangene DAG-Läufe angewendet.
Dieser Ansatz führte zu mehreren bekannten Problemen.
Ein großes Problem war die Ausführungsabweichung. Wenn du eine DAG während eines Laufs aktualisiert hast, könnten Aufgaben unter verschiedenen Versionen des Codes ausgeführt werden.
Außerdem ging die Nachvollziehbarkeit verloren, da Airflow keinen nativen Mechanismus hatte, um zu verfolgen, welche Version eines DAG für eine bestimmte Ausführung verwendet wurde.
Außerdem litt die historische Genauigkeit darunter, dass die Benutzeroberfläche immer die neueste DAG-Struktur anzeigte, unabhängig davon, wann die DAG tatsächlich ausgeführt wurde, was zu inkonsistenten und potenziell irreführenden Ausführungsprotokollen führte.
Was Airflow 3.0 ändert
Airflow 3.0 führt die strukturierte DAG-Versionsverfolgung direkt in die Plattform ein:
- DAGs werden jedes Mal versioniert, wenn ein neuer Einsatz oder eine Codeänderung erfolgt.
- Historische Läufe werden zusammen mit der genauen DAG-Version, die sie erzeugt hat, gespeichert.
- Du kannst eine bestimmte Version einer DAG auswählen, um sie über die Benutzeroberfläche zu prüfen, neu zu starten oder zu analysieren.
Ich schätze diese Funktion sehr, denn in der Praxis ist es fast unmöglich, eine DAG zu erstellen, die nicht geändert werden muss.
DAGs müssen aufgrund neuer Geschäftslogik, der Behebung von Fehlern oder der Optimierung der Leistung weiterentwickelt werden, und die eingebaute Versionierung macht diesen Prozess viel transparenter und handhabbarer.
Die folgenden Screenshots zeigen die DAG-Orchestrierungsoberfläche und das neue Dropdown-Menü für den Versionsverlauf.
Bild der DAG-Orchestrierung. Quelle: Airflow 3.0 Astronomisches Einführungsvideo
Screenshot der DAG-Orchestrierung mit einem Versionsverlaufs-Dropdown. Quelle: Airflow 3.0 Astronomisches Einführungsvideo
Warum die DAG-Versionierung wichtig ist
Die DAG-Versionierung spielt eine entscheidende Rolle bei der Aufrechterhaltung zuverlässiger, nachvollziehbarer und konformer Daten-Workflows. Hier ist, warum das wichtig ist:
- Reproduzierbarkeit: Du kannst eine DAG jetzt zuverlässig genau so wiederholen, wie sie in der Vergangenheit ausgeführt wurde, auch wenn sich der aktuelle Code geändert hat.
- Debugging: Fehler können bis zu der jeweiligen Version der DAG zurückverfolgt werden, was die Ursachenanalyse erleichtert.
- Governance: In regulierten Umgebungen unterstützt die Versionskontrolle die Einhaltung von Vorschriften, indem sie einen Prüfpfad darüber führt, welcher Code wann und wie verwendet wurde.
- CI/CD Integration: Teams, die GitOps-Workflows nutzen, können DAG-Versionen in Airflow mit Commit-Hashes in der Versionskontrolle verknüpfen, um eine vollständig nachvollziehbare Lieferpipeline zu erhalten.
Die Screenshots unten zeigen, wie einige der Änderungen in der Benutzeroberfläche angezeigt werden, mit versionsabhängigen Ansichten in der DAG-Übersicht und im Codefenster.
Screenshot des Übersichtsfensters innerhalb einer DAG in der Airflow-Konsole. Quelle: Airflow 3.0 Astronomisches Einführungsvideo)
Screenshot des Codefensters innerhalb eines DAG in der Airflow-Konsole. Quelle: Airflow 3.0 Astronomisches Einführungsvideo
Zusammenarbeit und Transparenz
Die DAG-Versionierung erleichtert auch die Zusammenarbeit von Datenteams. Zum Beispiel:
- Ingenieure können DAG-Änderungen direkt in der Benutzeroberfläche überprüfen, ohne auf Git zugreifen zu müssen.
- Analysten und QA-Teams können das historische Verhalten überprüfen, ohne eine Beeinträchtigung der Produktions-DAGs zu riskieren.
- Plattform-Ingenieure können neue DAG-Versionen sicher neben stabilen Versionen testen.
Bessere Planung und Auffüllungen
Airflow 3.0 markiert eine bedeutende Entwicklung in der Art und Weise, wie Arbeitsabläufe ausgelöst, verwaltet und koordiniert werden.
Vermögensgesteuerte DAGs
Im Mittelpunkt der intelligenteren Planung in Airflow 3.0 steht das Konzept der Assets.
In Anlehnung an die Entwicklung von Datensätzen, die in früheren Versionen eingeführt wurde, ermöglicht der neue @asset-Dekorator die Definition von Pipelines, die von der Verfügbarkeit und dem Status logischer Dateneinheiten gesteuert werden.
Was ist ein Vermögenswert?
Ein Vermögenswert in Airflow ist ein Teil der Daten oder eine Ausgabe, die von einer DAG produziert, umgewandelt oder verbraucht wird.
Das kann eine Tabelle in der Datenbank, eine Datei in der Cloud, ein trainiertes ML-Modell oder sogar eine API-Antwort sein.
Mit dem @asset Dekorator:
- Assets werden als Python-Funktionen deklariert, die Daten zurückgeben oder erzeugen.
- Diese Assets werden im Orchestrierungsprozess als Bürger erster Klasse behandelt.
- Airflow verfolgt automatisch die Abhängigkeiten zwischen Assets und DAGs.
Der folgende Screenshot zeigt, wie Assets in der Airflow-Konsole visualisiert werden.
Screenshot der Assets in der Airflow-Konsole. Quelle: Airflow 3.0 Astronomisches Einführungsvideo
Einige der wichtigsten Merkmale der Assets in Airflow 3.0 sind:
Abbildung der wichtigsten Funktionen von Assets in Airflow 3.0. Bild erstellt mit Napkin AI
- Strukturierte Metadaten: Assets unterstützen Namen, URIs, Gruppenidentifikatoren und beliebige Metadatenfelder und ermöglichen so eine umfassende Rückverfolgung und Auffindung.
- Kompatibles Design: Assets können sich gegenseitig referenzieren, um voneinander abhängige, modulare Pipelines aufzubauen.
- Beobachterunterstützung: Assets können mit Watchern konfiguriert werden, die auf externe Signale (derzeit AWS SQS) achten und als Reaktion darauf die DAG-Ausführung auslösen.
Mit diesem Modell wird die DAG-Planung von "stündlich ausführen" auf "ausführen, wenn relevante Daten bereit sind" umgestellt.
Das ermöglicht wirklich reaktive Workflows, die eng an den Zustand der Daten gekoppelt sind, nicht an die Uhr.
Ausführlichere Beispiele und Produktionsmuster, die diese neuen Funktionen nutzen, finden Sie im Astronomer-Leitfaden zur datengesteuerten Planung bietet eine detaillierte Anleitung. Wie du eine vollständige Datenpipeline mit diesen Funktionen implementieren kannst, erfährst du auch im Leitfaden für Aufbau einer ETL-Pipeline mit Airflow.
Externe Terminierung von Veranstaltungen
Airflow 3.0 bietet robuste Unterstützung für externe ereignisgesteuerte Planung, mit der Workflows auf der Grundlage realer Auslöser von außerhalb des Airflow-Ökosystems gestartet werden können.
Diese Funktion ist eine deutliche Abkehr von Airflows traditionellem Polling-Ansatz.
Unterstützte Ereignisquellen sind AWS SQS für die Integration mit Message Queues in Cloud-native, entkoppelte Workflows, geplante Unterstützung für Kafka zur Unterstützung von Streaming und Microservices-Koordination sowie HTTP/Webhooks für den Empfang von Signalen von Überwachungssystemen, APIs oder anderen Orchestrierungsplattformen.
Die Anwendungsfälle reichen vom Starten einer Datenpipeline, wenn eine neue Datei in S3 landet, über das Starten einer DAG als Reaktion auf eine Aktualisierung der ML-Modellregistrierung bis hin zur Koordination von Echtzeit-Warnungen und Workflows zur Reaktion auf Vorfälle.
Ereignisgesteuerte DAGs machen Airflow flexibler und leistungsfähiger und ermöglichen es, in Echtzeit auf externe Systeme zu reagieren.
Planergesteuerte Rückverfüllungen
Eine der am meisten erwarteten Verbesserungen in Airflow 3.0 ist die Überarbeitung der Backfill-Mechanik, d.h. des Prozesses zur Wiederholung vergangener Datenintervalle oder zur Reparatur ausgefallener DAGs.
Zu den Herausforderungen in Airflow 2.x gehörte die fehlende UI- und API-Unterstützung für Backfills, die manuell über die CLI ausgelöst werden mussten.
Als Ergebnis wurden in Airflow 3.0 folgende Verbesserungen vorgenommen:
Das Bild enthält Verbesserungen in Airflow 3.0. Bild erstellt mit Napkin AI
- Vereinheitlichtes Ausführungsmodell: Backfills werden jetzt vom Hauptplaner abgewickelt, um die Konsistenz mit den regulären DAG-Läufen zu gewährleisten.
- Multimodale Auslösung: Backfills können über die Benutzeroberfläche, die API oder die Befehlszeilenschnittstelle (CLI) gestartet werden, was sowohl für interaktive Benutzer als auch für automatisierte Systeme Flexibilität bietet.
- Asynchrone Ausführung: Backfills laufen jetzt asynchron und nicht blockierend ab; mehrere Backfills können gleichzeitig in eine Warteschlange gestellt und verwaltet werden.
- Vollständige Beobachtbarkeit: Die Benutzeroberfläche enthält einen Backfill-Fortschrittsanzeiger mit detaillierten Ansichten auf Aufgabenebene, Echtzeitprotokollen und Statusanzeigen.
- Abbestellbare Läufe: Backfills können jetzt von der Benutzeroberfläche aus angehalten oder beendet werden, so dass Benutzer/innen dynamisch auf Probleme reagieren können, ohne ganze Arbeitsabläufe neu zu starten.
Airflow 3.0 Unterstützung für maschinelles Lernen und KI-Anwendungsfälle
Airflow 3.0 ist ein bedeutender Schritt auf dem Weg zu einem erstklassigen Orchestrierungstool für modernes maschinelles Lernen (ML) und KI-gesteuerte Workflows.
DAGs ohne Datenintervall
Eine der einschneidendsten Änderungen in 3.0 ist die Abschaffung der langjährigen Beschränkung des Ausführungsdatums.
In Airflow 2.x und früher musste jeder DAG-Lauf ein eindeutiges Ausführungsdatum haben, das in erster Linie an das Planungsintervall gebunden war.
Während dieses Modell bei zeitbasierten ETL-Jobs gut funktionierte, führte es bei experimentellen und Inferenzszenarien zu Reibungsverlusten.
Mit DAGs ohne Datenintervall führt Airflow 3.0 eine echte Ausführungsunabhängigkeit ein:
Einige der Anwendungsfälle, die durch diese Änderung ermöglicht werden, sind:
- Modellversuche: Führe dieselbe DAG mehrmals für verschiedene Modellkonfigurationen oder Daten-Slices aus, ohne dich um kollidierende Ausführungsdaten zu kümmern.
- Hyperparameter-Abstimmung: Starte gleichzeitige DAG-Läufe für verschiedene Parameterraster oder Suchstrategien, die separat verfolgt werden, aber parallel laufen.
- Inferenz-DAGs: Rufe kontinuierlich oder wiederholt dieselbe DAG für Echtzeit- oder Batch-Vorhersagen auf, die durch neue Daten, externe Ereignisse oder Benutzeraktionen ausgelöst werden.
Diese Entkopplung vereinfacht die Orchestrierungslogik für ML-Ingenieure drastisch und ermöglicht einen höheren Grad an Automatisierung, Parallelität und Reproduzierbarkeit.
Jederzeit Aufgaben ausführen
Airflow 3.0 unterstützt jetzt offiziell mehrere Ausführungsparadigmen und trägt damit der Tatsache Rechnung, dass moderne Datenworkflows nicht immer nach festen Zeitplänen ablaufen.
Dieses Update macht Airflow anpassungsfähiger für eine Vielzahl von Betriebs- und Datenverarbeitungsanforderungen.
Zu den unterstützten Ausführungsmodi gehört die herkömmliche geplante (Batch-)Ausführung, die eine Cron-ähnliche Planung verwendet und sich gut für Aufgaben wie nächtliche Berichte, stündliche Synchronisationen oder Batch-ETL-Pipelines eignet.
Airflow 3.0 unterstützt auch die ereignisgesteuerte Ausführung, bei der DAGs durch externe Ereignisse ausgelöst werden können, z. B. wenn eine neue Datei in einem Cloud-Storage-Bucket auftaucht oder eine Nachricht auf Kafka eingeht, was eine reaktionsschnelle Orchestrierung in Echtzeit ermöglicht. Außerdem ist jetzt eine Ad-hoc-/Inferenz-Ausführung möglich, mit der DAGs ohne einen bestimmten Zeitstempel ausgeführt werden können.
Dies ist besonders nützlich für Anwendungsfälle wie maschinelles Lernen, Datenqualitätsprüfungen oder benutzergesteuerte Jobs, bei denen Gleichzeitigkeit und Unmittelbarkeit wichtig sind.
Auf Airflow 3.0 aufrüsten
Airflow 3.0 bringt erhebliche Verbesserungen mit sich, bricht aber auch auf sinnvolle Weise mit alten Mustern.
Um dir einen reibungslosen Übergang zu ermöglichen, haben die Hauptakteure einen umfangreichen und gut strukturierten Upgrade-Leitfaden erstellt.
Dies ist eine wichtige Veröffentlichung, die du sorgfältig planen solltest.
Dennoch wurde der Upgrade-Prozess mit einer klaren Dokumentation, Upgrade-Checklisten und Kompatibilitätswerkzeugen so einfach wie möglich gestaltet.
Einige der Aspekte, die der Leitfaden behandelt, sind:
- Umgebung und Abhängigkeiten einrichten
- Ausrichtung von Planer und Ausführenden
- Datenbankschema-Migrationen und Backups
- Verhaltensunterschiede bei der Aufgabenausführung und dem DAG-Parsing
Screenshot der Apache Airflow-Webseite beim Upgrade auf 3.0. Quelle: Apache Airflow
Es ist wichtig, dass du die folgenden Bereiche bewertest, bevor du mit dem Upgrade fortfährst:
- DAG-Kompatibilität: Vergewissere dich, dass die DAGs APIs und Konstrukte verwenden, die vom Task-SDK 3.0 unterstützt werden, insbesondere wenn du neue Ausführungsfunktionen einführst.
- CLI-Übergang: Ersetze die veraltete CLI-Nutzung durch airflowctl, wo es angebracht ist, insbesondere in CI/CD- und Remote-Ausführungskontexten.
- Plugin-Validierung: Bestätige, dass benutzerdefinierte Plugins und Integrationen von Drittanbietern mit der neuen Architektur und CLI-Aufteilung kompatibel sind.
Wenn du ein reibungsloses Upgrade möchtest, solltest du einen Blick in die vollständige Upgrade auf Airflow 3.0 Dokumentation bevor du Airflow aktualisierst.
Demo-Basierte Bewertung
Um die neuen Funktionen von Airflow 3.0 in Aktion zu sehen, sind die offiziellen Demo-DAGs von Astronom zur Verfügung gestellt werden, kannst du die neuesten Funktionen der Plattform in der Praxis ausprobieren.
Diese Demos dienen als umfassender Showcase und sind ideal, um zu verstehen, wie Funktionen wie DAG-Versionierung, Asset-gesteuerte Workflows und ereignisgesteuerte Ausführung in realen Szenarien funktionieren.
Screenshot eines Anwendungsbeispiels, bei dem Airflow 3.0 eingesetzt werden könnte. Quelle: Astronomer GitHub
Die aktualisierte Oberfläche fiel sofort auf. Die Asset-Ansicht bot eine klare visuelle Darstellung der Datenabhängigkeiten und der Abstammung, was sich besonders bei der Arbeit mit Asset-gesteuerten DAGs als nützlich erwies.
Die DAG-Versionsübersicht war ein weiteres Highlight. Es ermöglichte eine schnelle Überprüfung vergangener Änderungen, machte die Reproduzierbarkeit einfach und machte es leicht, bestimmte Läufe mit dem Code zu korrelieren, der sie hervorgebracht hat.
Außerdem bietet der neu gestaltete Dunkelmodus einen ausgezeichneten Kontrast und eine hervorragende Lesbarkeit, was eine willkommene Verbesserung für längere Debugging-Sitzungen oder nächtliche Entwicklungsarbeiten darstellt.
Wenn du es selbst ausprobieren möchtest, bietet Astronomer eine Schritt-für-Schritt-Anleitung und eine fertige Demo-Umgebung auf seinem GitHub-Repository. Du kannst das Repo klonen, der Installationsanleitung folgen und die neuen Funktionen von Airflow 3.0 erkunden.
Gemeinschaft und zukünftige Entwicklung
Apache Airflow wurde schon immer von seiner Community vorangetrieben, und das gilt auch für Airflow 3.0.
Viele der wichtigsten Funktionen in dieser Version sind direkte Reaktionen auf Community-Umfragen, GitHub-Diskussionen und Nutzerfeedback.
Wenn du Airflow nutzt, solltest du dir überlegen, ob du dich beteiligen willst. Hier erfährst du, wie du etwas bewirken kannst:
- Treten Sie der Apache Airflow Slack Community um Feedback auszutauschen, Fragen zu stellen und dich mit anderen Praktikern zu vernetzen.
- Engagiere dich auf GitHub, indem du dich an Issues, Feature-Vorschlägen und Design-Diskussionen beteiligst, um zukünftige Versionen mitzugestalten.
- Nimm an Umfragen zu Features teil, wenn sie geteilt werden. Airflow 3.0 wurde durch die Erkenntnisse von Nutzern wie dir geprägt.
Fazit
Apache Airflow 3.0 bringt eine serviceorientierte Architektur, eine polyglotte Task-Ausführung, intelligenteres Scheduling und eine komplett modernisierte Benutzeroberfläche - alles in einer einzigen Version.
Die Veränderung mag sich dramatisch anfühlen, vor allem durch die neue CLI-Aufteilung und die Edge-fokussierten Executors, aber das Ergebnis ist eine modularere, skalierbare und produktionsreife Orchestrierungsplattform.
Außerdem ist sie flexibler für ML-Teams, Cloud-native Stacks und ereignisgesteuerte Systeme, bei denen es auf Reaktionsfähigkeit und Beobachtbarkeit ankommt.
Wenn du noch mit einer älteren Version von Airflow arbeitest, ist ein Upgrade auf 3.0 auf jeden Fall eine Überlegung wert.
Um Airflow in der Praxis kennenzulernen, kannst du mit unserem Kurs Erste Schritte mit Apache Airflow beginnen oder dein Verständnis der Kernkonzepte in Einführung in Apache Airflow in Python vertiefen.
Airflow 3.0 FAQs
Was sind die wichtigsten neuen Funktionen von Apache Airflow 3.0?
Airflow 3.0 führt eine serviceorientierte Architektur, eine neue React-basierte Benutzeroberfläche, DAG-Versionierung, assetgesteuertes Scheduling und verbesserte ML/AI-Unterstützung ein.
Wie verbessert die neue Task Execution API die Flexibilität?
Mit der Task Execution API können Aufgaben in jeder beliebigen Sprache und Umgebung ausgeführt werden, was Airflow polyglotter und Cloud-nativer macht als je zuvor.
Was ist der Unterschied zwischen den neuen CLI-Befehlen airflow und airflowctl?
airflow wird jetzt für lokale Befehle verwendet, während airflowctl für Remote-Operationen zuständig ist, was eine bessere Trennung zwischen Entwicklung und Einsatz ermöglicht.
Wie funktioniert die DAG-Versionierung in Airflow 3.0?
Airflow 3.0 verfolgt Änderungen an DAGs im Laufe der Zeit. So können die Nutzer den Versionsverlauf einsehen und die Fehlersuche, Prüfung und Zusammenarbeit verbessern.
Ist Airflow 3.0 mit Workflows für maschinelles Lernen kompatibel?
Ja. Airflow 3.0 unterstützt nicht-intervallbasierte DAGs und bedarfsgesteuerte Ausführungen, was die Durchführung von ML-Experimenten, Modelltraining und Inferenzjobs erleichtert.
Wie schwierig ist es, auf Airflow 3.0 umzusteigen?
Während die meisten DAGs mit minimalen Änderungen funktionieren, müssen einige grundlegende Änderungen und veraltete Funktionen überprüft werden. Es gibt offizielle Migrationsleitfäden.