Apache Airflow
# Apache Airflow

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 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^,.$ 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

Airflow utilise des graphes 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 ). 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.

## Fournisseurs gérés

Plusieurs fournisseurs notables proposent des services auxiliaires autour du projet open source de base. Cloud Composer par exemple est une version d'Airflow qui s'exécute sur Google Cloud Platform (GCP) et s'intègre bien aux autres services GCP.

