Présentation de Cloud Composer

Cloud Composer 1 | Cloud Composer 2 | Cloud Composer 3

Cette page présente brièvement Airflow et les DAG, et décrit les et les fonctionnalités de Cloud Composer.

Pour en savoir plus sur les nouvelles fonctionnalités des versions de Cloud Composer, consultez les notes de version.

À propos de Cloud Composer

Cloud Composer est un service d'orchestration de workflows entièrement géré, Création, planification, surveillance et gestion des pipelines de workflow qui s'étendent sur des clouds et des 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 des fichiers Airflow gérés et d'utiliser des outils Airflow natifs, tels que le puissant service l'interface Web et les outils de ligne de commande d'Airflow. Vous pouvez ainsi vous concentrer et non à votre infrastructure.

Différences entre les versions de Cloud Composer

Pour en savoir plus sur les différences entre les versions majeures Cloud Composer, consultez la page Présentation de la gestion des versions dans Cloud Composer

DAG Airflow et Airflow (workflows)

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 <ph type="x-smartling-placeholder">
</ph> 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 fichiers Python, qui définissent la structure du DAG à l'aide de code. Ce DAG l'objectif est de s'assurer que chaque tâche est exécutée au bon moment et dans le bon ordre.

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

En plus d'exécuter un DAG de manière planifiée, vous pouvez déclencher des DAG manuellement ou en réponse à des événements, comme des modifications d'une bucket. Pour en savoir plus, reportez-vous à la section Déclencher des DAG.

Pour en savoir plus sur les DAG tâches, consultez les Documentation Apache Airflow

Environnements Cloud Composer

Les environnements Cloud Composer sont des environnements Airflow autonomes des déploiements basés sur Google Kubernetes Engine. Ils travaillent avec d'autres à l'aide de connecteurs intégrés à Airflow. Vous pouvez créer un ou plusieurs environnements dans un seul environnement Google Cloud projet, dans n'importe quelle région où le service est disponible.

Cloud Composer provisionne les services Google Cloud qui s'exécutent vos workflows et tous les composants Airflow. Les principaux composants d'une sont les suivants:

  • Cluster GKE: composants Airflow tels qu'Airflow les programmeurs, les déclencheurs et les nœuds de calcul s'exécutent en tant que charges de travail GKE dans un cluster unique créé pour votre environnement, et sont chargés le traitement et l'exécution des DAG.

    Le cluster héberge également d'autres composants Cloud Composer, comme l'agent Composer et Airflow Monitoring, qui facilitent la gestion de Cloud Composer de journaux à stocker dans Cloud Logging, à importer dans Cloud Monitoring.

  • Serveur Web Airflow: le serveur Web exécute l'interface utilisateur d'Apache Airflow.

  • Base de données Airflow: la base de données contient les métadonnées Apache Airflow.

  • Bucket Cloud Storage: Cloud Composer associe dans un bucket Cloud Storage avec votre environnement. Ce bucket, également appelé bucket de l'environnement, stocke DAG, journaux, paramètres personnalisés plug-ins et des données pour l'environnement. Pour en savoir plus sur l'environnement bucket, consultez Données stockées dans Cloud Storage.

Consultez la page Architecture des environnements pour en savoir plus sur les composants d'un environnement.

Interfaces Cloud Composer

Cloud Composer fournit des interfaces pour la gestion des environnements, Instances Airflow exécutées dans des environnements et DAG individuels.

Par exemple, vous pouvez créer et configurer les environnements Cloud Composer dans la console Google Cloud, Google Cloud CLI, API Cloud Composer ou Terraform.

Autre exemple : vous pouvez gérer les DAG à partir de la console Google Cloud, l'interface utilisateur Airflow native ou en exécutant Google Cloud CLI et commandes CLI Airflow.

Fonctionnalités Airflow dans Cloud Composer

Lorsque vous utilisez Cloud Composer, vous pouvez gérer et utiliser les fonctionnalités Airflow par exemple:

Contrôle des accès dans Cloud Composer

Vous gérez la sécurité au niveau du projet Google Cloud et pouvez attribuer des rôles IAM permettant à des utilisateurs modifier ou créer des environnements. Si un utilisateur n'a pas accès à votre projet ou ne dispose pas du rôle IAM Cloud Composer approprié, il ne peut accéder à aucun de vos environnements.

En plus d'IAM, vous pouvez utiliser le contrôle des accès à l'interface utilisateur Airflow, qui repose sur le Modèle de contrôle des accès Airflow.

Pour en savoir plus sur les fonctionnalités de sécurité dans Cloud Composer, consultez la page Présentation de la sécurité dans Cloud Composer

Mise en réseau de l'environnement

Cloud Composer accepte plusieurs configurations réseau pour avec de nombreuses options de configuration. Par exemple, dans une adresse IP privée les DAG et les composants Airflow sont entièrement isolés à Internet.

Pour en savoir plus sur la mise en réseau dans Cloud Composer, consultez les pages pour les fonctionnalités de mise en réseau individuelles:

Autres fonctionnalités de Cloud Composer

Parmi les autres fonctionnalités de Cloud Composer, citons:

Questions fréquentes

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

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

  • Cloud Composer 3 est compatible avec Airflow 2.
  • Cloud Composer 2 est compatible avec Airflow 2.
  • Cloud Composer 1 est compatible avec Airflow 1 et Airflow 2.

Vous contrôlez la version Apache Airflow de votre environnement. Vous pouvez décidez de mettre à niveau votre environnement vers une version ultérieure 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, utilisez 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 Airflow ?

Cloud Composer utilise un service de base de données géré pour Airflow base de données. Il n'est pas possible d'utiliser une base de données fournie par l'utilisateur que la base de donné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 les clusters d'environnement sur lesquels les composants Airflow s'exécutent. Ces clusters sont entièrement géré par Cloud Composer.

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

Puis-je utiliser mon propre registre de conteneurs ?

Cloud Composer gère les conteneurs à l'aide du service Artifact Registry d'images utilisés par les environnements Cloud Composer. 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 3 et Cloud Composer 2 disposent d'une instance Airflow zonale une base de données spécifique, ainsi qu'une couche de planification et d'exécution Airflow régionale. Airflow les programmeurs, les nœuds de calcul et les serveurs Web s'exécutent dans la couche d'exécution Airflow.

Les environnements Cloud Composer 1 sont zonaux.

Étape suivante