Depuis plusieurs décennies, la volonté des entreprises a été de mettre la donnée dans un entrepôt de données faisant office de source unique de vérité sur laquelle s’appuient des processus de reporting et de prédiction.
La croissance exponentielle des volumes de données collectés et la forte augmentation des besoins métier ont démontré les limites de ce système et engendré une démultiplication des entrepôts et un silotage des données. Arrivés par la suite, les data lakes avaient pour promesse de recentraliser la donnée en offrant des espaces de stockages gigantesques et peu coûteux. Cela a finalement conduit à d’autres limitations, notamment à l’inaccessibilité de la donnée par des équipes non techniques.
C’est dans ce contexte qu'apparaît le Data Mesh, une nouvelle approche décentralisée qui vise à mettre la donnée au plus près de ses consommateurs. Cette approche est alors en rupture totale avec les autres puisqu'elle ne vise plus à centraliser la donnée mais à repartir sur une approche silotée.
Qu’est-ce que le data mesh ?
Le Data Mesh est une architecture de données décentralisée construite autour de domaines d'activité (tels que le marketing, la finance et les ressources humaines).
Les données sont considérées comme un produit à part entière et chaque entité traite et gère les données à sa façon. Cette approche permet d'apporter des réponses plus précises aux besoins métiers en tirant parti d'une architecture orientée domaine où la donnée est au plus proche de ceux qui la comprennent.
Le Data Mesh permet aux producteurs de données d'être propriétaires d'un ensemble de données spécifique. Ils peuvent ainsi établir des règles sur la manière de documenter, d'assurer la qualité et de contrôler l'accès aux données dans ce domaine. Toutefois, cela ne signifie pas que les systèmes de stockage traditionnels ne sont plus utiles, ils sont simplement utilisés différemment par exemple pour stocker des données historiques ou pour servir de point central de consolidation des données.
Les piliers du Data Mesh
La propriété décentralisée
La gestion des données est découpée par domaine business. Cela permet une décentralisation et une répartition des responsabilités au plus près de la donnée.
Un domaine peut donc générer plusieurs ensembles de données qu'il maîtrise du point de vue fonctionnel, et être responsable de leur gestion afin de simplifier au maximum leur mise à jour et leur accès par les consommateurs au sein de l’entreprise.
Data-as-a-Product
Dans un contexte Data Mesh, les données sont considérées comme un produit qui possède une valeur et les Data Engineers, Data Scientists, Analytics Engineers comme des clients.
Ainsi, les données doivent suivre des règles de Product Thinking et être facilement accessibles et utilisables, fiables et standardisées selon les règles communes de l’entreprise. Les données sont finalement mises à disposition des “clients internes”, c’est-à-dire des autres équipes, via des services comme des data marketplaces ou des APIs.
Le self-service
L’approche décentralisée du Data Mesh peut engendrer des redondances dans les pipelines de données et donc impliquer des développements superflus. Pour pallier cela, cette approche propose une infrastructure data as a service. Concrètement, il s’agit d’une solution offrant des services et ressources pour aider les développeurs à implémenter des cas d’usage de manière simple et automatisée. Ces services peuvent être par exemple une data marketplace mettant à disposition de la donnée ou des outils de standardisation de données, de gestion d’accès aux ressources, de monitoring…
Ces services développés par une équipe data globale, doivent être génériques et agnostiques aux domaines métiers.
L’interopérabilité
L’interopérabilité de la donnée entre les services est primordiale. Cela rejoint le principe Data As a Product qui veut que l’accès et l’utilisation de la donnée soit simplifié au maximum pour les consommateurs.
L’interopérabilité est permise par un ensemble de règles de gouvernance partagé et appliqué par l’ensemble des équipes propriétaires d’un dataset.
Pourquoi le Data Mesh se différencie des autres architectures?
Les architectures traditionnelles fonctionnent généralement autour d’une équipe data centrale gérant l’ensemble de la data stack et d’équipes métier consommatrices de la donnée produite. Cela crée une forte dépendance à cette équipe data qui se retrouve alors vite débordée par les demandes et les besoins.
Avec ces systèmes de fonctionnement, apporter des modifications à des composants, même minimes, nécessite d'impliquer d'autres personnes et de possiblement perdre un temps précieux avant qu’un membre de l’équipe data soit disponible.
Les architectures Data Mesh, sont plus proches des architectures microservices, avec des composants qui peuvent être mis à jour indépendamment. Le data mesh défend une approche “self-service” qui rend les équipes de chaque domaine autonomes et qui allège la charge de travail des équipes data centrales. Les équipes data peuvent alors se concentrer sur le développement de services ou sur l’interopérabilité des données entre les domaines et définir des règles de gestion communes à l’ensemble de l’entreprise (métadonnées, standardisation…).
À qui s’adresse l’architecture Data Mesh ?
Le Data Mesh s’adresse principalement aux entreprises ayant un grand nombre de data consumers et d’importants volumes de données à traiter rapidement. Plus le nombre de sources de données et de data pipelines à gérer est important, plus le Data Mesh est pertinent. Cela requiert cependant que chaque équipe soit autonome et compétente dans la gestion de ses data.
Comment adopter une approche Data Mesh ?
L’approche Data Mesh ne s’implémente pas de façon brutale en rupture avec une approche traditionnelle mais est plutôt une évolution logique d’une entreprise gagnant en maturité dans le domaine de la data. Chez Modeo, lorsque nous accompagnons des entreprises dans l’adoption de cette démarche, nous nous assurons que cette maturité soit acquise dans le domaine technologique mais également dans la culture de l’entreprise et son organisation.
Pour que l’adoption soit réussie, il faut tout d’abord que les équipes métier soient sensibles à la question de la donnée, convaincues de son utilité et ouvertes à changer leur façon de travailler pour intégrer la data au cœur de leur fonctionnement. C’est une démarche de démocratisation et de sensibilisation longue, qui passe par des ateliers, des démonstrations et des Proofs of Concept.
Il faut également s’assurer que chaque équipe aura dans ses rangs les profils data (Data Engineer, Data Scientist, Data Analyst…) dont elle a besoin pour développer des cas d’usage tels que de la prédiction de ventes, de l’analyse de performance de campagnes marketing…
Une équipe data centrale doit être créée afin de fournir des solutions technologiques suffisamment robustes et scalables pour répondre à une demande croissante, de développer des services permettant aux équipes d’exploiter de la donnée pour mettre en application leurs cas d’usage et de définir puis mettre en application des règles communes de gouvernance et de gestion des données.
Si vous êtes intéressés par le Data Mesh ou souhaitez discuter de l’utilisation de la donnée au sein de votre entreprise, contactez Modeo et nous nous ferons un plaisir d'échanger avec vous !