Pourquoi est-il difficile d'industrialiser des projets Big Data ?

Industrialiser, déployer, mettre en production … ces termes sont bien connus des équipes IT lorsqu’il s’agit d’applications ou de logiciels. Mais les entreprises font souvent face à un frein dès lors que le projet à industrialiser fait intervenir des données et des algorithmes.

 

Pour Forrester, 60% des projets numériques sont voués à l’échec. Selon Gartner, ce sont 85% des projets Data qui ne connaitront pas l’étape d’industrialisation. Maxime Jumelle, Directeur de programme de la formation Big Data à l’ESLSCA Business School nous explique les raisons de ces difficultés.

 

Qu’est-ce que l’industrialisation de projets IT ?

Industrialiser, c’est mettre en place, optimiser et superviser l’intégration d’une application ou d’un logiciel dans une infrastructure. Aujourd’hui, lorsqu’une application est déployée dans un Cloud, elle interagit avec beaucoup de services : des modules d’authentification, de surveillance d’activité ou encore d'API fonctionnelles. Une industrialisation réussie permet donc d’assurer un service rendu d’une qualité optimale et en parfaite adéquation avec toutes les règles de sécurité établies en interne.

 

Projet IT et projet Data : quelles différences ?

Un projet Data fait intervenir deux composantes : des codes sources, qui contiennent l’ensemble des codes informatiques au projet ainsi que l’algorithme, et les données, qui permettent, non seulement de calibrer l’algorithme, mais qui renferment également les paramètres propres au projet. Or, ces deux composantes sont indissociables, et industrialiser un projet Data nécessite d’industrialiser ces deux composantes.

 

Dans les projets IT, plusieurs problèmes surviennent au niveau de la gestion des versions logicielles. De plus, plusieurs tests d’intégrations doivent être effectués en amont du déploiement pour s’assurer du bon fonctionnement du projet une fois déployé. Un projet Data dispose des mêmes contraintes (gestion des versions logicielles et intégration), mais voit également de nouveaux obstacles apparaître.

 

L’algorithme est calibré sur les données au moment de sa création. Néanmoins, il est nécessaire de le “mettre à jour” avec de nouvelles données afin qu’il puisse fournir les résultats les plus pertinents. Cette temporalité de la donnée est un vrai sujet et doit être pensé bien avant la phase de déploiement, permettant, à la fois, un gain de temps mais aussi une construction de l’architecture plus propre et plus facilement maintenable.

 

Quelles sont les solutions ?

Heureusement, la communauté Data a pris le problème très au sérieux, et a proposé des solutions tout en s’appuyant sur des concepts existants emprunté aux DevOps des équipes IT. C’est alors qu’interviennent les pipelines de données, qui assurent un transit perpétuel et efficace des données entre les services, et la gestion des versions n’est plus qu’un lointain souvenir avec le management des versions grâce à MLflow. Enfin, des pipelines d’automatisation tels que Kubeflow permettent de combiner à la fois les phases de tests mais également de déploiement sur serveur (type Kubernetes) sans intervention humaine.

 

Toutes ces solutions, majoritairement libres d’accès et gratuites, offrent de nouvelles possibilités pour industrialiser dans les entreprises de toutes tailles, permettant dans un avenir proche de faire grandement avancer la recherche industrielle.

 

Maxime Jumelle – Directeur de Programme du Master Business Administration (MBA) Big Data Management et Processus Décisionnel de l’Eslsca Business School Paris