Inspired - livre), un bon produit doit:
apporter de la valeur - les clients choisissent le produit pour la valeur qu’il apporte ;
être utilisable - son utilisation doit être évidente ;
être réalisable - en utilisant les compétences et la technologie à disposition.
Ceci amène les caractéristiques techniques auxquelles devront répondre nos data-products:
être partagés et découvrables ;
être auto-suffisants (le produit peut être utilisé seul, sans avoir besoin d’autres données pour le comprendre et l’exploiter) ;
être utilisables ;
être inter-opérables (gouvernés par des standards d’échange) ;
exposer leur contrat de service et de qualité pour amener la confiance ;
être sécurisés (gouvernés et contrôlés par une instance vérifiable et globale).
Trust: a confident relationship to the unknown
Rachel Botsman
Afin de permettre la mise en place de ces différents data-products, il est donc important de disposer:
d’outils qui permettent de valider la qualité des données ;
de standards d'échanges inter-domaines ;
Ceci doit permettre aux data-products d'être autoportants (nous aborderons ce point par la suite dans la partie maillage et gouvernance).
Ainsi, dans un domaine de données, nous saurons qu'un data-product fournit des données portant une information précise. Corollairement, dans l'écosystème global, nous saurons que si nous avons besoin d'une certaine information, nous la trouverons gérée par un data-product spécifique.
Le but est de rentrer dans un cycle d’intelligence continue telle que décrite sur le site de Thoughworks par Ken Collier, Mark Brand et Pramod N
Comme dans toute architecture distribuée, un élément clé de réussite est d’assurer l’autonomie des nœuds et de maîtriser le couplage entre les éléments. Par conséquent, il est souhaitable de disposer d’informations autosuffisantes au sein d’un domaine. Ceci peut passer par une duplication ou une dénormalisation des informations entre les nœuds. Par exemple, si deux informations de deux domaines différents utilisent une même donnée, il est préférable de copier l'information d'un nœud vers l'autre plutôt que de travailler par référence.
Le maillage
Nous avons décrit comment repenser la gestion de l'ensemble des données d'une entreprise en la découpant et la regroupant dans des domaines de données.
Afin d'exploiter au mieux la connaissance d'un point de vue métier, et de transformer cet ensemble d'unités en un tout, il est nécessaire de donner de la cohérence à l'ensemble.
Le maillage est régi par un ensemble de règles communes issues d'un système de gouvernance fédéré, ainsi que par des standards technologiques communs.
Pour faire partie d'un mesh, les domaines de données doivent exposer la sémantique et la syntaxe des informations qu'elles gèrent dans un vocabulaire commun à l'ensemble du réseau.
Un système à base d'ontologie est un exemple de règles qui vont permettre aux personnes qui vont consommer les informations métier (telles que des knowledge-scientists par exemple) de comprendre la valeur de la connaissance contenue dans le réseau et d'en exploiter la valeur.
Chaque domaine de données agit comme une entité autonome au sein d’un tout qu’est le système data mesh. Afin de garantir cette autonomie, les règles qui s’appliquent aux différents data-products sont régies par les principes internes du domaine de données.
La gouvernance des données permet de définir, entre autres, les droits et devoirs concernant la mise à disposition des différentes informations au sein du SI. Elle est également responsable de la mise en place de métriques sur la qualité globale.
Le résultat des actions de la gouvernance fédérées sont un ensemble de règles qui définissent les standards d'accessibilité, de qualité et de sécurité de la donnée. La gouvernance pose un cadre de travail qui définit les principes constitutionnels du data mesh, tout en laissant la responsabilité aux domaines de données de définir et faire respecter leur règles dans le data mesh.
Par exemple, dans le cas des données à caractère personnel, la gouvernance imposera que l'ensemble des data products gérées dans le data mesh soient compatibles avec la réglementation en vigueur (telle que la RGPD par exemple). Chaque domaine appliquera ensuite sa propre politique d'accès en fonction de la nature des données qu'elle gère (données à caractère personnelle directe ou données pseudonymes par exemple).
Les principes du data mesh ne posent que les principes de gouvernance, sans, à l’heure de l’écriture de cet article, donner de recette de mise en place. Cependant, de nombreuses études se basant tantôt sur les principes érigés par le livre “team topologies” de Matthew Skelton et Manuel Pais, ou encore sur la sociocratie sont à l’étude. Elles feront l’objet d’un prochain article.
Donner de l'autonomie aux équipes qui gèrent les domaines de données ne signifie pas qu'il faut les laisser réinventer la roue sans capitaliser sur les outils et expériences.
Un des piliers du data mesh passe par la mise en place d'une plateforme self-service qui regroupe l'ensemble des éléments technologique atomiques.
Ces éléments technologiques, considérés comme des commodités eu égard aux domaines métier, doivent être agnostiques des domaines de données .
Le rôle de la plateforme de données est de fournir un catalogue de services utilisables par les développeurs des data-products afin d’accélérer le développement et le time to market.
Le succès d'une bonne data plateforme en support du data mesh se mesure, par exemple, grâce au niveau de satisfaction des équipes qui construisent les data products ou encore du temps entre lequel un data product est conçu et le moment où il devient utilisable.
la plateforme n'est pas un ensemble de pipelines de données
Le data mesh n’est pas seulement une façon de modéliser et gérer les plateformes de données. C’est avant tout une façon de penser la donnée en tant que produit. Le produit n’est plus ce micro-service qui sert les opérations courantes du métier et qui en conséquence accumule de la donnée. La donnée est le produit. Les services ne sont qu'un moyen de récupérer cette dernière.
Ainsi les indicateurs de niveau de services (SLI/SLO) devront être adaptés pour refléter les exigences de qualité de données (par exemple, les indicateurs d'exactitude deviendront prépondérants, là où les indicateurs de disponibilité sont aujourd’hui les plus travaillés).
En conclusion, le data mesh n’est pas une version 2.0 du datalake. C’est un réel changement de paradigme qui doit être une conséquence de la politique d’exploitation de la donnée portée par une organisation. En effet, ce changement a un impact fort sur la conception de produit ainsi que sur l’organisation.
Néanmoins, il ne faut pas pour autant jeter toutes les pratiques technologiques existantes autour des datalakes. En effet, si votre système d’échange repose sur les piliers “Store/Share/Play” (avec des systèmes tels que AWS S3, Glue, Athena et cloudformation par exemple), la transition vers une organisation data mesh sera d’autant plus simple car votre lake propose déjà un cloisonnement logique des données ainsi qu’une gestion des habilitations.
Pour résumer: le cercle vertueux du data mesh consiste en plusieurs étapes:
délimiter un domaine de données ayant pour but de récupérer de la donnée et en extraire de l'information.
ce domaine de données devient un nœud du maillage de données grâce aux principes directeurs d'échange, d'interopérabilité et de l'ontologie…
tout ceci dans le but de produire des produits logiciels à forte valeur ajoutée pour le métier.