Découvrez Kestra, le nouvel orchestrateur open source cloud-native qui simplifie et automatise vos workflows data avec flexibilité, scalabilité et observabilité.
Dans un monde où la gestion des flux de données est devenue critique, l'orchestration des workflows est un élément clé pour garantir la performance, la fiabilité et la scalabilité des pipelines de données. Parmi les solutions émergentes, Kestra se distingue comme un orchestrateur open source moderne, adapté aux environnements cloud natifs et aux architectures distribuées.
Kestra permet de créer des workflows soit en les codant directement, soit en utilisant une interface visuelle intuitive, offrant ainsi une accessibilité accrue aux équipes techniques et métiers.
Qu'est-ce que Kestra ?
Kestra est une plateforme d'orchestration de workflows conçue pour simplifier la gestion des tâches complexes en permettant une modélisation déclarative et scalable des pipelines de données. Il prend en charge près de 200 connecteurs natifs, couvrant des bases de données (PostgreSQL, MySQL, MongoDB), des services cloud (AWS, GCP, Azure), des systèmes de messaging (Kafka, RabbitMQ) et bien plus encore.
Architecture de Kestra
Kestra repose sur une architecture distribuée et cloud-native qui permet une orchestration efficace des workflows à grande échelle. Voici les principaux composants :
- Multi-Tenant : Kestra est conçu pour gérer plusieurs espaces de travail indépendants (namespaces), permettant à différentes équipes ou départements d’exécuter leurs propres workflows sans interférence. Chaque namespace peut être configuré avec ses propres ressources et autorisations.
- Workers : Ils sont responsables de l'exécution des tâches des workflows. Ils sont distribués et scalables, ce qui signifie que Kestra peut gérer une grande quantité de tâches en parallèle. Chaque worker peut être déployé sur Kubernetes ou sur des machines dédiées, assurant ainsi une flexibilité et une montée en charge automatique.
- Executors : Ils gèrent le lancement et l’ordonnancement des workflows. Ils supervisent l’état des workflows en cours d’exécution, redémarrent les tâches en échec et garantissent l’exécution dans l’ordre prévu. Kestra utilise une architecture event-driven qui permet aux executors de réagir immédiatement aux changements d’état des tâches.
- Stockage et persistance : Kestra utilise une base de données centralisée (souvent PostgreSQL) pour stocker les définitions de workflows, les logs d’exécution et les métadonnées. Cette centralisation permet d’assurer une haute disponibilité et une reprise rapide après un incident.
- API et interface utilisateur : Kestra expose une API REST qui permet d'interagir avec le moteur d'orchestration. Une interface utilisateur graphique complète permet aux utilisateurs de concevoir, surveiller et dépanner leurs workflows sans écrire une seule ligne de code.
Exemple : implémentation d'un workflow
Prenons l'exemple d'une entreprise de taille moyenne souhaitant orchestrer un pipeline de traitement des données de ventes. Le workflow Kestra peut être défini en YAML et comprend les étapes suivantes :
- Extraction des données : une tâche se connecte à une base de données PostgreSQL et extrait les ventes de la journée.
- Transformation : une tâche en Python nettoie et enrichit les données en utilisant Pandas.
- Chargement : les données sont envoyées vers un Data Warehouse comme BigQuery ou Snowflake.
- Notification : Un message est envoyé via Slack ou Microsoft Teams pour alerter les analystes.
- Monitoring : les exécutions sont surveillées via Prometheus et Grafana pour détecter les erreurs et assurer le suivi des performances.
Exemple de définition YAML d'un tel workflow :

Pourquoi Kestra ?
1. Simplicité
Kestra permet de définir des workflows sous forme de fichiers YAML, facilitant ainsi l'intégration dans les processus DevOps et DataOps. Contrairement aux orchestrateurs comme Apache Airflow, Kestra mise sur une approche plus intuitive et lisible, réduisant ainsi la complexité du développement et de la maintenance des pipelines.
Kestra est language-agnostique, permettant aux développeurs d'écrire leurs tâches en divers langages tels que Go, Python, R, Java, Node.JS et bien d'autres, offrant ainsi une grande flexibilité aux équipes techniques.
2. Scalabilité native Cloud
Conçu pour fonctionner sur Kubernetes, Kestra permet un passage à l’échelle fluide et automatique, répondant aux besoins croissants en matière de traitement des données. Il offre une gestion fine des ressources avec des exécutions distribuées, assurant ainsi une haute disponibilité et une gestion optimisée des charges de travail.
3. Flexibilité et Polyvalence
Kestra prend en charge divers cas d’usage :
- ETL & ELT : Intégration et transformation de données en mode batch ou temps réel.
- Data engineering : Automatisation des workflows complexes pour la gestion des données.
- Machine learning & AI : Orchestration complète des pipelines de machine learning, incluant la préparation des données, l'entraînement des modèles, leur validation, leur déploiement en production et leur supervision continue.
4. Observabilité et Sécurité
L’intégration native avec Prometheus, Grafana et Elasticsearch permet un suivi précis des exécutions et une analyse fine des performances. Kestra offre également des mécanismes de gestion des erreurs et de reprise automatique en cas d’échec, garantissant une fiabilité accrue.
Kestra vs Airflow : Un Nouveau Standard ?
Si Apache Airflow est aujourd’hui une référence dans l’orchestration des workflows, Kestra se positionne comme une alternative moderne et adaptée aux architectures cloud-native. Sa simplicité de configuration et sa capacité à gérer des workflows massivement parallélisés en font un choix pertinent pour les organisations cherchant à moderniser leur stack data.
Kestra représente une solution innovante et robuste permettant d'améliorer la gestion des workflows de données tout en réduisant la dette technique. Avec son approche déclarative, son intégration fluide avec les outils cloud et son architecture scalable, Kestra est un choix stratégique pour toute entreprise cherchant à optimiser ses processus data
Jamel Ben Amar
CTO, Smile
Pour plus de renseignement sur cette solution, n’hésitez pas nous contacter.