Sowohl Workflows als auch Cloud Composer 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 Cloud Composer 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.
Cloud Composer wurde für die Orchestrierung datengesteuerter Workflows entwickelt (insbesondere ETL/ELT). Es basiert auf dem Apache Airflow-Projekt, aber Cloud Composer ist vollständig verwaltet. Cloud Composer unterstützt Ihre Pipelines überall, auch lokal oder auf mehreren Cloud-Plattformen. Die gesamte Logik in Cloud Composer, einschließlich Aufgaben und Planung, wird in Python als DAG-Definitionsdateien (Directed Acyclic Graph) angegeben.
Cloud Composer eignet sich am besten für Batcharbeitslasten, mit denen eine Latenzzeit von einigen Sekunden zwischen Aufgabenausführungen verarbeitet werden kann. Sie können Cloud Composer 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
Funktion | Workflows | Cloud Composer |
---|---|---|
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, Workflows-Clientbibliotheken, Cloud Scheduler | Cron-ähnliche Zeitpläne in der DAG-Definitionsdatei, Airflow-Sensoren |
Asynchrone Muster |
|
Polling |
Parallele Ausführung | Entweder 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. ↩