Sowohl Workflows als auch Managed Service for Apache Airflow können für die Dienstorchestrierung verwendet werden, um Dienste zu kombinieren, um Anwendungsfunktionen zu implementieren oder Daten zu verarbeiten. Obwohl die Dienste auf ähnliche Weise funktionieren, sind sie für jeweils verschiedene Anwendungsfälle vorgesehen. Auf dieser Seite erfahren Sie, wie Sie das richtige Produkt für Ihren Anwendungsfall auswählen.
Wichtige Unterschiede
Der Hauptunterschied zwischen Workflows und Managed Airflow ist die Art von Architektur, die jedes Produkt unterstützt.
Workflows orchestrieren mehrere HTTP-basierte Dienste in einem langlebigen und zustandsorientierten Workflow. Er hat eine niedrige Latenz und kann eine große Anzahl von Ausführungen verarbeiten. Außerdem ist es vollständig serverlos.
Workflows eignen sich hervorragend zum Verketten von Mikrodiensten, zum Automatisieren von Infrastrukturaufgaben wie dem Starten oder Anhalten einer VM und zum Einbinden von externen Systemen. Workflow-Connectors unterstützen auch einfache Abfolgen von Vorgängen in Google Cloud Diensten wie Cloud Storage und BigQuery.
Managed Airflow wurde für die Orchestrierung datengesteuerter Workflows entwickelt (insbesondere ETL/ELT). Es basiert auf dem Apache Airflow-Projekt, aber Managed Airflow ist vollständig verwaltet. Managed Airflow unterstützt Ihre Pipelines überall, auch lokal oder auf mehreren Cloud-Plattformen. Die gesamte Logik in Managed Airflow, einschließlich Aufgaben und Planung, wird in Python als DAG-Definitionsdateien (Directed Acyclic Graph) angegeben.
Managed Airflow eignet sich am besten für Batcharbeitslasten, mit denen eine Latenzzeit von einigen Sekunden zwischen Aufgabenausführungen verarbeitet werden kann. Sie können Managed Airflow verwenden, um Dienste in Ihren Datenpipelines zu orchestrieren, z. B. das Auslösen eines Jobs in BigQuery oder das Starten einer Dataflow-Pipeline. Sie können bereits vorhandene Operatoren verwenden, um mit verschiedenen Diensten zu kommunizieren, und es gibt über 150 Operatoren allein für Google Cloud .
Detaillierter Funktionsvergleich
| Feature | Workflows | Managed Airflow |
|---|---|---|
| Syntax | Workflow-Syntax im YAML- oder JSON-Format | Python |
| Zustandsmodell | Imperative Ablaufsteuerung | Deklarativer DAG mit automatischer Abhängigkeitsauflösung |
| Einbindungen | HTTP-Anfragen und Connectors | Operatoren und Sensoren von Airflow |
| Daten zwischen Schritten übergeben | 512 KB für Variablen | 48 KB1 für XCom |
| Ausführungstrigger und Planung | gcloud CLI, Google Cloud Console, Workflows API, Workflow-Clientbibliotheken, Cloud Scheduler | Cron-ähnliche Zeitpläne in der DAG-Definitionsdatei, Airflow-Sensoren |
| Asynchrone Muster |
|
Umfragen |
| Parallele Ausführung | Entweder durch gleichzeitige Ausführungen desselben Workflows oder innerhalb eines Workflows mit parallelen Schritten | Automatisch je nach Abhängigkeit |
| Ausführungslatenz | Millisekunden | Sekunden |
| Basierend auf Open Source | Nein | Ja (Apache Airflow) |
| Skalierungsmodell | Serverlos (nach Bedarf bis auf null skaliert) | Aktiv |
| Abrechnungsmodell | Nutzungsbasiert (pro ausgeführtem Schritt) | Basierend auf der bereitgestellten Kapazität |
| Datenverarbeitungsfunktionen | Nein | Backfills, Möglichkeit zur wieder Ausführung von DAGs |
-
Quellcode für airflow.models.xcom. Apache Airflow-Dokumentation. 2. August 2021. ↩