data mesh architecture distribuée

Data Mesh, une révolution en ingénierie des données … par la décentralisation.



En ingénierie data, c’est en effet en train de devenir la pierre angulaire des nouvelles pratiques. Au-delà de changer l’approche même de la data, il permet de remettre à plat la stratégie pour traiter et exploiter pleinement leur potentiel. Au cœur de cette « révolution », le data mesh traite les données comme un produit et prône une propriété décentralisée et distribuée des données orientée vers le domaine.

Les Data Products sont dont conçus, développés et maintenus en fonctions des besoins spécifiques de leur domaine, conformément aux principes fondamentaux de l’approche Data Mesh.

Les principes fondamentaux de cette architecture data, de sa conception à son exécution.

  • Les données sont l’actif principal : Toute décision concernant la conception et l’architecture doit être prise en fonction des données qui sont traitées comme des produits. Elles ne sont plus une ressource cachée, mais un produit concret avec une propriété claire et des règles d’accessibilité précises.
  • La gouvernance des donnée est décentralisée : Les propriétés et le contrôle des données sont distribués parmi différents domaines et les équipes en charge de ces domaines. Les équipes de domaine sont responsables de la qualité, de l’accessibilité et de la compréhension des données, garantissant ainsi que les données sont entre les mains de ceux qui les connaissent le mieux !
  • La conception pilotée par le domaine, Domain Driven Design, est par nature adaptée à ce type d’architecture. Le développement piloté par des composants autonomes et réutilisables, Component-Driven Developement, fournit la modularité nécessaire pour la mettre en oeuvre. Dans un data mesh, ces composants correspondent à des pipelines de données, des traitements ou des systèmes de delivery des données spécifiques aux domaines.
  • L’intéropérabilité des données : Un schéma de données commun favorise un échange fluide des données entre les différents systèmes.
  • Une architecture basée sur les événements : L’échange de données s’effectue en temps réel au fur et à mesure que les événements se produisent.
  • La sécurité des données : La protection des données est réalisée via grâce à des mesures telles que le contrôle des d’accès et le chiffrement.
  • La scalabilité et résilience : l’architecture est conçue nativement pour gérer de grands volumes de données et résister aux défaillances.

Les avantages d’une architecture Data Mesh

La scalabilité :

Le Data Mesh, c’est une méthode évolutive qui permet de connecter des sources de données via plusieurs plateformes et domaines. Ainsi, vous pouvez rajouter facilement de nouvelles sources au fur et à mesure que vos besoins évoluent.

La flexibilité :

Le Data Mesh est très flexible et prend en charge de multiples protocoles et formats de données et protocoles. Ainsi, vous pouvez utiliser différents systèmes et applications vous soucier d’éventuels problèmes de compatibilité entre les données.

La résilience :

Le data mesh offre une architecture robuste capable de résister aux pannes et d’assurer un échange de données en continu. Vous pouvez compter dessus même pour l’échange de données critiques sans vous préoccuper des temps d’arrêt ou des pertes de données (lors des opérations de maintenance par exemple).

La sécurité :

Le Data Mesh offre une manière sécurisée d’échanger des données à travers différents domaines et plateformes. Vos données sont donc par nature protégées contre tous accès non autorisés.

Le Data Mesh n’est pas qu’un simple buzz word mais bien un changement de paradigme en ingénierie des données qui s’appuie sur des changement majeurs : la donnée est considérée comme un produit accessible, l’infrastructure est en en libre-service, une plateforme de données as a product et une gouvernance axée sur des domaines spécifiques propriétaires.

Comment concevoir votre Data Mesh via le Domain Driven Design (DDD) et le Composant Driven Developement (CDD) ?

La première étape consiste à identifier et délimiter vos différents domaines via le domain driven design (DDD). Cela permet de se concentrer sur le périmètre précis de chaque domaine, les relations entre eux, les processus associés, etc. Dès lors, vous avez la base de vos Data Products ! Reste à cartographier votre « paysage » de données, c’est à dire comment le domaine consomme les données, comment elles circulent, qui les exploitent, à quoi elles servent et quelles sont leurs valeurs ajoutées. Une fois le paysage posé, vous devez définir clairement votre domaine et ses limites en vous concentrant sur les données spécifiques à ce domaine en particulier et les processus associés, c’est ce qui va permettre de définir les responsabilités de chacun, puis d’attribuer la propriété des data products. C’est le principe même du data-mesh, responsabiliser les équipes les plus à même de comprendre leurs données et de gérer leur domaine !

Une fois vos « produits de données » définis, le composant-driven developement vous permet de réaliser votre architecture en décomposant votre domaine en petits composants indépendants, autonomes, faciles à gérer et réutilisables. Chaque composant est associé à une tache spécifique comme l’ingestion, la transformation, le stockage ou encore la livraison des données. Ils sont développés, testés et déployés de manière indépendante.

Il ne vous reste plus qu’à assembler votre data-mesh ! Chaque composant interagit avec les autres pour former un système cohérent avec des protocoles de communication normalisés et des APIs pour garantir l’intéropérabilité entre les composants.

Je souhaite moderniser mon architecture data. Nos consultants vous accompagnent dans vos choix pour trouver la meilleure solution architecturale. Laissez-nous un message :

Pour aller plus loin :

https://medium.com/@msalinas92/understanding-datamesh-implementation-advantages-and-examples-3f8e0ad9071e