Workflows oder Cloud Composer für die Dienstorchestrierung auswählen

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

Feature 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 64 KB für Variablen 48 KB1 für XCom
Ausführungstrigger und Planung gcloud-Tool, Cloud Console, Workflows API, Workflow-Clientbibliotheken, Cloud Scheduler Cron-ähnliche Zeitpläne in der DAG-Definitionsdatei, Airflow-Sensoren
Asynchrone Muster
  • Polling
  • Auf lang andauernde Google Cloud-Vorgänge warten
Polling
Parallele Ausführung Über experimental.executions.map verfügbar 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

  1. Quellcode für airflow.models.xcom. Apache Airflow-Dokumentation. 2. August 2021.