Présentation de Cloud Composer

Cloud Composer 1 | Cloud Composer 2

Cloud Composer est un service d'orchestration de workflows entièrement géré, qui vous permet de créer, planifier, surveiller et gérer des pipelines de workflow qui s'étendent sur plusieurs clouds et centres de données sur site.

Cloud Composer est basé sur le projet Open Source populaire Apache Airflow et fonctionne avec le langage de programmation Python.

En utilisant Cloud Composer au lieu d'une instance locale d'Apache Airflow, vous pouvez profiter du meilleur d'Airflow sans coûts d'installation ni de gestion. Cloud Composer vous aide à créer rapidement des environnements Airflow gérés et à utiliser les outils Airflow natifs, tels que la puissante interface Web et les outils de ligne de commande d'Airflow. Vous pouvez ainsi vous concentrer sur vos workflows et non sur votre infrastructure.

Apache Airflow et Cloud Composer

Workflows, DAG et tâches

En analyse de données, un workflow représente une série de tâches pour l'ingestion, la transformation, l'analyse ou l'utilisation de données. Dans Airflow, les workflows sont créés à l'aide de "graphes orientés acycliques" (DAG, Directed Acyclic Graph).

Relation entre les DAG et les tâches
Figure 1. Relation entre les DAG et les tâches

Un DAG est un ensemble de tâches que vous souhaitez programmer et exécuter, organisées de manière à refléter leurs relations et leurs dépendances. Les DAG sont créés dans des scripts Python, qui définissent leur structure (les tâches et leurs dépendances) à l'aide de code.

Chaque tâche d'un DAG peut représenter presque n'importe quoi. Par exemple, une tâche peut effectuer l'une des fonctions suivantes :

  • Préparer des données pour l'ingestion
  • Surveiller une API
  • Envoyer un e-mail
  • Exécuter un pipeline

Un DAG ne doit pas être lié à la fonction de chaque tâche qui le constitue : son but est de s'assurer que chaque tâche est exécutée au bon moment, dans le bon ordre ou avec la méthode appropriée de gestion des problèmes.

Workflows, DAG et tâches Airflow

Pour en savoir plus sur les DAG et les tâches, consultez la documentation Apache Airflow.

Environnements Cloud Composer

Pour exécuter des workflows, vous devez d'abord créer un environnement. Airflow dépend de l'exécution de nombreux microservices. Par conséquent, Cloud Composer provisionne des composants Google Cloud pour exécuter vos workflows. Ces composants sont collectivement désignés sous le nom d'environnement Cloud Composer.

Les environnements sont des déploiements Airflow autonomes basés sur Google Kubernetes Engine. Ils fonctionnent avec d'autres services Google Cloud à l'aide de connecteurs intégrés à Airflow. Vous pouvez créer un ou plusieurs environnements dans un seul projet Google Cloud. Vous pouvez créer des environnements Cloud Composer dans n'importe quelle région compatible.

Pour une présentation détaillée des composants d'un environnement, consultez la page Architecture d'environnement Cloud Composer.

Fonctionnalités de Cloud Composer

Lorsque vous utilisez Cloud Composer, vous pouvez gérer et utiliser des fonctionnalités telles que:

  • Environnements Airflow
  • Gestion Airflow
  • Configuration Airflow
  • DAG Airflow (workflows)
  • Plug-ins Apache personnalisés

Pour en savoir plus sur le fonctionnement de Cloud Composer avec les fonctionnalités Airflow telles que les DAG Airflow, les paramètres de configuration Airflow, les plug-ins personnalisés et les dépendances Python, consultez la page Fonctionnalités de Cloud Composer.

Questions fréquentes

Quelle version Apache Airflow est utilisée par Cloud Composer ?

Cloud Composer est compatible avec Airflow 1 et Airflow 2.

Les environnements Cloud Composer sont basés sur des images Cloud Composer. Lorsque vous créez un environnement, vous pouvez sélectionner une image avec une version Airflow spécifique.

Vous contrôlez la version Apache Airflow de votre environnement. Vous pouvez décider de mettre à niveau votre environnement vers une version plus récente de l'image Cloud Composer. Chaque version de Cloud Composer est compatible avec plusieurs versions d'Apache Airflow.

Puis-je utiliser l'interface utilisateur et la CLI Airflow natives ?

Vous pouvez accéder à l'interface Web Apache Airflow de votre environnement. Chacun de vos environnements possède sa propre interface Airflow. Pour en savoir plus sur l'accès à l'interface utilisateur d'Airflow, consultez la page Interface Web Airflow.

Pour exécuter les commandes de CLI Airflow dans vos environnements, vous devez utiliser les commandes gcloud. Pour en savoir plus sur l'exécution de commandes de CLI Airflow dans les environnements Cloud Composer, consultez la page Interface de ligne de commande Airflow.

Puis-je utiliser ma propre base de données en tant que base de données de métadonnées Airflow ?

Cloud Composer utilise un service de base de données géré pour la base de données de métadonnées Airflow. Il n'est pas possible d'utiliser une base de données fournie par l'utilisateur en tant que base de données de métadonnées Airflow.

Puis-je utiliser mon propre cluster en tant que cluster Cloud Composer ?

Cloud Composer utilise le service Google Kubernetes Engine pour créer, gérer et supprimer des clusters d'environnement sur lesquels les composants Airflow s'exécutent. Ces clusters sont entièrement gérés par Cloud Composer.

Il n'est pas possible de créer un environnement Cloud Composer basé sur un cluster Google Kubernetes Engine autogéré.

Puis-je utiliser mon propre registre de conteneurs ?

Cloud Composer gère les dépôts d'images de conteneurs utilisés par les environnements Cloud Composer à l'aide du service Artifact Registry. Il n'est pas possible de le remplacer par un registre de conteneurs fourni par l'utilisateur.

Les environnements Cloud Composer sont-ils zonaux ou régionaux ?

Les environnements Cloud Composer 1 sont zonaux.

Les environnements Cloud Composer 2 disposent d'une base de données de métadonnées Airflow zonale et d'une couche de planification et d'exécution Airflow régionale. Les programmeurs, les nœuds de calcul et les serveurs Web Airflow s'exécutent dans la couche d'exécution Airflow.

Étapes suivantes