89 % des entreprises auraient des difficultés à gérer leurs données selon une étude menée en 2019 par l’entreprise Experian. Les principaux problèmes cités sont le délai d’accès aux données, le manque de fiabilité et la difficulté technique pour y accéder.
Apporter une solution à tous ces problèmes est justement l’un des objectifs du DataOps. Le DataOps est un ensemble de méthodes, d’outils et de process adaptés à la gestion de projet data.
L’une des clés du DataOps est l’orchestration et l’automatisation des opérations (« Ops » étant l’abréviation de l’anglais « operations »). Concrètement, cela se traduit par la mise en place de « pipelines » qui sont un outil idéal pour atteindre cet objectif, comme nous allons le voir dans cet article.
Deux types de pipelines distincts en DataOps
L’utilisation de pipelines dans le secteur du digital n’est pas apparue avec le DataOps. Si vous travaillez dans ce secteur, vous avez sûrement déjà croisé ce terme plusieurs fois. En réalité, on peut définir plusieurs types de pipelines :
- pipeline CI/CD : leur objectif est d’automatiser le déploiement d’applications à partir de code source. Ce type de pipeline est très répandu en dehors du secteur de la data science ;
- pipeline de données : leur objectif est de collecter, transformer et déplacer des données.
Les deux types sont utilisés en DataOps, cependant, celui qui nous intéresse surtout dans cet article est le deuxième, plus spécifique au secteur de la data et au DataOps.
Les pipelines, composants essentiels en DataOps
On peut parfois lire la phrase « data is the new oil ». Cette analogie est intéressante, car si les carburants fossiles ont longtemps été (et sont encore) la base de notre économie, ils n’ont aucune valeur enfouis au fond des océans ; leur valeur est à la pompe.
Il en va de même pour les données : il faut les acheminer à l’utilisateur final pour qu’elles puissent être utiles. Sans surprise donc, on retrouve le terme « pipeline » pour désigner les outils permettant d’acheminer les données de la source jusqu’à l’utilisateur.
Plus concrètement, un pipeline est la combinaison de 3 éléments :
- un point d’entrée,
- une suite d’opérations automatisées,
- une sortie où seront stockés les résultats.
Une fois défini, le pipeline peut facilement être exécuté pour appliquer les opérations définies à la source cible.
La mise en place de pipeline rend votre organisation plus efficace
En DataOps, les pipelines présentent de nombreux avantages :
- standardisation et cohérences des résultats,
- automatisation,
- fiabilité et robustesse, car les opérations réalisées sont toujours les mêmes,
- centralisation et simplification de l’accès aux données : les pipelines peuvent se connecter à une infinité de sources de données et faire converger les résultats vers un data lake unique.
Selon la même étude d’Experian, 70 % des entreprises considèrent que le manque d’accès aux données est un frein majeur pour atteindre les objectifs fixés. Il s’agit donc d’un sujet crucial pouvant vous donner un réel avantage.
L’utilisation de pipelines est aussi un défi organisationnel
On aborde souvent la mise en place de pipelines sous l’angle technique, car c’est avant tout une technologie.
Cependant, il faut définir des bonnes pratiques et des process adaptés à l’échelle de l’entreprise pour rendre possible une bonne utilisation des pipelines. Il faut également que les utilisateurs s’adaptent à cette nouveauté et apprennent à s’en servir. Il est donc nécessaire d’investir autant en conduite de changement qu’en data.
Quelles fonctionnalités attendre d’un outil adapté à la création de pipelines de données ?
Il existe de nombreux outils permettant de créer et de gérer des pipelines de données. C’est notamment le cas de Saagie, mais aussi d’Airflow, parmi les options open-source.
Parmi les fonctionnalités dont vous aurez besoin, on trouve notamment :
- l’intégration de sources de données : assurez-vous de choisir un outil qui est adapté aux technologies de stockage que vous souhaitez utiliser ;
- la création de pipelines à proprement parler : le choix entre deux outils se fera notamment sur la complexité de vos pipelines – s’agit-il de pipelines simples (linéaires), ou bien avez-vous besoin de mettre en place des embranchements, des boucles, des conditions… ;
- la possibilité de déclencher les pipelines au bon moment, par exemple, via des appels externes, lors d’événements particuliers sur vos sources de données ou bien à intervalles réguliers ;
- la surveillance et suivi de chaque opération : l’un des inconvénients de l’automatisation est que vous n’observez pas en direct les opérations se réaliser, il est donc essentiel de mettre en place une stratégie de monitoring et de logging ;
- l’orchestration de pipelines : la possibilité de gérer facilement de nombreux pipelines, de les activer ou désactiver, de les combiner entre eux…
Voici les fonctionnalités de base essentielles. Chaque outil proposera ensuite des options supplémentaires (par exemple, la gestion d’utilisateurs et d’autorisations) qui pourraient vous être utiles en fonction de vos objectifs.
Pour conclure, les pipelines sont essentiels pour automatiser et donc permettre aux équipes data de se concentrer sur les étapes suivantes du projet plutôt que sur la maintenance du travail réalisé jusqu’à présent. Cependant, ne vous précipitez pas, en particulier en début de projet, au risque de passer plus de temps à mettre à jour vos pipelines plutôt qu’à les utiliser.