Cloud Composer

Cloud Composer 1 | Cloud Composer 2

Cloud Composer ist ein vollständig verwalteter Workflow-Orchestrierungsdienst, mit dem Sie Workflows über Clouds und lokale Rechenzentren hinweg erstellen, planen, überwachen und verwalten können.

Cloud Composer basiert auf dem beliebten Open-Source-Projekt Apache Airflow und wird in der Programmiersprache Python betrieben.

Wenn Sie Cloud Composer anstelle einer lokalen Instanz von Apache Airflow verwenden, profitieren Sie von den Vorteilen von Airflow ohne Installation oder Verwaltungsaufwand. Mit Cloud Composer können Sie Airflow-Umgebungen schnell erstellen und native Airflow-Tools wie die leistungsstarke Airflow-Weboberfläche und Befehlszeilentools nutzen, damit Sie sich auf Ihre Workflows statt auf die Infrastruktur konzentrieren können.

Workflows, DAGs und Aufgaben

In der Datenanalyse stellt ein Workflow eine Reihe von Aufgaben für die Aufnahme, Transformation, Analyse oder Nutzung von Daten dar. In Airflow werden Workflows mit DAGs (Directed Acyclic Graphs, gerichtete azyklische Graphen) erstellt.

Beziehung zwischen DAGs und Aufgaben
Abbildung 1. Beziehung zwischen DAGs und Aufgaben

Ein DAG ist eine Sammlung von Aufgaben, die Sie planen und ausführen möchten. Diese Aufgaben sind entsprechend ihren Beziehungen und Abhängigkeiten organisiert. DAGs werden in Python-Skripts erstellt, die die DAG-Struktur (Aufgaben und ihre Abhängigkeiten) mithilfe von Code definieren.

Jede Aufgabe in einem DAG kann nahezu alles darstellen. Eine Aufgabe kann beispielsweise eine der folgenden Funktionen ausführen:

  • Daten für die Aufnahme vorbereiten
  • API überwachen
  • E-Mails senden
  • Pipeline ausführen

Ein DAG sollte sich nicht mit der Funktion jeder einzelnen Aufgabe befassen, denn er muss dafür sorgen, dass jede Aufgabe zur richtigen Zeit, in der richtigen Reihenfolge oder mit der richtigen Problembehandlung ausgeführt wird.

Weitere Informationen zu DAGs und Aufgaben finden Sie in der Apache Airflow-Dokumentation.

Cloud Composer-Umgebungen

Zum Ausführen von Workflows müssen Sie zuerst eine Umgebung erstellen. Da Airflow von vielen auszuführenden Mikrodiensten abhängt, stellt Cloud Composer Google Cloud-Komponenten für die Ausführung Ihrer Workflows bereit. Diese Komponenten werden zusammen als Cloud Composer-Umgebung bezeichnet.

Umgebungen sind eigenständige Airflow-Bereitstellungen, die auf Google Kubernetes Engine basieren. Sie können mit anderen Google Cloud-Diensten über Connectors verwendet werden, die in Airflow eingebunden sind. Sie können in einem einzelnen Google Cloud-Projekt eine oder mehrere Umgebungen erstellen. Sie können Cloud Composer-Umgebungen in jeder unterstützten Region erstellen.

Ausführliche Informationen zu den Komponenten einer Umgebung finden Sie unter Umgebungsarchitektur.

Welche Version von Apache Airflow verwendet Cloud Composer?

Cloud Composer unterstützt sowohl Airflow 1 als auch Airflow 2.

Cloud Composer-Umgebungen basieren auf Cloud Composer-Images. Beim Erstellen einer Umgebung können Sie ein Image mit einer bestimmten Airflow-Version auswählen.

Sie haben die Kontrolle über die Apache Airflow-Version Ihrer Umgebung. Sie können ein Upgrade Ihrer Umgebung auf eine neuere Version des Cloud Composer-Images vornehmen. Jeder Cloud Composer-Release unterstützt mehrere Apache Airflow-Versionen.

Kann ich die native Airflow-UI und die Befehlszeile verwenden?

Sie können auf die Weboberfläche von Apache Airflow für Ihre Umgebung zugreifen. Jede Umgebung hat eine eigene Airflow-UI. Weitere Informationen zum Zugriff auf die Airflow-UI finden Sie unter Airflow-Weboberfläche.

Zum Ausführen von Airflow-Befehlszeilenbefehlen in Ihren Umgebungen verwenden Sie gcloud-Befehle. Weitere Informationen zum Ausführen von Airflow-Befehlszeilenbefehlen in Cloud Composer-Umgebungen finden Sie unter Airflow-Befehlszeile.

Kann ich meine eigene Datenbank als Airflow-Metadatendatenbank verwenden?

Cloud Composer verwendet einen verwalteten Datenbankdienst für die Airflow-Metadatendatenbank. Es ist nicht möglich, eine vom Nutzer bereitgestellte Datenbank als Airflow-Metadatendatenbank zu verwenden.

Kann ich meinen eigenen Cluster als Cloud Composer-Cluster verwenden?

Cloud Composer verwendet den Google Kubernetes Engine-Dienst zum Erstellen, Verwalten und Löschen von Umgebungsclustern, in denen Airflow-Komponenten ausgeführt werden. Diese Cluster werden vollständig von Cloud Composer verwaltet.

Es ist nicht möglich, eine Cloud Composer-Umgebung auf der Grundlage eines selbstverwalteten Google Kubernetes Engine-Clusters zu erstellen.

Kann ich meine eigene Container-Registry verwenden?

Cloud Composer verwendet den Artifact Registry-Dienst, um von Cloud Composer-Umgebungen verwendete Container-Image-Repositories zu verwalten. Es ist nicht möglich, sie durch eine vom Nutzer bereitgestellte Container Registry zu ersetzen.

Sind Cloud Composer-Umgebungen zonal oder regional?

Cloud Composer 1-Umgebungen sind zonal.

Cloud Composer 2-Umgebungen haben eine zonale Airflow-Metadatendatenbank und eine regionale Airflow-Planungs- und Ausführungsebene. Airflow-Planer, -Worker und -Webserver werden auf der Airflow-Ausführungsebene ausgeführt.

Nächste Schritte