Accéder au contenu principal

Apache Airflow 3.0 est arrivé : La version la plus importante à ce jour

Ce guide pratique d'Apache Airflow 3.0 explore ses fonctionnalités, ses améliorations et tout ce que vous devez savoir sur la mise à jour la plus importante à ce jour.
Actualisé 24 avr. 2025  · 15 min de lecture

Apache Airflow 3.0 est enfin là, et c'est facilement la version la plus importante dans l'histoire du projet. 

Cette version va redéfinir la façon dont vous envisagez la gestion des flux de travail, que vous soyez novice en matière de données ou que vous travailliez avec Airflow depuis des années.

Après avoir exploré la nouvelle version en personne, je peux affirmer en toute confiance qu'il s'agit de bien plus qu'une simple mise à jour incrémentielle.

Parmi les points forts, citons

  • Une nouvelle architecture orientée services avec une exécution à distance complète
  • Une toute nouvelle interface utilisateur basée sur React et FastAPI
  • Versioning et cursus de changement de DAG
  • Déclenchement de DAG en fonction des actifs et des événements
  • Prise en charge native des flux de travail modernes de ML
  • Chemins de mise à niveau clairs et division modulaire de l'interface utilisateur

Ce guide vous permettra de découvrir Airflow 3.0 et tout ce qu'il a à offrir.

Qu'est-ce que l'Airflow Apache ?

Apache Airflow est une plateforme open-source qui aide les utilisateurs à créer, planifier et contrôler les flux de données de manière programmatique. 

Il a été l'orchestrateur de référence pour les pipelines ETL complexes, les flux de travail d'ingénierie des données et, plus récemment, les pipelines d'apprentissage automatique.

Le concept fondamental d'Airflow est le DAG (un graphe acyclique dirigé qui définit une séquence de tâches et leurs dépendances).

Les tâches peuvent aller des scripts Python aux transformations SQL et même aux opérations conteneurisées lorsqu'il s'agit d'utiliser Airflow. 

La plateforme est flexible, extensible et, avec la version 3.0, elle est plus que jamais à l'épreuve du temps.

Si vous débutez avec Airflow, la page Introduction à Apache Airflow en Python est une excellente ressource qui vous permettra d'acquérir une expérience pratique.

Une brève histoire de l'Airflow Apache

Airflow a été initialement développé par Airbnb en 2014 et mis en open-source en 2015. 

Il est ensuite devenu un projet Apache et est depuis lors l'un des outils d'orchestration les plus largement adoptés dans l'écosystème de l'ingénierie des données.

  • Airflow 1.x: Présentation des bases de la création de DAG, de l'ordonnanceur et de l'exécuteur, basées sur Python.
  • Airflow 2.0 (2020): Une version de référence qui a ajouté l'API TaskFlow, l'API REST et le planificateur à haute disponibilité.
  • Airflow 2.3-2.5: Introduction des ensembles de données, de l'ordonnancement tenant compte des données et des améliorations en matière d'observabilité.
  • Airflow 3.0 (2025): Marque une refonte fondamentale, qui donne la priorité à la modularité, aux capacités ML-native et à la prise en charge cloud-native.

L'image ci-dessous montre clairement que les contributions GitHub ont considérablement augmenté d'une année sur l'autre, ce qui montre qu'Apache Airflow est l'un des projets open-source les plus actifs dans l'espace d'orchestration des données.

Graphique montrant l'augmentation du nombre de contributions GitHub à Apache Airflow au fil des années.

Graphique montrant l'augmentation du nombre de contributions GitHub à Apache Airflow au fil des années. Source : Vidéo d'introduction à Airflow 3.0

Quelles sont les nouveautés d'Apache Airflow 3.0 ?

Apache Airflow 3.0 est une version basée sur trois thèmes fondamentaux. 

Capture d'écran de la page de publication d'Apache Airflow 3.0.

Capture d'écran de la page de publication d'Apache Airflow 3.0. Source : Airflow Apache

Ces thèmes reflètent la vision du projet visant à répondre aux exigences des plateformes de données modernes, à améliorer l'expérience des développeurs et à renforcer la position d'Airflow en tant qu'orchestrateur central dans les environnements distribués, hybrides et alimentés par le ML.

Les thèmes clés peuvent être classés dans les grandes catégories suivantes :

Image résumant les trois thèmes principaux d'Apache Airflow 3.0.

Image résumant les trois thèmes principaux d'Apache Airflow 3.0. Image créée à l'aide de Napkin AI

Plus facile à utiliser

L'un des objectifs les plus importants de la version 3.0 est d'améliorer la convivialité à tous les niveaux, de la ligne de commande à l'interface utilisateur et aux interactions avec l'API sous-jacente.

