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 machineCeleryExecutor→ distribution sur plusieurs workersKubernetesExecutor→ 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
SequentialExecutorouLocalExecutor - En production → Celery ou Kubernetes
- PostgreSQL recommandé pour la base
Airflow orchestre les tâches ; il ne stocke pas les données métier.