Les chiffres parlent d’eux-mêmes : selon une étude de Forrester Consulting, plus de 60% des projets de transformation numérique des entreprises échouent. La notion de risque est inhérente aux projets data. Pour réduire ce risque, optez pour une approche orientée production. Pour cela, retenez un seul mot : le DataOps. Les défis sont multiples (le POC, le “shadow IT…), mais il y a surtout un mur très compliqué à sauter : celui de l’industrialisation. Car si l’étape de la mise en place ou du démarrage d’un projet data peut s’avérer complexe, celle de la mise en production l’est bien plus encore.
Les principaux freins à la mise en production de projets data
Les freins technologiques
Lorsqu’un projet échoue, l’une des causes principales est d’ordre technique. Parfois, les Data Scientists utilisent un framework ne permettant pas d’introduire le code et/ou ne permettant pas d’intégrer les résultats directement dans le système de production. Pour exemple, un travail développé avec des frameworks comme PyTorch ou Keras nécessite un ajustement avant intégration à Apache Spark ML. L’objectif ici est de réduire autant que possible le décalage entre l’environnement de développement et celui de production.
Les freins humains
Contrairement aux « machines », les humains ne sont pas toujours « stables ». Manque d’implication, manque de compétences, mauvaises applications des méthodes prédéfinies ou encore difficulté à faire face au changement, sont quelques unes des raisons pouvant interférer dans la réussite d’un projet data.
De plus, là où les machines doivent être minutieusement paramétrées pour interagir avec d’autres machines, la communication entre les hommes est tout aussi essentielle… mais bien plus compliquée.
Séparer l’équipe de Data Scientists de l’équipe de production pourrait – pour exemple – avoir un impact négatif en ce qui concerne la communication inter-équipes. Du fait de réductions budgétaires, de nombreuses entreprises préfèrent délocaliser leurs équipes au risque de « casser » la synergie du groupe.
Le DataOps pour construire un projet orienté production
Le DevOps est une véritable révolution dans le milieu du développement software. En se focalisant sur l’efficacité des livrables ainsi que sur les cycles de test et de développement, le DevOps a amélioré la qualité, la stabilité et la vitesse du développement des applications.
le concept de DataOps suit la même logique que celui des pratiques DevOps, mais adapté à la data et s’appliquant tout au long des étapes du cycle de la donnée.
Avec une approche DataOps, tous les acteurs du Data Lab peuvent :
- accéder sans problèmes aux données
- les exploiter aisément
- en tirer des conclusions et les partager facilement
- les transformer rapidement en valeur
Le DataOps se focalise donc sur le développement des données, au lieu de l’application elle-même. D’un point de vue technique, on passe peu à peu d’un modèle CRISP, développé par IBM pour implémenter des projets Data Mining, à un modèle DataOps. La méthodologie du DataOps est en lien avec une organisation du Data Lab particulière ; le DataOps réunit en effet plusieurs profils ou équipes : développement, opérations, sécurité & gouvernance, Data Scientists, Data Engineers…
L’approche DataOps s’applique à toute la “chaîne data”, depuis la préparation des données jusqu’à la restitution des résultats en passant par le reporting, le DataOps fait le lien entre l’équipe Data et l’IT.
La plateforme DataOps Saagie
La solution Saagie permet d’appliquer le DataOps, grâce notamment à :
- la possibilité de versionner les jobs et pipelines, et de les déployer sur des environnements de production différents.
- d’opérer ces jobs ou pipelines en les orchestrant, les planifiant, en supervisant leur état, en diagnostiquant les problèmes de production (grâce à des logs détaillés de chaque job) et en contrôlant les versions des différents frameworks utilisés.
- en monitorant les différents travaux du Data Lab (technologies utilisées, type de traitement implémenté, complexité des workflows, etc.)
- l’itération sur ces différents jobs ou pipelines, en déployant des nouvelles versions ou en faisant des rollbacks si besoin, et ce de manière complètement transparente.
Vous avez êtes enfin décidé à industrialiser votre solution data ? Pour que l’intégration de votre projet en production soit un succès, rappelez-vous de bien suivre les étapes suivants :
- Choix du bon framework : élément essentiel pour pouvoir faire une transition vers la production. Il faut homogénéiser ces outils au sein des équipes liées au projet.
- Bonne maîtrise de la gestion des données pour tous les membres du Data Lab : qualité et intégrité des données, monitoring, disponibilité, extraction et traitement.
- Mise en place d’une bonne stratégie de développement, avec des cycles de livraison et de test. Autrement dit, adopter une stratégie DataOps.
- Portabilité et flexibilité des développements : anticiper les migrations de plateforme, contrôler et suivre les versions, mesurer la capacité d’accéder et traiter les données tout au long du développement et des modifications de la solution.