Aller au contenu

Architecture Airflow

Airflow - Cet article fait partie d'une série.
Partie 2: Cet article

Airflow repose sur plusieurs composants qui travaillent ensemble pour planifier et exécuter des workflows.


Composants principaux
#

Scheduler
#

  • Analyse les DAG
  • Planifie les exécutions
  • Détermine quelles tâches doivent être lancées
  • Gère les dépendances et le timing

C’est le cœur d’Airflow.


Webserver
#

  • Fournit l’interface graphique
  • Permet de visualiser les DAG
  • Affiche les logs
  • Permet de déclencher manuellement des runs

Metadata Database
#

Base de données interne (PostgreSQL recommandé en production).

Elle stocke :

  • l’état des DAG
  • l’historique des exécutions
  • les logs
  • les variables et connexions

Executor
#

Définit comment les tâches sont exécutées.

Exemples :

  • SequentialExecutor → exécution séquentielle (dev)
  • LocalExecutor → parallèle sur la même machine
  • CeleryExecutor → distribution sur plusieurs workers
  • KubernetesExecutor → pods Kubernetes

L’executor impacte directement la scalabilité.


Schéma simplifié
#

DAG (Python)
→ Scheduler
→ Executor
→ Workers
→ Metadata DB
→ Web UI


En pratique
#

  • En local → souvent SequentialExecutor ou LocalExecutor
  • En production → Celery ou Kubernetes
  • PostgreSQL recommandé pour la base

Airflow orchestre les tâches ; il ne stocke pas les données métier.

Thibault CLEMENT - Intechnia
Auteur
Thibault CLEMENT - Intechnia
Data Scientist / ML Engineer
Airflow - Cet article fait partie d'une série.
Partie 2: Cet article