Apache Airflow

Un article de Wikipédia, l'encyclopédie libre.
Apache Airflow
Description de l'image AirflowLogo.png.

Informations
Développé par Apache Software FoundationVoir et modifier les données sur Wikidata
Dernière version 2.0.2 ()[1]Voir et modifier les données sur Wikidata
Dépôt github.com/apache/airflowVoir et modifier les données sur Wikidata
Assurance qualité Intégration continueVoir et modifier les données sur Wikidata
Écrit en PythonVoir et modifier les données sur Wikidata
Type Projet de la fondation Apache (d)
Bibliothèque logicielle Python (d)Voir et modifier les données sur Wikidata
Licence Apache License 2.0
Site web airflow.apache.org et airflow.apache.orgVoir et modifier les données sur Wikidata

Apache Airflow est une plate-forme de gestion de flux de travail open source. Initialement, c’est Airbnb qui démarre ce projet en octobre 2014 [2] afin de gérer les flux de travail de plus en plus complexes au sein de l'entreprise. La création d'Airflow a permis à Airbnb de créer et de planifier ses flux de travail par programmation et de les surveiller via l' interface utilisateur intégrée d' Airflow[3],[4]. Dès le début, le projet a été rendu open source, devenant un projet d'incubateur Apache en mars 2016 puis un "top level project" de la Apache Software Foundation en janvier 2019.

Airflow est écrit en Python et les workflows sont créés via des scripts Python. Airflow est conçu selon le principe de la "configuration as code". Alors que d'autres plates-formes de workflow de « configuration as code » existent et utilisent des langages de balisage comme XML, l'utilisation de Python permet aux développeurs d'importer des bibliothèques et des classes pour les aider à créer leurs workflows.

Aperçu[modifier | modifier le code]

Airflow utilise des graphiques acycliques dirigés (DAG) pour gérer l'orchestration des workflows. Les tâches et les dépendances sont définies en Python, puis Airflow gère la planification et l'exécution. Les DAG peuvent être exécutés selon un calendrier défini (par exemple, toutes les heures ou tous les jours) ou en fonction de déclencheurs d'événements externes (par exemple, un fichier apparaissant dans Hive [5] ). Les anciens planificateurs basés sur DAG comme Oozie et Azkaban avaient tendance à s'appuyer sur plusieurs fichiers de configuration et arborescences de système de fichiers pour créer un DAG, alors que dans Airflow, les DAG peuvent souvent être écrits dans un seul fichier Python[6].

Fournisseurs gérés[modifier | modifier le code]

Trois fournisseurs notables proposent des services auxiliaires autour du projet open source de base. Astronomer a créé un outil SaaS et une pile Airflow déployable par Kubernetes qui facilite la surveillance, les alertes, les développements et la gestion des clusters[7]. Cloud Composer est une version d'Airflow qui s'exécute sur Google Cloud Platform (GCP) et s'intègre bien aux autres services GCP[8]. Depuis novembre 2020, Amazon Web Services propose des flux de travail gérés pour Apache Airflow[9].

Notes et références[modifier | modifier le code]

  1. « Release 2.0.2 », (consulté le )
  2. « Apache Airflow » [archive du ], Apache Airflow (consulté le )
  3. Beauchemin, « Airflow: a workflow management platform » [archive du ], Medium, (consulté le )
  4. « Airflow » [archive du ] (consulté le )
  5. Trencseni, « Airflow review » [archive du ], BytePawn, (consulté le )
  6. « AirflowProposal », Apache Software Foundation, (consulté le )
  7. Lipp, « Astronomer is Now the Apache Airflow Company », americaninno, (consulté le )
  8. (en-US) « Google launches Cloud Composer, a new workflow automation tool for developers », TechCrunch (consulté le )
  9. (en-US) « Introducing Amazon Managed Workflows for Apache Airflow (MWAA) », Amazon Web Services, (consulté le )