Airflow est désormais plus facile à apprendre, plus agréable à utiliser au quotidien et mieux équipé pour répondre à des besoins opérationnels complexes.

Une sécurité renforcée

La sécurité est devenue une préoccupation centrale dans l'ingénierie des données, notamment en raison des réglementations croissantes en matière de protection de la vie privée et de l'ampleur de l'infrastructure des données. 

Airflow 3.0 répond à ces préoccupations en offrant un support architectural plus approfondi pour l'isolation des tâches et le contrôle de l'exécution.

Les améliorations de la sécurité dans Airflow 3.0 sont à la fois proactives et stratégiques, ce qui s'aligne sur les besoins des déploiements d'entreprise, des industries hautement réglementées et des pratiques DevSecOps modernes.

Courir n'importe où, n'importe quand

La pile de données moderne n'est plus confinée aux centres de données sur site ou même aux environnements cloud centralisés. 

Airflow 3.0 relève ce défi en prenant en charge diverses topologies de déploiement et divers modèles d'exécution.

Permettre aux tâches de s'exécuter n'importe où (et prendre en charge les flux de travail qui s'exécutent à tout moment) offre une flexibilité, une résilience et une évolutivité inégalées pour l'orchestration du cycle de vie des données modernes.

Image montrant des clusters distants avec des travailleurs locaux, utilisés pour fonctionner n'importe où et n'importe quand.

Image montrant des clusters distants avec des travailleurs locaux, utilisés pour fonctionner n'importe où et n'importe quand. Source : Vidéo d'introduction à l'Astronomie Airflow 3.0

La suite de ce guide abordera plus en détail certains aspects du thème clé d'Airflow 3.0.

Changements majeurs dans l'architecture d'Airflow 3.0

La version 3.0 d'Apache Airflow réimagine la façon dont les tâches sont exécutées, l'endroit où elles peuvent être exécutées et la façon dont les développeurs et les opérateurs interagissent avec le système. 

L'accent est mis sur le découplage, la modularisation, l'évolutivité et la flexibilité de déploiement, permettant à Airflow de répondre aux exigences des plateformes de données hybrides et multi-cloud.

Image montrant l'architecture pour Airflow 2 et Airflow 3.

Image montrant l'architecture pour Airflow 2 et Airflow 3. Source : Vidéo d'introduction à l'Astronomie Airflow 3.0

API d'exécution des tâches et SDK des tâches

L'une des innovations les plus importantes d'Airflow 3.0 est l'introduction d'une API d'exécution de tâches et d'un SDK de tâches qui l'accompagne. 

Ces composants permettent de définir et d'exécuter des tâches indépendamment du moteur d'exécution principal d'Airflow.

En voici les principales conséquences :

  • Flexibilité linguistique: Les tâches ne sont plus limitées à Python. Avec le nouveau SDK, ils peuvent être écrits dans des langages tels que Java, Go ou R, ce qui permet une adoption et une intégration plus larges avec diverses piles technologiques.
  • Découplage de l'environnement: Les tâches peuvent désormais s'exécuter dans des environnements isolés, distants ou conteneurisés, séparément du planificateur et des travailleurs. Cela permet d'éliminer les conflits de dépendance et d'améliorer la cohérence de l'exécution.
  • Rationalisation du flux de travail des développeurs: Une interface standardisée pour le développement des tâches simplifie les tests et le déploiement, améliore la réutilisation du code et réduit le temps d'intégration des nouveaux développeurs.

Cette architecture constitue une avancée majeure pour rendre Airflow plus flexible et cloud-native. 

Il s'aligne sur l'évolution plus générale de l'ingénierie des données vers la diversité des langues, la conteneurisation et la reproductibilité au niveau des tâches.

Exécutant de bord

L'Edge Executor est un autre ajout à Airflow 3.0 qui est transformateur. 

Il est conçu pour permettre l'exécution de tâches en fonction d'événements et géographiquement distribuées. 

Plutôt que d'exiger que toutes les exécutions aient lieu dans un cluster centralisé, l'Edge Executor permet aux tâches de s'exécuter au niveau de la source de données ou à proximité de celle-ci.

Voici quelques-uns des principaux avantages de l'Edge Execution :

Image montrant les principaux avantages de l'Edge Execution.

Image montrant les principaux avantages de l'Edge Execution. Image créée à l'aide de Napkin AI

  • Flexibilité géographique: Les tâches peuvent être exécutées dans des clusters distants ou régionaux, dans des centres de données ou même sur des appareils périphériques.
  • Réactivité en temps réel: Idéal pour les cas d'utilisation à faible latence et axés sur les événements, tels que l'IoT, les flux de données financières ou la surveillance opérationnelle.
  • Réduction de la latence du réseau: Comme les calculs sont effectués à proximité de la source de données, le transfert de gros volumes de données vers un cluster central entraîne moins de frais généraux.
  • Pipelines déclenchés par des événements: Edge Executor prend en charge le nouveau paradigme d'ordonnancement piloté par les événements introduit dans Airflow 3.0.

Isolation des tâches et topologies de déploiement

Airflow 3.0 introduit un nouveau niveau d'isolation des tâches qui améliore considérablement la sécurité et les performances. 

Permettre aux tâches de s'exécuter dans des environnements de type "bac à sable" réduit le risque de fuites de données et de conflits de ressources. 

Il permet également une gestion plus souple des dépendances, car différentes tâches ou DAG peuvent fonctionner avec leurs propres versions de bibliothèques, d'environnements Python ou de moteurs d'exécution. 

Cette isolation permet de faciliter les mises à niveau. Les principaux composants d'Airflow peuvent être mis à jour sans perturber les tâches en cours ni rompre la compatibilité.

L'architecture améliorée permet également une série de scénarios de déploiement adaptés à divers besoins d'infrastructure. 

Dans les environnements de cloud public, les travailleurs Airflow peuvent être facilement répartis entre des fournisseurs tels que AWS, GCP ou Azure.

Pour les configurations de cloud privé ou hybride, les composants du plan de contrôle peuvent rester au sein d'un réseau sécurisé tandis que les tâches s'exécutent dans une DMZ ou un centre de données local.

En outre, Airflow 3.0 prend en charge les déploiements en périphérie, qui permettent des cas d'utilisation tels que l'inférence ML ou la détection d'anomalies directement sur le matériel industriel ou mobile.

Ces capacités permettent de respecter les réglementations relatives à la localité des données, à l'ordonnancement tolérant aux pannes et à l'exécution accélérée par le GPU.

Séparation du CLI : airflow et airflowctl

Airflow 3.0 introduit une interface de ligne de commande (CLI) divisée, conçue pour compléter le backend modulaire, qui fait la distinction entre les tâches de développement local et les tâches opérationnelles à distance.

Airflow

  • Utilisé pour le développement et les tests locaux
  • Interagit avec les DAG locaux, la base de données de métadonnées et les composants.
  • Prise en charge des tests rapides, de l'analyse DAG et du débogage en mode CLI

airflowctl

  • Conçu pour la production et l'orchestration à distance
  • S'occupe de la gestion de l'environnement, du déploiement et de l'exécution du cloud.
  • Utile pour les pipelines CI/CD, l'observabilité et la gestion des clusters distribués

Cette division simplifie les flux de travail pour les développeurs individuels et les équipes de la plateforme. 

Pour obtenir tous les détails techniques et la liste complète des changements, consultez le document officiel Airflow 3.0 officielles.

Résumé des améliorations de l'architecture

Voici un tableau récapitulatif des améliorations apportées à l'architecture :

Fonctionnalité

Description

Task SDK + API

Rédiger et exécuter des tâches dans n'importe quel langage grâce à la prise en charge de l'exécution à distance

Exécutant de bord

Exécution distribuée des tâches à proximité des sources de données ou dans différentes zones géographiques

Isolation des tâches

Environnements de travail sécurisés et indépendants ; gestion souple des dépendances

Fractionnement de l'interface de programmation

Distinction claire entre les commandes locales (Airflow) et distantes (Airflowctl)

Topologies de déploiement

Prise en charge des modèles d'exécution hybrides, multi-cloud, edge et accélérés par le GPU.

Nouvelle interface utilisateur basée sur React et versionnement du DAG

Airflow 3.0 présente une interface utilisateur entièrement repensée, construite à partir de zéro en utilisant React pour le frontend et FastAPI comme nouveau framework de backend. 

Une interface utilisateur plus rapide et plus réactive

La nouvelle architecture de l'interface utilisateur offre une expérience utilisateur nettement plus fluide, en particulier dans les environnements comportant des centaines ou des milliers de DAG. 

Les pages se chargent plus rapidement, les éléments de l'interface utilisateur sont plus intuitifs et le modèle de navigation semble cohérent et adapté aux différentes vues.

Voici quelques-unes des principales améliorations apportées à l'interface utilisateur :

  • Améliorations de l'affichage de la grille: Amélioration de la navigation, de la recherche et du filtrage dans la chronologie. Les utilisateurs peuvent désormais analyser plus facilement l'état d'exécution des DAG et résoudre les problèmes d'échec ou de blocage des tâches.
  • Améliorations de la vue graphique: Amélioration des zooms, des panoramiques et de l'exploration interactive des métadonnées des tâches. Cela permet de comprendre d'un coup d'œil les structures DAG complexes.
  • Panneau d'actifs: Une nouvelle vue conçue spécifiquement pour les flux de travail axés sur les actifs. Il permet aux utilisateurs de visualiser les actifs, leurs producteurs et leurs consommateurs, ainsi que les liens entre les DAG.

Prise en charge intégrée du mode sombre

Le mode sombre est désormais intégré de manière native et réfléchie à Airflow, qui offre une expérience visuelle raffinée, conçue pour la clarté et le confort à long terme.

Alors qu'une version du mode sombre était disponible dans la version 2.x, cette version introduit une couche de conception entièrement développée et conçue à cet effet. 

Il a été soigneusement optimisé pour le contraste, la lisibilité et la réduction de la fatigue oculaire lors de sessions de travail prolongées.

En tant que personne ayant passé du temps dans l'espace de développement, j'apprécie vraiment cela. 

C'était l'une des fonctionnalités les plus demandées par la communauté et elle est particulièrement utile pour les développeurs qui travaillent souvent dans des environnements peu éclairés ou qui préfèrent simplement une interface plus sombre.

Les images ci-dessous mettent en évidence le contraste visuel entre le mode clair et le mode foncé dans le tableau de bord de la console Airflow.

Capture d'écran de la console Airflow en mode lumineux.

Capture d'écran de la console Airflow en mode lumineux. Source : Vidéo d'introduction à l'Astronomie Airflow 3.0

Capture d'écran de la console Airflow en mode sombre.

Capture d'écran de la console Airflow en mode sombre. Source : Vidéo d'introduction à l'Astronomie Airflow 3.0

Versionnement du DAG

L'une des nouvelles fonctionnalités les plus impactantes d'Airflow 3.0 est le versioning de DAG de première classe. 

Le défi dans Airflow 2.x

Dans les versions antérieures d'Airflow, les DAG étaient analysés à partir des fichiers de code source, et la dernière version du DAG était appliquée universellement, voire rétroactivement, aux exécutions antérieures du DAG. 

Cette approche a donné lieu à plusieurs problèmes bien connus. 

L'un des principaux problèmes était la dérive de l'exécution. Si vous avez mis à jour un DAG au cours d'une exécution, les tâches peuvent se retrouver exécutées sous différentes versions du code. 

Il y a également eu une perte d'auditabilité, car Airflow n'avait pas de mécanisme natif permettant de savoir quelle version d'un DAG avait été utilisée pour une exécution spécifique. 

En outre, la précision de l'historique a souffert du fait que l'interface utilisateur affichait toujours la dernière structure du DAG, quelle que soit la date d'exécution réelle du DAG, ce qui a donné lieu à des historiques d'exécution incohérents et potentiellement trompeurs.

Ce que Airflow 3.0 change

Airflow 3.0 introduit le cursus structuré des versions de DAG directement dans la plateforme :

  • Les DAG sont versionnés à chaque fois qu'un nouveau déploiement ou une modification du code a lieu.
  • Les exécutions historiques sont conservées avec la version exacte du DAG qui les a produites.
  • Les utilisateurs peuvent sélectionner une version spécifique d'un DAG pour l'inspecter, la réexécuter ou l'analyser à partir de l'interface utilisateur.

J'apprécie vraiment cette fonctionnalité car, dans la pratique, il est presque impossible de créer un DAG qui n'aura pas besoin d'être modifié. 

Les DAG devront évoluer en raison d'une nouvelle logique d'entreprise, de la correction de bogues ou de l'optimisation des performances, et le fait de disposer d'un système intégré de gestion des versions rend ce processus beaucoup plus transparent et gérable.

Vous pouvez voir cela en action dans les captures d'écran ci-dessous, qui montrent l'interface d'orchestration DAG et la nouvelle liste déroulante de l'historique des versions.

Image de l'orchestration DAG.

Image de l'orchestration DAG. Source : Vidéo d'introduction à l'Astronomie Airflow 3.0

Capture d'écran de l'orchestration DAG avec une liste déroulante de l'historique des versions.

Capture d'écran de l'orchestration DAG avec une liste déroulante de l'historique des versions. Source : Vidéo d'introduction à l'Astronomie Airflow 3.0

Pourquoi la gestion des versions de DAG est-elle importante ?

Le versionnage des DAG joue un rôle crucial dans le maintien de flux de données fiables, traçables et conformes. Voici pourquoi c'est important :

  • Reproductibilité: Vous pouvez désormais réexécuter un DAG de manière fiable, exactement comme il a été exécuté dans le passé, même si le code actuel a été modifié.
  • Débogage de: Les erreurs peuvent être retracées jusqu'à la version spécifique du DAG responsable, ce qui facilite l'analyse des causes profondes.
  • Gouvernance: Dans les environnements réglementés, la gestion des versions favorise la conformité en conservant une piste d'audit du code utilisé, quand et comment.
  • Intégration CI/CD: Les équipes qui utilisent des flux de travail GitOps peuvent lier les versions DAG dans Airflow aux hashs de commit dans le contrôle de source pour un pipeline de livraison entièrement traçable.

Les captures d'écran ci-dessous montrent comment certaines des modifications sont présentées dans l'interface utilisateur, avec des vues tenant compte des versions dans la vue d'ensemble du DAG et dans le volet du code.

Capture d'écran du volet d'aperçu d'un DAG dans la console Airflow.

Capture d'écran du volet d'aperçu d'un DAG dans la console Airflow. Source : Vidéo d'introduction à l'Astronomie Airflow 3.0)

Capture d'écran du volet code au sein d'un DAG dans la console Airflow.

Capture d'écran du volet code au sein d'un DAG dans la console Airflow. Source : Vidéo d'introduction à l'Astronomie Airflow 3.0

Collaboration et transparence

Le versionnage DAG facilite également la collaboration entre les équipes chargées des données. Par exemple :

  • Les ingénieurs peuvent examiner les modifications apportées au DAG directement dans l'interface utilisateur sans avoir besoin d'un accès à Git.
  • Les analystes et les équipes d'assurance qualité peuvent vérifier le comportement historique sans risquer d'interférer avec les DAG de production.
  • Les ingénieurs de la plate-forme peuvent tester en toute sécurité les nouvelles versions de DAG en même temps que les versions stables.

Une programmation et des remplissages plus intelligents

Airflow 3.0 marque une évolution significative dans la façon dont les flux de travail sont déclenchés, gérés et coordonnés.

DAG axés sur les actifs

Le concept d'actifs est au cœur de la planification intelligente d'Airflow 3.0. 

Inspiré par l'évolution des ensembles de données introduite dans les versions précédentes, le nouveau décorateur @asset permet aux utilisateurs de définir des pipelines qui sont pilotés par la disponibilité et l'état des entités de données logiques.

Qu'est-ce qu'un actif ?

Dans Airflow, un actif représente une donnée ou un résultat produit, transformé ou consommé par un DAG. 

Il peut s'agir d'un tableau de base de données, d'un fichier dans le stockage cloud, d'un modèle ML entraîné ou même d'une réponse d'API.

Avec le décorateur @asset :

  • Les actifs sont déclarés comme des fonctions Python qui renvoient ou génèrent des données.
  • Ces actifs sont traités comme des citoyens de première classe dans le processus d'orchestration.
  • Airflow suit automatiquement les dépendances entre les actifs et les DAG.

La capture d'écran ci-dessous montre comment les actifs sont visualisés dans la console Airflow.

Capture d'écran des actifs dans la console Airflow.

Capture d'écran des actifs dans la console Airflow. Source : Vidéo d'introduction à l'Astronomie Airflow 3.0

Voici quelques-unes des principales caractéristiques des actifs dans Airflow 3.0 :

Image des principales caractéristiques des actifs dans Airflow 3.0.

Image des principales caractéristiques des actifs dans Airflow 3.0. Image créée à l'aide de Napkin AI

  • Métadonnées structurées: Les actifs prennent en charge les noms, les URI, les identificateurs de groupe et les champs de métadonnées arbitraires, ce qui permet d'enrichir l'historique et la découverte.
  • Conception composable: Les actifs peuvent se référencer les uns les autres pour construire des pipelines interdépendants et modulaires.
  • Support de l'observateur: Les actifs peuvent être configurés avec des observateurs, qui surveillent les signaux externes (actuellement AWS SQS) et déclenchent l'exécution du DAG en réponse.

Ce modèle transforme la planification des DAG de "exécuter toutes les heures" à "exécuter lorsque les données pertinentes sont prêtes". 

Cela permet des flux de travail véritablement réactifs qui sont étroitement liés à l'état des données, et non à l'horloge.

Pour des exemples plus détaillés et des modèles de production utilisant ces nouvelles capacités, consultez le guide de l'astronome sur l'ordonnancement basé sur les données. Guide de l'astronome sur l'ordonnancement basé sur les données propose une démonstration détaillée. Vous pouvez également apprendre comment mettre en place un pipeline de données complet avec ces fonctionnalités dans le guide de Construire un pipeline ETL avec Airflow.

Programmation d'événements externes

Airflow 3.0 introduit un support robuste pour l'ordonnancement événementiel externe, qui permet aux flux de travail d'être initiés sur la base de déclencheurs du monde réel provenant de l'extérieur de l'écosystème Airflow.

Cette fonction représente un changement important par rapport à l'approche traditionnelle d'Airflow basée sur les sondages.

Les sources d'événements prises en charge sont les suivantes AWS SQS pour l'intégration aux files d'attente de messages dans les flux de travail découplés et natifs pour le cloud, la prise en charge prévue de Kafka pour prendre en charge le streaming et la coordination des microservices, et les HTTP/webhooks pour la réception de signaux provenant de systèmes de surveillance, d'API ou d'autres plates-formes d'orchestration.

Les cas d'utilisation vont du démarrage d'un pipeline de données lorsqu'un nouveau fichier arrive dans S3 au lancement d'un DAG en réponse à une mise à jour du registre de modèles ML ou à la coordination de flux de travail d'alerte et de réponse aux incidents en temps réel. 

Les DAG pilotés par les événements permettent à Airflow de devenir plus flexible et plus puissant, capable de réagir aux systèmes externes en temps réel.

Remblais gérés par le programmateur

L'une des améliorations les plus attendues de la version 3.0 d'Airflow est la refonte des mécanismes de rechargement, le processus de réexécution des intervalles de données passés ou de réparation des DAG défaillants.

Parmi les difficultés rencontrées dans Airflow 2.x, citons l'absence d'interface utilisateur et d'API pour les remplissages, qui devaient être déclenchés manuellement via le CLI. 

Suite à cela, des améliorations ont été apportées à Airflow 3.0, notamment :

Image contenant les améliorations apportées par Airflow 3.0.

Image contenant les améliorations apportées par Airflow 3.0. Image créée à l'aide de Napkin AI

  • Modèle d'exécution unifié: Les remplissages sont désormais gérés par l'ordonnanceur principal, ce qui garantit la cohérence avec les exécutions régulières de DAG.
  • Déclenchement multimodal: Les remplissages peuvent être lancés via l'interface utilisateur, l'API ou le CLI, ce qui offre une grande souplesse aux utilisateurs interactifs et aux systèmes automatisés.
  • Exécution asynchrone: Les remplissages s'exécutent désormais de manière asynchrone et non bloquante ; plusieurs remplissages peuvent être mis en file d'attente et gérés simultanément.
  • Observabilité totale: L'interface utilisateur comprend un suivi de l'avancement du remblayage avec des vues détaillées au niveau des tâches, des journaux en temps réel et des indicateurs d'état.
  • Annulable les séries: Les remplissages peuvent désormais être interrompus ou terminés à partir de l'interface utilisateur, ce qui permet aux utilisateurs de répondre de manière dynamique aux problèmes sans avoir à redémarrer des flux de travail entiers.

Prise en charge des cas d'utilisation de l'apprentissage automatique et de l'IA par Airflow 3.0

Airflow 3.0 franchit une étape importante pour devenir un outil d'orchestration de premier ordre pour les flux de travail modernes axés sur l'apprentissage automatique (ML) et l'IA.

DAG sans intervalle de données

L'un des changements les plus importants de la version 3.0 est la suppression de la contrainte de la date d'exécution.

Dans Airflow 2.x et les versions antérieures, chaque exécution de DAG devait avoir une date d'exécution unique, qui était principalement liée à l'intervalle d'ordonnancement. 

Si ce modèle fonctionnait bien pour les travaux ETL basés sur le temps, il créait des frictions dans les scénarios d'expérimentation et d'inférence.

Avec les DAG sans intervalle de données, Airflow 3.0 introduit une véritable indépendance d'exécution :

Voici quelques-uns des cas d'utilisation rendus possibles par ce changement :

  • Expérimentation de modèles: Exécutez le même DAG plusieurs fois pour différentes configurations de modèles ou tranches de données sans vous soucier de dates d'exécution contradictoires.
  • Réglage des hyperparamètres: Lancez des exécutions simultanées de DAG pour différentes grilles de paramètres ou stratégies de recherche, suivies séparément mais exécutées en parallèle.
  • DAGs d'inférence: Invoquez de manière continue ou répétée le même DAG pour des prédictions en temps réel ou par lots, déclenchées par de nouvelles données, des événements externes ou des actions de l'utilisateur.

Ce découplage simplifie considérablement la logique d'orchestration pour les ingénieurs ML et permet des niveaux plus élevés d'automatisation, de parallélisme et de reproductibilité.

Exécutez des tâches à tout moment

Airflow 3.0 prend désormais officiellement en charge plusieurs paradigmes d'exécution, reconnaissant que les flux de données modernes ne se conforment pas toujours à des calendriers fixes. 

Cette mise à jour rend Airflow plus adaptable à une variété de besoins opérationnels et de traitement de données.

Les modes d'exécution pris en charge comprennent l'exécution programmée traditionnelle (Batch), qui utilise une planification de type cron et est bien adaptée aux travaux tels que les rapports nocturnes, les synchronisations horaires ou les pipelines ETL par lots. 

Airflow 3.0 prend également en charge l'exécution pilotée par les événements, où les DAG peuvent être déclenchés par des événements externes - tels qu'un nouveau fichier apparaissant dans un seau de stockage cloud ou un message arrivant sur Kafka - permettant une orchestration réactive et en temps réel. En outre, l'exécution ad hoc/par inférence est désormais possible, ce qui permet d'exécuter des DAG sans avoir besoin d'un horodatage spécifique. 

Ceci est particulièrement utile pour les cas d'utilisation tels que l'inférence d'apprentissage automatique, les contrôles de qualité des données ou les tâches déclenchées par l'utilisateur où la simultanéité et l'immédiateté sont importantes.

Mise à jour vers Airflow 3.0

Airflow 3.0 apporte des améliorations significatives, mais rompt également avec les modèles existants de manière significative. 

Pour vous aider à effectuer une transition en douceur, les principaux contributeurs ont fourni un guide de mise à niveau complet et bien structuré.

Il s'agit d'une version majeure, et une planification minutieuse est conseillée. 

Cela dit, le processus de mise à niveau a été rendu aussi simple que possible grâce à une documentation claire, des listes de contrôle de mise à niveau et des outils de compatibilité.

Le guide aborde notamment les aspects suivants

  • Configuration de l'environnement et des dépendances
  • Alignement du planificateur et de l'exécuteur
  • Migrations et sauvegardes des schémas de base de données
  • Différences comportementales dans l'exécution des tâches et l'analyse des DAG

Capture d'écran de la page web d'Apache Airflow sur la mise à jour vers la version 3.0.

Capture d'écran de la page web d'Apache Airflow sur la mise à jour vers la version 3.0. Source : Airflow Apache

Il est important que vous évaluiez les points suivants avant de procéder à la mise à niveau :

  • Compatibilité DAG: Assurez-vous que les DAG utilisent les API et les constructions prises en charge par le SDK de tâches 3.0, en particulier si vous adoptez de nouvelles fonctions d'exécution.
  • CLI transition: Remplacez l'utilisation de la CLI par airflowctl lorsque c'est nécessaire, en particulier dans les contextes CI/CD et d'exécution à distance.
  • Validation du plugin: Confirmez que les plugins personnalisés et les intégrations tierces sont compatibles avec la nouvelle conception architecturale et la division du CLI.

Si vous souhaitez une mise à jour en douceur, consultez la documentation complète de la Documentation sur la mise à jour vers Airflow 3.0 avant de mettre à jour Airflow.

Évaluation basée sur la démonstration

Pour voir les nouvelles fonctionnalités d'Airflow 3.0 en action, les DAGs de démonstration officiels fournis par Astronomer offrent une façon pratique d'explorer les dernières capacités de la plateforme.

Ces démonstrations constituent une vitrine complète et sont idéales pour comprendre comment des fonctionnalités telles que le versionnement DAG, les flux de travail basés sur les actifs et l'exécution basée sur les événements fonctionnent dans des scénarios réels.

Capture d'écran d'un exemple de cas d'utilisation où Airflow 3.0 pourrait être utilisé.

Capture d'écran d'un exemple de cas d'utilisation où Airflow 3.0 pourrait être utilisé. Source : Astronome GitHub

L'interface actualisée s'est imposée d'emblée. La vue Asset offre une carte visuelle claire des dépendances et de la lignée des données, ce qui s'est avéré particulièrement utile lorsque l'on travaille avec des DAG axés sur les actifs. 

Le panneau de l'historique des versions de DAG est un autre point fort. Il a permis une inspection rapide des changements antérieurs, a facilité la reproductibilité et a permis de corréler facilement des exécutions spécifiques avec le code qui les a produites. 

En outre, le nouveau mode sombre offre un contraste et une lisibilité excellents, ce qui constitue une amélioration bienvenue pour les sessions de débogage prolongées ou les travaux de développement nocturnes.

Si vous souhaitez l'essayer vous-même, Astronomer fournit des instructions étape par étape et un environnement de démonstration prêt à l'emploi sur leur dépôt dépôt GitHub. Vous pouvez cloner le repo, suivre le guide d'installation et explorer les nouvelles fonctionnalités d'Airflow 3.0.

Communauté et développement futur

Apache Airflow a toujours été animé par sa communauté, et cela s'applique également à Airflow 3.0. 

La plupart des fonctionnalités les plus importantes de cette version sont des réponses directes aux enquêtes de la communauté, aux discussions sur GitHub et aux commentaires des utilisateurs.

Si vous utilisez Airflow, vous devriez envisager de vous impliquer. Voici comment vous pouvez avoir un impact :

  • Rejoignez la Communauté Slack Apache Airflow pour partager vos retours d'expérience, poser des questions et vous connecter avec d'autres praticiens.
  • Engagez-vous sur GitHub en participant aux problèmes, aux propositions de fonctionnalités et aux discussions sur la conception afin de contribuer à l'élaboration des futures versions.
  • Participez aux enquêtes sur les caractéristiques lorsqu'elles sont diffusées. Airflow 3.0 a été conçu à partir des commentaires d'utilisateurs tels que vous.

Conclusion

Apache Airflow 3.0 apporte une architecture orientée service, une exécution polyglotte des tâches, une planification plus intelligente et une interface utilisateur entièrement modernisée, le tout en une seule version.

Le changement peut sembler radical, en particulier avec la nouvelle division de la CLI et les exécuteurs axés sur la périphérie, mais le résultat est une plateforme d'orchestration plus modulaire, évolutive et prête pour la production. 

Il est également plus flexible pour les équipes de ML, les piles cloud-natives et les systèmes pilotés par les événements où la réactivité et l'observabilité sont essentielles.

Si vous utilisez encore une version plus ancienne d'Airflow, la mise à jour vers la version 3.0 vaut vraiment la peine d'être envisagée.

Pour vous familiariser avec Airflow, commencez par notre cours, Getting Started with Apache Airflow, ou approfondissez votre compréhension des concepts de base dans Introduction to Apache Airflow in Python.

FAQ Airflow 3.0

Quelles sont les principales nouveautés d'Apache Airflow 3.0 ?

Airflow 3.0 introduit une architecture orientée service, une nouvelle interface utilisateur basée sur React, le versionnage DAG, la planification pilotée par les actifs et un support ML/AI amélioré.

Comment la nouvelle API d'exécution des tâches améliore-t-elle la flexibilité ?

L'API d'exécution des tâches permet d'exécuter des tâches dans n'importe quel langage et environnement, ce qui rend Airflow plus polyglotte et cloud-native que jamais.

Quelle est la différence entre les nouvelles commandes airflow et airflowctl ?

 Airflow est désormais utilisé pour les commandes locales, tandis qu'airflowctl gère les opérations à distance, ce qui offre une meilleure séparation entre le développement et le déploiement.

Comment fonctionne le DAG versioning dans Airflow 3.0 ?

Airflow 3.0 assure le cursus des modifications apportées aux DAG au fil du temps. Cela permet aux utilisateurs de consulter l'historique des versions et d'améliorer le débogage, l'audit et la collaboration.

Airflow 3.0 est-il compatible avec les workflows d'apprentissage automatique ?

Oui. Airflow 3.0 prend en charge les DAG sans intervalle et les exécutions à la demande, ce qui facilite l'exécution des expériences de ML, l'entraînement des modèles et les tâches d'inférence.

Est-il difficile de passer à Airflow 3.0 ?

Si la plupart des DAG fonctionneront avec un minimum de modifications, certains changements radicaux et certaines fonctionnalités obsolètes doivent être revus. Des guides officiels de migration sont disponibles.


Don Kaluarachchi's photo
Author
Don Kaluarachchi
LinkedIn
Twitter
Je suis Don - consultant, développeur, ingénieur, architecte numérique et écrivain (en gros, j'ai plusieurs casquettes 👨‍💻🎩). J'aime veiller au bon fonctionnement des plates-formes numériques et trouver sans cesse des moyens de les améliorer. Quand je ne code pas, j'écris sur l'intelligence artificielle, la science des données et tout ce qui touche à la technologie.
 
Au fil des ans, j'ai travaillé sur tout, de la construction et de l'optimisation de logiciels au déploiement de modèles d'IA et à la conception de solutions cloud. Je suis titulaire d'un master en intelligence artificielle et d'une licence en informatique, tous deux obtenus à l'université Brunel de Londres.
Sujets

Les meilleurs cours de DataCamp

Cursus

Ingénieur de données en Python

0 min
Acquérir des compétences très demandées pour ingérer, nettoyer et gérer efficacement les données, ainsi que pour planifier et surveiller les pipelines, vous permettra de vous démarquer dans le domaine de l'ingénierie des données.
Afficher les détailsRight Arrow
Commencer le cours
Voir plusRight Arrow