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.