Le DataOps, contraction des mots « data » et « opérations », est une méthodologie consistant en une gestion collaborative des données. Il est axé sur l’amélioration de la communication entre les équipes, l’intégration et l’automatisation des flux de données entre les métiers de données et les consommateurs de données.
1. Le DataOps est avant tout une méthode et des processus
Le DataOps s’appuie sur la méthode Agile et met ainsi en avant une démarche itérative plutôt qu’une approche par grandes phases. Le contact entre les différents intervenants d’un projet informatique est favorisé afin de réaliser plusieurs cycles courts de développement. Le DataOps réduit les délais en réalisant les fonctionnalités une par une, avec réactivité et flexibilité en cas de changement.
- le développement Agile pour une gestion plus réactive des projets informatiques,
- un processus collaboratif pour rapprocher les différents services et équipes,
- le contrôle statistique des processus afin d’avoir une meilleure cohérence et plus de conformité dans les données collectées.
La réussite d’un projet data passe par une attention forte portée sur le processus et l’organisation plus que sur la performance et la complexité.
A. L’organisation en DataOps
a. Les étapes des projets DataOps
Le DataOps est avant tout une méthodologie avec des processus pour mener à bien des projets data et augmenter leur réussite et leur productivité. Pour cela, le projet est découpé en 3 étapes : « bac à sable », pilote et production.
Une première priorité énoncée par le DataOps est la nécessité d’avoir plusieurs étapes dans le cycle de vie d’un projet data. Le « bac à sable » concerne l’exploration des données et l’expérimentation, pour pouvoir dégager des pistes pertinentes. L’analyse des données est par définition très exploratoire, cette étape est donc essentielle pour savoir si le projet est pertinent et viable.
La phase pilote, ou POC, permet de confronter l’idée retenue au monde réel et voir si la pratique est conforme avec ce à quoi on s’attendait.
Enfin, la mise en production permet l’adoption du projet à l’échelle de toute l’organisation et ainsi en faire profiter le maximum de personnes. Sa réalisation marque la fin de projet et l’utilisation des bénéfices de celui-ci.
On a également ces trois phases pour déployer un modèle de machine learning.
b. Comment se déroule un POC (Proof of Concept)
Un POC est l’occasion de faire des tests pour voir si le concept peut être développé. Il se déroule en deux étapes principales : la préparation de la donnée et l’algorithmie.
La préparation de la donnée est l’étape la plus longue. Il convient de comprendre les données et d’analyser celles qui ont de la valeur, puis de réaliser l’exploration pour chercher les données intéressantes et déterminer leur fiabilité. Ensuite, on prépare la data en supprimant les données qui ne sont pas pertinentes, et toutes les données sont ensuite mises sous un format commun.
La deuxième étape, nommée l’algorithmie, permet la valorisation des données avec des algorithmes de machine learning supervisés ou non supervisés, par exemple.
À la fin du POC, il sera déterminé conjointement entre les équipes si les tests sont concluants ou non.
c. Le pilote est essentiel en DataOps
Après avoir validé un POC, quelle est l’utilité d’un pilote ? Le pilote sert, d’une part, à confronter votre projet à des conditions réelles (et non pas des données qui peuvent être biaisées involontairement en POC), et d’autre part, à valider son utilité d’un point de vue business.
Le pilote est l’étape essentielle d’un projet DataOps, car sa validation permet de débuter la mise en production de celui-ci.
d. Les principaux freins aux projets DataOps
Les principaux freins à la mise en place de projets data sont d’ordre technologique et humain. Le choix des frameworks et de l’infrastructure est très important et doit être réalisé dès le début du projet. Il faut également s’assurer que ces décisions prises seront utilisables dans l’environnement de production. Pour cela, il est possible de se faire accompagner en choisissant des plateformes de DataOps, par exemple.
Il faut veiller par ailleurs aux ressources humaines qui travaillent sur le projet data, qui nécessite des personnes formées et qualifiées en Data Science, une bonne communication entre les différentes équipes data, IT et métiers notamment. Pour des raisons budgétaires, beaucoup d’entreprises choisissent de délocaliser leur équipe, mais une attention toute particulière doit dans ce cas-là être portée sur la synergie entre les équipes qui auront donc des cultures différentes et qui n’auront que très peu l’occasion de se rencontrer.
Tous ces points sont essentiels pour amener un projet data en production et les traiter au plus tôt durant le projet permet de réduire le risque de déconvenues.
e. La mise en place d’un pipeline en DataOps
Un pipeline est la combinaison de 3 éléments, à savoir, un point d’entrée, une suite d’opérations automatisées et une sortie où seront stockés les résultats.
DataOps rime avec pipelines. On distingue deux pipelines : le pipeline CI/CD qui s’occupe de l’automatisation du déploiement d’applications à partir de code source du fait de la multiplicité des environnements, et le pipeline de données qui fait la collecte, la transformation et le déplacement des données.
L’implémentation d’un pipeline comporte de nombreux avantages :
- la standardisation et la cohérence des résultats,
- l’automatisation,
- la fiabilité et la robustesse, car les opérations réalisées sont toujours les mêmes,
- la centralisation et la 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.
B. Les critères d’un projet de qualité en DataOps
Le DataOps est une méthodologie qui dans ses processus prend en compte dès le début l’intérêt du projet d’un point de vue business. L’application concrète et le retour sur investissement (ROI) sont contrôlés tout au long du processus.
a. Les cas d’usage pertinents en DataOps
Pour avoir une application concrète pour l’entreprise ou ses clients, il est important de définir des cas d’usage pertinents. Les enjeux dans le domaine de l’assurance et de la banque, par exemple, sont de minimiser les risques financiers et de faire des offres hyper-personnalisées aux clients. Il faut également mesurer le nombre de clients qui arrêtent d’utiliser les services de l’entreprise grâce au taux d’attrition, possibilité offerte par le DataOps.
La Data Analytics est quant à elle utilisée pour faire de la maintenance prédictive. La maintenance prédictive consiste à prédire les pannes avant même qu’elles n’arrivent en analysant un historique de données annonciatrices de dysfonctionnement. Cela sert à accroître la durée de vie de ses équipements, à limiter tout risque de panne grave, à éviter l’arrêt de production non planifié, à supprimer les actes coûteux de réparation de pannes graves et à planifier les actes de maintenance préventive.
L’analyse de données est également fondamentale pour une Smart City concernant la gestion des transports et la maîtrise de l’énergie. Tous ces exemples sont des cas d’usage pertinents de transformation rendus possibles grâce au DataOps.
b. Mesurer l’impact d’un projet DataOps
Le bénéfice pour les utilisateurs finaux est une priorité dans un projet DataOps. Pour cela, le calcul du retour sur investissement (ROI) est important pour estimer l’impact du projet au sein de l’entreprise.
Les projets DataOps mettent en place des indicateurs de performance pour mesurer la gestion et l’implémentation de ceux-ci en amont du projet. Les bons indicateurs peuvent être métiers, techniques ou permettre le monitoring, et doivent s’adapter aux différents interlocuteurs. Ils sont compréhensibles, explicables, et donc facilement exploitables.
Après l’intégration de bons indicateurs dans le projet, leur communication est essentielle. D’une part, ils sont un levier pour aider les managers de l’entreprise à prendre des décisions éclairées et ainsi avoir un avantage concurrentiel. D’autre part, communiquer sur l’application d’un des projets DataOps créera un cercle vertueux de développement de projets data au sein de l’entreprise et de bénéfices de leur implémentation.
2. Le DataOps, ou la recherche d’une approche idéale pour mener à bien un projet data
A. La Data Science : un fondement du DataOps
Ces dernières années ont vu naître l’émergence et l’essor du Big Data et du Data Mining, qui consiste en l’extraction et l’analyse de données afin de les transformer en informations utiles. La science qui accompagne ce changement est la Data Science. Cette émergence de données a été favorisée par l’Open Data.
L’Open Data désigne une pratique de mise à disposition publique de données numériques qui peuvent être consultées, partagées et réutilisées. L’Open Source quant à lui a permis de diffuser les outils d’analyse de ces données et s’applique aux logiciels dont la licence respecte des critères de libre redistribution, d’accès au code source et de création de travaux dérivés.
Pour analyser ce grand nombre de données, des outils ont été mis en place.
L’intelligence artificielle peut se définir comme un ensemble de sciences et techniques visant à concevoir des machines autonomes dotées de capacités d’apprentissage et de raisonnement analogues à celles des humains. Le machine learning a pour objectif d’inculquer à une machine la capacité d’apprendre à résoudre un problème sans devoir programmer explicitement chaque règle. Le deep learning, dont l’histoire remonte au milieu des années 40, est un algorithme avec un réseau de neurones artificiel pour permettre un apprentissage automatique structuré ou hiérarchisé.
Il est ensuite possible d’utiliser ces outils pour du Natural Language Processing, c’est-à-dire faire « parler » des machines comme des humains.
B. Comment réussir vos projets data ?
Les principales clés pour mener un projet data de bout en bout jusqu’à sa livraison en production sont : mettre le métier au cœur du projet afin d’avoir des résultats de qualité qui satisferont leur besoin, et choisir une infrastructure informatique qui soit en phase avec le besoin. Il faut également utiliser les bonnes pratiques, comme appliquer le DevOps aux projets Big data, capitaliser sur son code, faire un développement logiciel de qualité, développer des modèles de machine learning et utiliser l’Open Source.
Il y a également des erreurs courantes à éviter, comme le fait de vouloir tout faire soi-même (cela donne souvent des solutions de Shadow IT ou artisanes), manquer de collaboration, ou trop fermer son Data Lake.
3. DataOps : le DevOps appliqué aux projets data ?
Le DevOps est une méthodologie qui permet la collaboration entre les équipes de développement et d’exploitation et l’automatisation de chacune des étapes de la création d’un logiciel, de son développement jusqu’à son administration en passant par son déploiement.
Il existe de nombreux termes : DevOps, DataOps, MLOps… Ils s’inspirent tous du DevOps historique avec lequel il ne faut pas les confondre, mais le DataOps s’applique aux projets data science, par exemple. Les principes communs sont l’agilité, la collaboration entre les équipes, et des outils de développement et livraison continus notamment grâce à la conteneurisation.
Cependant, le DataOps s’intéresse aussi à :
- la gestion des données dont les caractéristiques peuvent changer dans le temps ;
- la comparaison des modèles mathématiques complexes et le suivi de leur évolution dans le temps ;
- les indicateurs à mettre en place pour contrôler un algorithme actuellement en production.
Le MLOps quant à lui se veut être une adaptation du DevOps aux problématiques spécifiques du Machine Learning.
4. Les technologies et la data, un écosystème dense
A. Les technologies pour analyser les données
Il est important de bien choisir sa technologie pour analyser les données et cela n’est pas chose facile au vu de la diversité des outils disponibles.
Concernant le langage de programmation, R et Python sont les plus utilisés. R est utilisé dans le domaine de la recherche et Python et ses librairies sont principalement utilisés pour des applications informatiques comme des web App avec Dash, du machine learning et de la préparation de données. Java est également un bon choix de langage de programmation, notamment avec les nouveautés de Java 14.
Le notebook Jupyter est un outil de travail devenu très populaire dans les milieux académique et scientifique pour pouvoir facilement travailler sur du code encore au stade de prototype. Il existe également Zeppelin comme outil similaire.
Apache NiFi est une plateforme de logistique de données intégrées en temps réel capable de traiter et d’automatiser les mouvements entre données de différentes sources et systèmes. Des outils comme Talend garantissent l’intégration, le mapping et la transformation des données, ainsi que l’automatisation des contrôles qualité.
Pour vous aider, vous pouvez également choisir une plateforme Data Science qui est une solution logicielle destinée aux traitements analytiques des données.
B. L’infrastructure et l’architecture en DataOps
La quantité de data prend une place de plus en plus importante dans les entreprises. Une des grandes problématiques de la data à venir est l’architecture du DataOps dans le cloud pour stocker ce nombre croissant de données collectées. Il faut donc définir quel type de cloud choisir : public, privé ou hybride, avec des solutions comme Microsoft Azure.
Le choix du service est également important :
- IaaS (Infrastructure as a Service) : vous louez directement une infrastructure, mais vous êtes chargé de l’ensemble de la partie logiciel (OS, configuration, application, surveillance…) ;
- PaaS (Platform as a Service) : vous recevez une infrastructure ainsi que toutes les couches logicielles nécessaires à vos besoins et vous êtes uniquement responsable du code de vos applications et de la gestion de vos données ;
- SaaS (Software as a Service) : vous souscrivez à un service clé en main pour utiliser une application déjà existante.
La question de la gestion des données et des risques en matière de cybersécurité se pose d’autant plus avec l’usage du cloud.
C. Le stockage des données
Après avoir choisi l’infrastructure, en DataOps, du fait du volume et de la diversité des données, la décision sur le stockage des données est importante.
Les données peuvent être stockées de manière structurée grâce au SQL ou non structurée en NoSQL. Le SQL, qui signifie Structured Query Language, est un langage informatique normalisé permettant de communiquer avec une base de données. Parmi les technologies de stockage SQL, on retrouve Oracle, MySQL, Microsoft SQL Server et Postgre SQL. NoSQL signifie à la fois « Not only SQL », car certains langages NoSQL comprennent le langage SQL en plus de leur propre capacité, et « Non-relationnel » parce qu’il ne peut pas stocker facilement des données relationnelles.
Les entreprises ont des besoins en Big Data, mais SQL reste la technologie la plus utilisée pour stocker des données. Il paraît donc peu probable que les entreprises soient prêtes à migrer durablement tout leur système vers Hadoop. Sqoop permet de relier un cluster Hadoop à une ou plusieurs base(s) de données SQL en vue de transférer des données de l’un à l’autre, dans les deux sens.
La technologie « object storage » est une technologie de stockage de données non structurées très répandue, en particulier dans le monde de l’analyse de données. Par conséquent, beaucoup d’entreprises cloud proposent leurs solutions d’objects storage comme AWS et Microsoft Azure.
D. L’automatisation en DataOps pour gagner en efficacité
L’automatisation est un pilier clé du DataOps. En effet, lors des projets data, les équipes sont amenées à gérer différents environnements et donc à développer du code, à déployer des algorithmes de machine learning, à livrer en production et à tester sur chacun d’eux.
Pour aider, la conteneurisation avec Docker est une solution pratique. Docker est une plateforme permettant de développer, de déployer et d’exécuter des applications à l’intérieur de conteneurs. Une application est donc emballée avec toutes ses dépendances dans des unités standardisées appelées conteneurs. Kubernetes va ensuite servir pour la gestion et l’orchestration de containers Docker. Vous pouvez également développer une API pour votre projet data et conteneuriser votre API.
Le CI/CD (pipeline d’intégration continue et de déploiement continu) est nécessaire en DataOps comme il l’est en DevOps. Cela commence par la mise en place d’une politique de CI/CD qui définit les bonnes pratiques et les outils d’intégration et de déploiement à utiliser. Il est possible d’utiliser le CI/CD GitHub comme support pour son pipeline.
L’utilisation de Bash dans vos projets pour le développement de scripts peut s’avérer pratique. Bash permet de facilement créer, modifier et supprimer des fichiers ou des dossiers.
Concernant les pipelines de données, une étude sera faite pour déterminer le choix entre ETL et ELT.
Dans un démarrage itératif en cycle court comme le DataOps, les tests et le monitoring sont très importants. Le monitoring est un outil pour superviser les projets en contrôlant par exemple la consommation CPU/mémoire/réseau, la performance des traitements, la qualité et l’intégrité sur la data et les logs d’accès. Des tests unitaires, des tests d’intégrations et des tests d’interface doivent être faits à chaque étape du projet. En fonction du projet, notamment en machine learning, des tests A/B peuvent également être réalisés.
Le DataOps s’adapte aux spécificités du code en machine learning comme sa difficulté à être testé, débuggé et maintenu.
E. La gouvernance des données
La gouvernance des données est un système qui permet de gérer et d’organiser ses données dans le but d’en tirer profit. Le but de la gouvernance des données est, à terme, de pouvoir identifier et contrôler les données de l’entreprise, de leur qualité à leur niveau de confiance. Elle définit le choix entre centralisation et initiatives pour la gestion des données de l’entreprise.
La gouvernance des données permet de gérer les accès à la donnée et ainsi d’assurer une protection de cette dernière, garantissant sa sécurité et le respect des réglementations. Par exemple, le Règlement général de protection des données (RGPD) est une réglementation européenne qui encadre le traitement des données personnelles sur tout le territoire de l’Union européenne depuis le 25 mai 2018.
Nous verrons aussi émerger de nouvelles réglementations relatives à l’éthique, la transparence, la traçabilité, la gestion et la protection des données issues du Big Data.
Data Protection Officer, nouveau profil apparu avec la montée de la data, est le garant de la protection des données organisationnelles et de la supervision de la mise en conformité du Règlement général sur la protection des données (RGPD).
5. Le DataOps fournit un cadre pour la collaboration et le rôle de chacun au sein d’un projet data
A. La culture data au sein de l’entreprise
La culture d’entreprise définit l’identité de cette dernière à travers ses valeurs, son fonctionnement, sa vision, la rendant ainsi unique, avec un caractère propre.
Promouvoir la data dans la culture d’entreprise permet d’inscrire dans la durée l’analyse des données et leur bénéfice pour l’entreprise. Il y a en effet de quoi convaincre une hiérarchie même sceptique. Le DataOps aide à réduire la complexité des organisations et entreprises en favorisant la communication, les processus et les initiatives autour de la data. Il réduit aussi la durée de développement, améliore les opérations et l’expérience client. Globalement, le DataOps permet de devenir plus compétitif vis-à-vis de la concurrence grâce à des choix stratégiques éclairés. Ces arguments devraient aider au recrutement de chef de projet data au sein de l’entreprise.
Une fois les résultats des projets obtenus, il est important de communiquer ses résultats pour créer un cercle vertueux des projets data et l’inscrire fortement dans la culture d’entreprise.
B. Les métiers de la data
Les ressources humaines sont fondamentales en DataOps. Les profils choisis sont divers en fonction des besoins. Il existe maintenant plein de formations et de nouveaux métiers de la data.
Il y a les métiers relatifs à la sécurité et à la gestion des données :
- le data architect, en charge de la conception de l’infrastructure,
- le Data Protection Officer, ou Chief Data Officer, qui assure la sécurité de l’infrastructure et des données,
- le database administrator, pour les accès aux bases de données,
- le data steward, administrateur du lac de données.
Il y a les métiers relatifs à l’extraction de données :
- le data miner, pour exploiter les sources de données,
- le data engineer, avec une formation d’ingénieur, est généralement impliqué dans la mise en place et la gestion des pipelines de données.
Il y a également les métiers liés à l’analyse et à l’exploitation des données :
- le data scientist, de formation généraliste, maîtrise une bonne partie des techniques nécessaires pour l’analyse ainsi que la conception d’algorithmes,
- le data analyst a un rôle relativement proche du data scientist, cependant, on le retrouve plutôt dans les tâches exploratoires et descriptives,
le machine learning engineer est un profil d’ingénieur data science plus spécialisé dans les techniques de machine learning.
C. L’intégration de l’équipe data au sein de l’entreprise
L’intégration de l’équipe data dans l’entreprise est un point clé pour tirer au mieux les bénéfices de l’analyse des données. Avec une méthodologie DataOps, les équipes IT et data doivent avoir une bonne collaboration pour la réussite des initiatives data.
Le DataOps fournit un cadre où chacun a un rôle, peu importe l’équipe à laquelle il appartient : data, IT, marketing… Avoir des profils en T au sein de l’équipe data s’avère souhaitable, car les tâches stratégiques peuvent être assignées en priorité aux profils dont la verticale d’expertise correspond le mieux, tandis que les tâches courantes peuvent être facilement réparties parmi les profils restants, dont la verticale d’expertise n’est pas utile pour le moment.
En conclusion, le DataOps est une approche complète qui permet aux entreprises de gérer efficacement leurs projets data. En combinant des méthodes et des processus solides avec des technologies avancées, le DataOps fournit un cadre de collaboration pour chaque membre d’une équipe de projet. Grâce à cette approche, les entreprises peuvent améliorer leur agilité, leur qualité de données et leur productivité, tout en réduisant les coûts. Les entreprises qui adoptent le DataOps seront mieux préparées pour relever les défis liés à la gestion de grandes quantités de données dans un environnement en constante évolution. En suivant ce guide ultime, vous pouvez vous assurer que votre entreprise est sur la voie du succès dans le domaine de la gestion des données.
Saagie, éditeur d’une plateforme DataOps, propose une solution complète pour la gestion des projets data à partir d’une interface unique grâce à l’orchestration. Avec ses technologies prêtes à l’emploi et ses pipelines avancés, Saagie permet aux organisations de rationaliser leurs opérations data et de créer de la valeur métier. L’un des atouts majeurs de Saagie est son module complémentaire, Data Apps Manager, qui permet l’intégration et le déploiement fluides d’applications Docker au sein des projets, offrant une gestion complète du cycle de vie des données, de l’extraction à la visualisation, en passant par le développement et le déploiement.