Choisir une architecture data modulaire ?

   1. Définition et principes d’architecture

L’agilité la capacité à évoluer très rapidement – voir de « pivoter » – ne sont plus aujourd’hui l’apanage des startups. Toutes les entreprises doivent s’adapter, réagir et innover constamment pour exister sur leurs marchés. On évoque souvent la nécessite d’avoir un système d’information agile, l’architecture de données modulaire est son pendant.

Ce modèle architectural, qui s’oppose à la rigidité des systèmes monolithiques traditionnels, est basé sur la conception de composants autonomes ou modules indépendants qui peuvent interagir entre eux à travers des interfaces prédéfinies. Chacun est dédié à une fonctionnalité data spécifique qui couvre un aspect de la chaine de valeur. Cette approche fragmente le système en sous-ensembles de tâches, ou de modules, qui peuvent être développés, testés et déployés de manière indépendante :

  • Collecte & ingestion des données, processus dynamique qui prend en charge divers formats, en temps réels ou en lots
  • Traitement et transformation, exécution d’opération comme le nettoyage, le redressement ou l’enrichissement des données, l’application de règles métiers, la conversion dans d’autres formats
  • Organisation et stockage selon les performances attendues, en data lake, en base de données opérationnelle, en data warhouse ou solution de stockage hybride
  • Analyse et restitution, pour le calcul de KPI, l’exécution de requêtes, l’utilisation de l’IA pour obtenir des insights, la génération de rapports, etc.
  • Sécurité et conformité, pour la gestion de l’authentification et des accès, le chiffrement (…) mais aussi la compliance auditable avec toutes les règlementations en vigueur dont RGPD

Cette architecture modulaire offre aux entreprises la possibilité de mettre à jour, de remplacer ou de dé-commissionner des composants distincts sans impacter le reste du système Data. En d’autres termes, une architecture de données modulaire est semblable à un jeu de legos où l’on peut ajouter, retirer ou modifier des blocs selon les besoins, sans devoir reconstruire l’ensemble de la structure.

La flexibilité en priorité

La quantité de données générées et collectées par les entreprises a explosé littéralement et les volumes sont exponentiels, tout comme la variété des formats et la vitesse de traitement requise. Les systèmes d’information (SI) doivent plus que jamais être en capacités de s’adapter rapidement à ces nouvelles exigences. Hors le poids du legacy reste le frein numéro 1. Lors des chantiers de modernisation des SID (Système d’information décisionnel historiques) ; le choix d’une architecture modulaire est de plus en plus populaire et pour cause.

Les architectures modulaires répondent à ce besoin impérieux de flexibilité sur des marchés très concurrencés, mondiaux et volatiles. C’est un choix qui permet une meilleure réactivité face à l’évolution très rapides des besoins métiers, des innovations technologiques ou des changements stratégiques. Ces architectures sont nativement conçues pour une intégration facile de nouvelles technologies, telles que le traitement en temps réel des données ou l’intelligence artificielle, tout en supportant les besoins croissants en matière de gouvernance et de sécurité des données.

Cette flexibilité est également synonyme de viabilité à long terme pour les systèmes d’information, offrant ainsi aux entreprises un avantage concurrentiel durable. En résumé, l’architecture de données modulaire n’est pas seulement une solution pour aujourd’hui, mais une fondation solide pour l’avenir.


2. Les avantages d’une architecture Data Modulaire

Une architecture Data modulaire répond aux enjeux de notre ère basée sur la prolifération des données mais pas que ! C’est aussi une réponse alignée sur une stratégie d’entreprise pour qui la flexibilité et l’innovation continue sont des impératifs.

2.1. Évolutivité et facilité de maintenance

La maintenance et l’évolution des SI sont des gouffres financiers, fortement consommateurs de ressources et souvent un frein à l’innovation. Une architecture data modulaire facilite grandement la tâche ! Un composant peut être mis à jour ou remplacé sans risquer d’affecter l’intégralité du système, ce qui réduit significativement les temps d’arrêt et les coûts associés. L’évolutivité et l’innovation sont intrinsèques : ajout de nouvelles fonctionnalités, remplacement, montée en charge, intégration de nouvelles sources de données, (…).

2.2. Agilité organisationnelle et adaptabilité

Dans notre écosystème résolument numérique, l’agilité est primordiale. En isolant les différentes fonctions liée la gestion des données dans des modules autonomes, les architecture data modulaire s’adaptent aux demandes et aux besoins par nature évolutifs. Cette structure permet non seulement d’intégrer rapidement de nouvelles sources de données ou des technologies émergentes ; mais aussi de répondre efficacement aux exigences réglementaires spécifiques à la data.

Exemples : Dans le cas des évolutions des normes de protection des données, le module dédié à la sécurité peut être mis à jour ou remplacé sans affecter les mécanismes de traitement ou d’analyse de données. De même, si une entreprise décide de tirer parti de nouvelles sources de données IoT pour améliorer ses services, elle peut développer ou intégrer un module d’ingestion de données spécifique sans perturber le fonctionnement des autres composants.

Cette adaptabilité réduit considérablement la complexité et les délais associés à l’innovation et à la mise en conformité, ce qui est fondamental pour conserver une longueur d’avance dans des marchés data-driven où la capacité à exploiter rapidement et de manière sécurisée de grandes quantités de données est un avantage concurrentiel qui fait clairement la différence.

2.3 Optimisation des investissements et des coûts dans la durée

L’approche « pay-as-you-grow » des architectures data modulaires permet de lisser les dépenses en fonction de l’évolution des besoins, sans donc avoir à engager des investissements massifs et souvent risqués. Cette stratégie budgétaire adaptative est particulièrement pertinente pour les entreprises qui cherchent à maîtriser leurs dépenses tout en les alignant sur leur trajectoire de croissance.


3. Architecture Modulaire vs. Monolithique

En ingénierie de la data, on distingue les architectures modulaires des systèmes monolithiques en raison de l’impact direct que leur structure même a sur l’accessibilité, le traitement et l’analyse des données.

3.1. Distinctions fondamentales

Les monolithiques fonctionnent comme des blocs uniques où la collecte, le stockage, le traitement et l’analyse des données sont intégrés dans une structure compacte ce qui rend l’ensemble très rigide. Ainsi, une modification mineure peut nécessiter une refonte complète ou de vastes tests pour s’assurer qu’aucune autre partie du système ne connait de régression.

Les architectures de données modulaires, quant à elles, séparent ces fonctions en composants distincts qui communiquent entre eux via des interfaces, permettant des mises à jour agiles et des modifications sans perturber l’ensemble du système.

3.2. Maintenance & évolution

Faire évoluer et maintenir un SID monolithique peut être très fastidieux car chaque modification peut impacter l’ensemble. En revanche, dans le cas d’une architecture de données modulaire, l’évolution se fait composant par composant. La maintenance est facilitée et surtout moins risquées.

Exemple : Le changement ou l’évolution du module Data Visualisation ne perturbe en rien le module de traitement des données, et vice versa.

3.3. Intégration des innovations technologiques

L’ingénierie de la data est foisonnante de changements technologique, les architectures modulaires offrent une meilleure adaptabilité. Elles permettent d’intégrer rapidement de nouveaux outils ou technologies telles que l’Internet des Objets (IoT), les data cloud platforms, les solutions d’IA, de machine Learning ou encore d’analyse prédictive ; alors qu’un système monolithique nécessite une refonte significative pour intégrer de telles solutions. Elles permettent l’intégration de technologies avancées telles avec plus de facilité et moins de contraintes.

Les architectures modulaires encouragent l’innovation grâce à leur flexibilité intrinsèque. Les équipes peuvent expérimenter, tester et déployer de nouvelles idées rapidement, contrairement au SID monolithique plus lourd et complexe à manipuler. Cette capacité d’adaptation est cruciale pour exploiter de nouvelles données, telles que les flux en temps réel ou les grands volumes de données non structurées.

Exemple : l’introduction d’un module d’apprentissage automatique pour l’analyse prédictive peut se faire en parallèle du fonctionnement normal des opérations, sans perturbation.

3.4. Évolutivité & performances

Les architectures de données modulaires peuvent être optimisées de manière granulaire au niveau des charges pour dimensionner les performances au plus juste des besoins ; et ce sans impacter les autres fonctions du système. Dans un système monolithique, augmenter la performance implique souvent de redimensionner l’ensemble du système, ce qui est moins efficace et surtout plus coûteux.

Contrairement aux systèmes monolithiques, où l’intégration de nouvelles technologies peut être un processus long et coûteux, les architectures modulaires sont conçues pour être évolutives et extensibles.


4. Architecture modulaire vs. microservices

4.1 différences entre une architecture data modulaire et une architecture microservices

Les deux termes peuvent en effet porter à confusion car ces deux types d’architecture sont basés sur la décomposition en modules autonomes mais l’un est orienté services, l’autre composants. Leurs pratiques de développement et de mise en opérations sont bien distincts.

Dans l’architecture data modulaire, chaque module représente une certaine capacité du système et peut être développé, testé, déployé et mis à jour indépendamment des autres.

Les microservices, en revanche, sont un type spécifique d’architecture modulaire qui applique les principes de modularité aux services eux-mêmes. Un système basé sur des microservices est composé de petits services autonomes qui communiquent via des API. Chaque microservice est dédié à une seule fonctionnalité ou un seul domaine métier et peut être déployé, mis à jour, développé et mise à l’échelle indépendamment des autres services.

4.2 Comment choisir entre architecture modulaire et microservices ?

  1. Taille et complexité du projet : Les microservices, par leur nature granulaire, peuvent introduire une complexité inutile dans la gestion des petits entrepôts de données ; ou pour des équipes d’analyse de données limitées. Ils sont surdimensionnés pour les petits projets. Une architecture modulaire, avec des composants bien définis pour la collecte, le traitement et l’analyse, suffit largement.
  2. Expertises des équipes data : Une architecture microservices nécessite des connaissances spécialisées sur l’ensemble de la chaine de création de valeur de la data, de la collecte à l’analyse, ce qui n’est pas forcément transposable sur des petites équipes ou composées de consultants spécialisés par type d’outils.
  3. Dépendance et intégration : L’architecture modulaire gère mieux les dépendances fortes et intégrées, tandis que les microservices exigent une décomposition fine et des interfaces claires entre les services. Les architectures modulaires se comportent donc mieux quand les données sont fortement interdépendantes et lorsque des modèles intégrés sont nécessaires. Les microservices, quant-à-eux, sont plus adaptés quand on cherche une séparation claire et des flux de données autonomes, permettant ainsi des mises à jour très ciblées sans affecter l’ensemble du pipeline de données.
  4. Performances et scalabilité : Les microservices peuvent être recommandés dans le cas de traitements à grande échelle qui nécessitent une scalabilité et des performances individualisées. En revanche, cela vient complexifier la gestion du réseau de données et la synchronisation entre les services.
  5. Maintenance des systèmes de données : Bien que ces deux types d’architectures soient par natures évolutifs, les microservices facilitent encore davantage la maintenance et les mises à jour en isolant les changements à des services de données spécifiques. Cela peut réduire les interruptions et les risques d’erreurs en chaîne lors des mises à jour dans des systèmes de données plus vastes.

5. Cas d’usages et applications pratiques

Une architecture de données modulaire, avec sa capacité à s’adapter et à évoluer, est particulièrement recommandée dans des cas où la flexibilité et la rapidité d’intégration de nouvelles technologies sont essentielles. Elle est devenu est must-have pour les entreprises qui cherchent à maximiser l’efficacité de leurs systèmes d’information décisionnels.

  • Télécoms : Dans ce secteur, où les volumes de données sont gigantesques et les besoins de traitement en temps réel sont critiques, l’architecture modulaire permet d’isoler les fonctions de traitement et d’analyse de flux de données, facilitant une analyse et une prise de décision rapides sans perturber les autres systèmes.
  • Secteur de la santé – Gestion des dossiers patients : Une architecture modulaire est particulièrement efficace pour gérer les dossiers de santé électroniques dans les hôpitaux. Des modules autonomes traitent les entrées en laboratoires d’analyse, les mises à jour des dossiers médicaux et les ordonnances, permettant des mises à jour régulières du module de gestion des prescriptions sans perturber l’accès aux dossiers historiques des patients.
  • Banque et finance – Analyse de la fraude : Un de nos clients utilise un module d’analyse de fraude en temps réel sur son système de gestion des transactions financières. Ce module s’adapte aux nouvelles menaces sans nécessiter de refonte du système transactionnel entier, ce qui renforce la sécurité et réduit les failles de vulnérabilité.
  • Plateformes de streaming vidéo : Ces services utilisent des architectures modulaires pour séparer le traitement des données de recommandation d’utilisateurs des systèmes de gestion de contenu, permettant ainsi d’améliorer l’expérience utilisateur en continu et sans interrompre le service de streaming principal.
  • Fournisseurs de services cloud : Ils tirent parti de modules dédiés à la gestion des ressources, à la facturation et à la surveillance en temps réel pour offrir des services évolutifs et fiables, enrichis en solutions d’IA notamment innovations pour l’analyse prédictive de la charge serveur.

Études de cas sur les bénéfices des architectures modulaires vs. monolithiques :

  • E-commerce – Personnalisation de l’expérience client : Un de nos clients, plateforme de vente en ligne, a implémenté un module d’intelligence artificielle pour la recommandation de produits. Cette modularité a permis d’innover en incorporant l’apprentissage automatique sans avoir à reconstruire leur plateforme existante, augmentant ainsi les ventes croisées et additionnelles.
  • Smart Cities – Gestion du trafic : Une métropole a installé un système modulaire de gestion du trafic qui utilise des capteurs IoT pour adapter les signaux de circulation en temps réel. L’introduction de nouveaux modules pour intégrer des données de différentes sources se fait sans interruption du service, améliorant ainsi la fluidité du trafic et les prédictions.

Avantages et inconvénients de l’architecture modulaire en ingénierie des données :

Avantages

  • Agilité : Permet une intégration rapide de nouvelles sources de données, d’algorithmes d’analyse, etc.
  • Maintenabilité : Les mises à jour peuvent être opérées sur des modules spécifiques sans interruption de services.

Inconvénients

  • Complexité de l’intégration : L’implémentation peut demander des charges supplémentaires pour assurer l’intégration entre les modules.
  • Gestion des dépendances : Une planification rigoureuse est nécessaire pour éviter les conflits entre modules interdépendants.

5. Conception d’une Architecture de Données Modulaire

En ingénierie data, la conception d’une architecture modulaire nécessite une segmentation du pipeline de données en modules distincts et indépendants, chacun est dédié à une tâche précise dans la chaîne de valeur des données.

Les prérequis d’une architecture data modulaire :

  • Interopérabilité : Les modules doivent s’intégrer et communiquer entre eux facilement via des formats de données standardisés et des API bien définies. Cette étape est cruciale pour garantir la fluidité des échanges de données entre les étapes de collecte, d’ingestion, de traitement et d’analyse.
  • Gouvernance des données : Chaque module doit être conçu avec des mécanismes de gouvernance (governance by design) pour assurer l’intégrité, la qualité et la conformité des données à chaque étape :  gestion des métadonnées, contrôle des versions, audit, …
  • Sécurité : Vous devez intégrer un système de contrôle de sécurité adapté à la nature des données traitées dans chaque module. Par exemple, les modules de collecte de données ont besoin de sécurisation des données en transit, tandis que ceux impliqués dans le stockage se concentrent sur chiffrement des données froides.

Les meilleures pratiques pour la conception de systèmes modulaires

  • Conception granulaire : Vous devez penser vos modules autour des fonctionnalités de données spécifiques attendues, en veillant à ce qu’ils soient suffisamment indépendants pour être mis à jour ou remplacés sans perturber le pipeline global.
  • Flexibilité et évolutivité : Vous devez concevoir des modules qui peuvent être facilement mis à l’échelle ou modifiés pour s’adapter à l’évolution des données, comme l’ajout de nouveau formats de données ou l’extension des capacités d’analyse sur des volumes étendus.
  • Cohérence et normalisation : Vous devez tendre vers des standards pour la conception des interfaces des modules et la structuration des données, ce qui simplifiera l’ajout et l’harmonisation de modules additionnels et l’adoption de nouvelles technologies dans le futur.

6. Tendances Futures et Prédictions

À l’heure où l’IA et l’apprentissage automatique redessine notre monde et nourrisse l’ingénierie de la Data, l’architecture de données modulaire vraisemblablement connaitre aussi des transformations majeures à court terme.

  • Intégration approfondie de l’IA : Les modules d’IA seront de plus en plus élaborés, capables d’effectuer non seulement des analyses de données, mais aussi de prendre des décisions autonomes sur la manière de les traiter et de les stocker. L’auto-optimisation des pipelines de données basée sur des modèles prédictifs pourra augmenter l’efficacité et réduire les coûts opérationnels. Ils pourront identifier des modèles complexes indétectables par des analyses traditionnelles.
  • Apprentissage automatique en tant que service : L’architecture de données modulaire incorporera surement des modules d’apprentissage automatique en tant que service (MLaaS), permettant une scalabilité et une personnalisation accrues. Ces services seront mis à jour régulièrement avec les derniers algorithmes sans redéploiement lourd du système. Ces modules incluront des composants capables d’auto-évaluation et de recalibrage pour s’adapter aux changements de données sans intervention humaine. Par exemple, un module pourra ajuster ses propres algorithmes de traitement de données en fonction de la variabilité des schémas de données entrantes.
  • Auto-réparation et évolutivité : Les modules seront conçus pour détecter et réparer leurs propres défaillances en temps réel, réduisant ainsi les temps d’arrêt. Avec l’apprentissage continu, ils anticiperont les problèmes avant qu’ils ne surviennent et adapteront leur capacité de traitement selon les besoins.
  • Interopérabilité avancée : Les futures architectures de données modulaires seront probablement conçues pour interagir sans effort avec une variété encore plus large de systèmes et de technologies, y compris des algorithmes d’IA très élaborés, des modèles de données évolutifs et des nouveaux standards d’interface.
  • Automatisation de la gouvernance des données : Les modules dédiés à la gouvernance utiliseront l’IA pour automatiser la conformité, la qualité des données et les politiques, rendant la gouvernance des données plus proactive et moins sujette à erreur.

L’architecture de données modulaire va devenir plus dynamique, adaptative et intelligente, tirant parti de l’IA et de l’apprentissage automatique non seulement pour la gestion des données mais pour continuellement s’améliorer et innover dans le traitement et l’analyse des données.


Une architecture de donnée modulaire, en bref.


Une architecture de données modulaire offre aux entreprises une flexibilité sans précédent. Elle permet de gagner en agilité opérationnelle car elle a la capacité de se dimensionner et de s’ajuster aux changements qu’ils soient métiers ou technologique sans impact négatif sur le système existant. Cette approche par composants autonomes permet une meilleure gestion du pipeline de données et une évolutivité des systèmes inégalées. Les coûts et les interruptions liés à l’évolution technologique s’en trouvent drastiquement réduits. En outre, l’architecture modulaire est conçue pour intégrer facilement les dernières innovations comme l’intelligence artificielle et le machine learning. Des bases solides en sommes pour soutenir votre transformation digitale et votre croissance sur vos marchés.


Quelques solutions pour vous accompagner dans cette transition technologique


Databricks
– Pour une plateforme unifiée, offrant une analyse de données et une IA avec une architecture de données modulaire au cœur de sa conception.

Snowflake – Offre une architecture de données dans le cloud conçue nativement pour être flexible et l’évolute, permettant aux entreprises de s’adapter rapidement aux besoins et aux demandes changeantes des métiers et des marchés.

GoogleCloudPlatform – Avec BigQuery, une solution puissante pour une gestion de données modulaire, permettant une analyse rapide et à grande échelle.

Architecture Data,  micro-services ou monolithique ? Un choix déterminant pour votre infrastructure d’entreprise.

Alors qu’il existe une multitude d’outils et de solutions data qui s’offrent à vous ; vous devez vous interroger sur votre architecture Data – et sa roadmap – car c’est elle qui doit influencer votre stack technologique. Il ne s’agit pas tant de choisir entre architecture monolithique et architecture micro-services que de s’interroger sur la pertinence de votre stratégie data dont l’objectif est de soutenir votre business et vos capacités d’innovations dans la durée. Votre « vision data » va se traduire par une décision architecturale qui définit la manière dont votre entreprise gère et valorise ses données. Explications.

Du on-premise au cloud, c’est aussi une évolution architecturale !

Le paysage technologique des deux dernières décennies a connu une transformation radicale. Hier, les architectures de données étaient intrinsèquement en silos, chaque système fonctionnant en vase clos avec des degrés de compatibilité très limités. Les applications et les données étaient prisonnières d’infrastructures « on-premise » où l’intégration et l’interopérabilité étaient des défis majeurs (et des vrais centres de coûts) qui freinaient la collaboration et la pleine exploitation des données.

Aujourd’hui, le paradigme a basculé vers le « cloud », où se mêlent des configurations hybrides et des solutions on premise toujours très présentes. L’adoption d’architectures en micro-services a radicalement changé l’approche de la conception et de la gestion des données. Cependant, avec cette nouvelle liberté vient la responsabilité de choisir judicieusement parmi un large éventail d’outils éditeurs et de services offerts par divers cloud service providers (CSP). Les micro-services offrent un catalogue de services indépendants, chacun excellant dans sa spécialité et communiquant avec les autres via des interfaces bien définies.

Architectures Data, monolithique vs. micro-services

C’est la configuration traditionnelle que l’on rencontre encore dans la plupart des entreprises. Toutes les fonctions sont regroupée en un seul et unique bloc logiciel. Imaginons par exemple, un énorme référentiel Airflow qui gère à la fois l’ingestion, la transformation des données et l’automatisation des processus métier, comme un guichet unique pour toutes les opérations data.

Avec le cloud, les architectures data ont évolué vers un modèle de micro-services, où chaque service est autonome et spécialisé dans une fonction précise : gestion des données batch, transformation des données ou data warehousing. Citons pour exemples AWS Lambda, Apache Kafka, ou encore Snowflake choisis pour leur efficacité dans leurs domaines respectifs. Chaque service opère indépendamment, permettant une spécialisation et une adaptabilité qui étaient inimaginables dans les architectures en silos du passé.

Quel choix d’outil pour quelle architecture ?

Pour une architecture monolithique : Vous pouvez choisir des outils intégrés capables de gérer l’ensemble du cycle de vie des données au sein d’une même plateforme, tels que Talend ou Informatica. Les solutions comme Microsoft SQL Server Integration Services (SSIS) pour Azure peuvent convenir à ce type d’architecture en offrant un ensemble d’outils unifié.

Pour une architecture microservices : Vous optez pour la spécialisation avec des outils dédiés pour chaque service. AWS Lambda pour l’exécution de code sans serveur, Apache Kafka pour le traitement des flux de données en temps réel, et Snowflake pour le data warehousing sont des exemples de cette diversification des outils. Ou encore Azure Functions pour des scénarios d’intégration événementielle, et Google BigQuery pour l’analyse en volume des données.

Quels critères essentiels à prendre en compte dans votre choix d’architecture data ?

  1. Spécialisation vs. Intégration : L’architecture micro-services comprend la spécialisation (une fonction = un service), mais exige une intégration rigoureuse pour éviter la création de nouveaux silos.
  2. Infrastructure distribuée : Les micro-services optimisent l’efficacité et la scalabilité. AWS Lambda, par exemple, offre une solution de calcul sans serveur, tandis qu’un cluster Kubernetes est préférable pour des charges de travail plus lourdes et constantes. Azure et AWS offrent une variété de services qui s’alignent avec cette approche, comme Azure Event Hubs pour l’ingestion d’événements à grande échelle ou AWS Kinesis pour le streaming de données.
  3. Interopérabilité et gouvernance des données : L’interconnexion entre services est un enjeu majeur ! Les outils d’orchestration comme Apache Airflow peuvent aider … mais cela induit souvent des coûts supplémentaires et de la complexité. L’interopérabilité doit être intégrée dès la conception pour éviter des solutions de gouvernance onéreuses comme les catalogues de données ou des outils d’observabilité. Les services comme Azure Data Factory et AWS Glue facilitent l’orchestration de workflows data et l’intégration de services.
  4. Gestion des coûts : Les architectures microservices peuvent entraîner des coûts de transfert de données inattendus. Des outils comme Apache Kafka réduisent ces coûts en optimisant le traitement des données avant de les déplacer vers des solutions comme Snowflake. Les coûts de transfert et de stockage des données restent un point de vigilance. Les solutions comme Apache Kafka et les services de streaming de données peuvent minimiser ces coûts et optimiser le flux de données.

Architecture Data en micro-services ou monolithique ?

L’architecture choisie est essentielle car elle va déterminer l’efficacité de votre stratégie data. Dans un monde où les fournisseurs de cloud continuent d’innover et d’intégrer des services plus efficaces, les architectures modulaires en micro-services sont appelées à devenir encore plus interconnectées, performantes et économiques. L’avenir des données se dessine dans le cloud, où la complexité cède la place à la connectivité, à toujours plus d’agilité et à l’optimisation des coûts.


Pour aller plus loin :

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

Le Data Mesh, la réponse aux limites des architectures data traditionnelles en 4 piliers fondateurs.


L’écosystème Data est en constante mutation. Alors que les entreprises cherchent des moyens de mieux collecter, gérer et exploiter leurs vastes gisements et autres actifs de données, une nouvelle approche nommée Data Mesh s’impose. Développée par Zhamak Dehghani, cette méthode vise à repenser notre façon de traiter les données.


1. Découpage en Data Domains

  • Les Data Domains représentent le découpage au sein de l’entreprise (par métiers par exemple), chacun ayant ses propres données et ses responsabilités afférentes. En découpant les données en domaines, cela permet de réduire la complexité et améliorer l’efficacité de la gestion des données.
  • Avantages:
    • Simplification de la gestion des données.
    • Meilleure optimisation et exploitation des données.
    • Capacité à évoluer sans compromettre l’intégrité des données.

2. Data as a Product

  • Le concept de « Data as a Product » encourage les organisation à appréhender et traiter leurs données comme un produit. Ceci implique une équipe dédiée pour chaque ensemble de données, assurant sa qualité et sa pertinence tout au long de son cycle de vie.
  • Avantages:
    • Assure une qualité et fiabilité des données.
    • Favorise une culture d’ownership.
    • Optimise la valeur pour les consommateurs de données.

3. Self-Service Data Infrastructure as a Platform

  • Ce la représente la mise en place d’une infrastructure qui permet aux équipes d’accéder, de gérer et d’exploiter les données sans dépendre d’une équipe centrale.
  • Avantages:
    • Accélération de l’innovation.
    • Réduction des dépendances et silos.
    • Autonomie accrue pour les équipes de données.
  • Solutions éditeurs: Des acteurs comme Databricks, Snowflake et Redshift ont adopté cette approche et sont de plus en plus populaires.

4. Gouvernance Fédérée

  • En lieu et place d’une approche centralisée, la gouvernance fédérée vise à distribuer la gestion des données à travers l’organisation, équilibrant autonomie locale et directives globales.
  • Avantages:
    • Adaptabilité aux besoins spécifiques de chaque domaine.
    • Maintien d’une standardisation et cohérence globale.

Le Data Mesh est une tendance de fond en architecture de données car elle représente une approche novatrice c’est une réponse aux défis croissants que pose la gestion des données à grande échelle. Elle permet aux organisation d’entrer réellement dans une nouvelle ère Data-Centric.


Vous souhaitez repenser votre architecture de données ? Vous souhaitez savoir quelles alternatives d’offrent à vous ? Vous avez besoin d’accompagnement sur le sujet ? Challengez-nous !

Pourquoi avez-vous besoin d’un Architecte Solutions ?

Dans un monde de plus en plus digitalisé, chaque entreprise cherche à innover et à optimiser ses processus en continu. Mais comment vous assurer que cette transformation numérique s’aligne parfaitement avec vos objectifs business ? C’est là qu’intervient l’architecte de solutions.

L’allié de votre transformation digitale

Un architecte de solutions n’est pas qu’un simple professionnel en ingénierie. Il est le lien entre vos ambitions business et les solutions technologiques les plus adaptées pour les réaliser. Il s’assure que chaque investissement technologique réalisé ait du sens pour votre entreprise et participe à la création de valeur.

L’expertise technologique au service du business

Avec l’évolution effrénée des nouvelles technologies, vous avez besoin de vous entourer d’un spécialiste qui les maîtrise, connait leur réelle maturité et sait comment elles peuvent être mises en pratique dans votre contexte d’entreprise particulier afin de vous donner un avantage concurrentiel.

La fluidification de la communication entre les métiers et les « techniciens de l’informatique »

L’architecte de solutions facilite la communication entre les équipes techniques et les métiers. Il s’assure que chaque décision est prise en connaissance de cause et qu’elle répond précisément aux besoins exprimés, ce qui l’amène souvent à les reformuler pour qu’ils soient effectivement partagés par tous.

La maîtrise des risques

De la compliance règlementaire à la sécurisation, l’architecte de solutions identifie, évalue et anticipe les risques liés à toutes les initiatives technologiques ou introduction de nouvelles technologies au sein de votre écosystème IT.

Le bon choix technologique

Que vous souhaitiez migrer vers le cloud, intégrer de nouvelles applications ou renforcer votre cybersécurité, l’architecte de solutions s’assure que la pile technologique choisie est la meilleure pour vous en fonction de votre existant mais aussi de vos ressources disponibles. Il vous propose également la bonne stratégie et la trajectoire de transformation technologique.

Le profil type d’un architecte solution

En raison des multiples dimensions de son poste et la diversité de ses missions au quotidien, il a à la fois des compétences techniques solide, une véritable vision stratégique et des qualités interpersonnelles indispensables.

  1. Expériences : C’est un professionnel expérimenté qui a souvent commencé sa carrière comme développeur ou ingénieur système suivi d’une expérience en conseil. Il a généralement plusieurs certifications dont AWS Certified Solution Architect et/ou Azure Solutions Architect Expert.
  2. Connaissances techniques : il maîtrise bien entendu toutes les dernières tendances en architectures data modernes (data fabric, data mesh, lakekouse, etc.), le cloud, l’intelligence artificielle, etc. Il a de l’expérience dans l’intégration de différentes plateformes et de technologies pour être en capacité d’être force de recommandations pour réconcilier des systèmes disparates. Il connait tous les principes de sécurité pour assurer la protection des données et la sécurisation des systèmes.
  3. Compétences en gestion de projet : Gestion et coordination d’équipe sont ses points forts ! Il est le garant du budget (suivi des dépenses et ROI projet) et de la gestion des risques afin d’identifier précocement les éventuels problèmes (anticipation).
  4. Vision stratégique : il est en capacité de traduire des besoins métiers ou des attentes métiers en solutions technologiques. Il sait également anticiper et proposer des solutions évolutives dans la durée.
  5. Qualités : C’est un communiquant qui sait expliquer des concepts complexes à des interlocuteurs souvent néophytes. C’est un négociateur qui sait trouver des compromis entre des partie prenantes qui ont souvent des intérêts divergents. Et il s’épanouit dans le travail en équipe !


Un architecte de solutions a un rôle pivot dans toute entreprise qui souhaite mener à bien sa transformation numérique. Sa capacité à jongler entre des compétences techniques pointues, une vision stratégique claire et une communication efficace en fait un atout inestimable pour toute organisation.

Besoin de renfort dans vos projets, challengez-nous !

Comprendre les architectures Data modernes, laquelle adopter en 2024 ?

Dans un monde moderne qui produit sans cesse des données qui nourrissent en continu ses économies, faire le bon choix en terme d’architecture est essentiel pour capter, gérer, analyser et exploiter les données. Les architectures de données ont beaucoup évolué pour répondre à ces nouveaux besoins sur des volumétries jamais atteintes jusqu’alors et des systèmes qui demandent de plus en plus de traitement temps réel. Voici un selon nous les architectures data les plus modernes en 2024.

Data Warehouse Appliances

Les appliances de data warehouse, tels que Teradata, Netezza, Neoview, Parallel Data Warehouse et SAP HANA, ont été conçues pour gérer les charges de travail analytiques qui ne sont pas efficacement traitées par des systèmes de gestion de bases de données traditionnels. Grâce à une architecture parallèle massive et un traitement en mémoire, ces appliances offrent des performances améliorées.

Data Lakes

Les data lakes représentent une évolution majeure par rapport aux entrepôts de données et aux data marts. Ils peuvent gérer et analyser non seulement des données structurées, mais aussi des données semi-structurées et non structurées. Ils sont généralement mis en œuvre sur des infrastructures cloud comme AWS S3, Azure ADLS, ou GCS de Google, qui offrent plus flexibilité via une séparation entre les ressources de stockage et celles de calcul.

Data Mesh

L’architecture Data Mesh vise à résoudre les problèmes de scalabilité et de disponibilité associés aux architectures de données centralisées. Avec un Data Mesh, les données sont organisées en « produits de données » (Data a a product), chacun géré par l’équipe responsable de son domaine fonctionnel respectif. Cela facilite l’exploitation des données, car les propriétaires de produits de données sont au plus proches des applications métiers qui produisent et utilisent les données.

Data Fabric

L’architecture Data Fabric, comme le Data Mesh, vise à surmonter les défis traditionnels auxquels sont confrontées les architectures de données centralisées. Cependant, à la différence du Data Mesh, qui est une approche décentralisée basée sur le domaine, le Data Fabric est une approche centralisée axée sur la technologie, s’appuyant sur les métadonnées, les catalogues, les modèles de données logiques et les APIs.

Lakehouse Architecture

La Lakehouse est une architecture qui a pour objectif de mixer les avantages des data warehouses et des data lakes tout en surmontant leurs limites respectives. Elle offre une interface commune pour toutes les charges de travail d’analyse de données et prend en charge les propriétés ACID des applications transactionnelles.

Pour conclure, le choix de la bonne architecture de données dépend de vos besoins spécifiques. Que ce soit le Data Mesh, la Data Fabric ou le Lakehouse, chaque option a ses propres intérêts qui peuvent servir votre stratégie d’exploitation des données. Chez Smartpoint, nos architectes vous conseillent car être en capacités de comprendre les différentes architectures de données est primordial afin de concevoir et mettre en œuvre des systèmes data efficaces : traitement par lots, traitement en flux, architecture Lambda, entrepôt de données, le lac de données, microservices, (…)

Data Mesh, architecture miracle pour libérer enfin la valeur promise des data ?

Au-delà du concept et des principes d’architecture, est-ce que le Data Mesh est viable à l’épreuve de réalité des organisations et des SI data ? Est-ce que cette architecture décentralisée et orientée domaine fonctionnel, qui permet une exploitation des données en libre-service, est la hauteur des promesses ?

Voici les principaux écueils à anticiper.

En tant que pure-player de la Data, nous en avons connu chez Smartpoint des architectures de données … Et nous savons à quel point il est complexe de trouver, de concevoir, de mettre en œuvre la bonne solution et de briser enfin les silos. On sait aujourd’hui qu’environ 80% des projets de Data Warehouses ont échoué et il y a déjà presque 10 ans, Gartner prédisait que 90% des Data Lakes seraient finalement inutiles. Il est vrai aussi que l’on sait qu’une équipe Data centralisée est souvent débordée et manque d’expertises par domaines métiers, ce qui nuit invariablement à la découverte et à la création de valeur data.

Revenons sur les principes fondamentaux qui caractérisent le Data Mesh ou Maillage de données tel que promus par Zhamak Dehghani(ThoughtWorks) en alternative aux structures de données centralisées et monolithiques :

1. Domain-driven ownership of data : Les données sont considérées comme des actifs appartenant à des domaines spécifiques au sein de l’organisation. Chaque domaine est responsable de la production, de l’amélioration de la qualité des données et de la gestion. Cette approche permet de créer des équipes spécialisées, composées d’experts métier et techniques, qui travaillent en étroite collaboration pour définir les normes et les règles spécifiques à leur domaine. Leur objectif est de répondre aux besoins de leur domaine fonctionnel en terme d’exploitation des données, tout en favorisant la réutilisation et l’interopérabilité entre les différents domaines métiers.

2. Data as a product : Les données sont destinées à être consommées par les utilisateurs au sein de l’organisation. Les équipes data doivent se recentrer sur le client pour fournir des data sets de qualité, fiables et bien documentés. Elles créent des interfaces claires (API) et définissent des contrats pour la consommation des données. Ainsi, les utilisateurs peuvent découvrir, accéder et utiliser les données de manière autonome, comme un produit prêt à l’emploi. On est dans la même logique que les architectures microservices.

3. Self-service data platform : Les équipes data fournissent une plateforme de données en libre-service, qui facilite la découverte, l’accès et l’exploitation des données. Cette plateforme fournit des outils, des services et des interfaces qui permettent aux utilisateurs de trouver intuitivement et de consommer les données de manière autonome. Elle favorise l’automatisation et l’orchestration des flux de données, permettant ainsi aux équipes data de se concentrer sur la qualité et l’enrichissement des données plutôt que sur des tâches opérationnelles chronophages et à faible valeur ajoutée.

4. Federated computational governance : La gouvernance des données est décentralisée et répartie entre les différentes équipes. Chaque équipe a la responsabilité de définir et d’appliquer les règles et les normes spécifiques à son domaine. La gouvernance fédérée consiste à mettre en place des processus et des outils qui permettent de gérer et de contrôler les données de manière distribuée. Cela inclut la gouvernance des métadonnées, la sécurité, la conformité réglementaire, ainsi que la prise de décision collective et transparente sur les évolutions de l’architecture et des pratiques liées aux données.

Voici pourquoi une architecture data mesh pourrait se révéler être un échec dans certaines organisations où les notions de produit data ou de propriété de domaines sont difficilement applicables.

  • Toutes les données n’ont pas forcément une valeur, c’est même le contraire. La plupart des données collectées sont inutiles et brouillent l’information car elles ne sont pas pertinentes. Dans les faits, c’est compliqué d’identifier dans la masse celles qui sont réellement précieuses et potentiellement génératrice de valeur. C’est un véritable chantier en soi, complexe et laborieux. Un travail de chercheur d’or !
  • Produire des données est une charge supplémentaire ! Certes le concept de data product est séduisant et facile à appréhender mais dans la réalité du terrain, les ingénieurs data doivent déjà les créer … Et les transformer en plus par domaine nécessite d’élargir encore leurs compétences. Certes les avancées en IA, automatisation, et autres Low Code promettent de leur faciliter la tâche mais c’est encore une promesse qui reste à éprouver.
  • On en vient naturellement à la troisième difficulté : le manque de compétences data disponibles. Le Data Engineering, c’est un métier de spécialiste de la gestion des données et nous savons qu’il est rare de trouver des professionnels qui en maîtrise toute la palette ! Déléguer la responsabilité à des équipes par domaine, sans compétences spécialisées en data, peut générer des problèmes sans aucun doute.
  • La gouvernance fédérée est aussi une évidence sur le papier. Dans les faits, ce n’est pas applicable sans de fortes contraintes avec un véritable régime central très autoritaire qui encadre les comportements et contrôle régulièrement les usages. En effet, si la gouvernance des données est détenue par une guilde fédérée composées de représentants de différents domaines, cela risque fortement d’être inefficace car chaque département a ses propres règles et priorités.
  • Une plateforme centralisée en libre-service fait rêver mais dans les faits, mettre en place ce type de solution se révèle très complexe car on est confronté à une variété vertigineuse de formats de données, une pluralité de systèmes et d’applications différents, de différentes versions voire de générations. Certes, nous disposons aujourd’hui de nombreux outils pour ingérer massivement les données et de larges bibliothèques de connecteurs … mais on peut rapidement retomber dans les travers du data warehouse.

Pour conclure, une architecture Data Mesh est très intéressante, mais au là du concept, il faut en mesurer les risques, les écueils et ses limites.

Voici les principaux avantages qui méritent qu’on étudie sa faisabilité et sa mise en pratique dans votre SI Data :

  1. Démocratisation de l’exploitation des données par un plus grand nombre (au delà des data scientist) via les applications en libre service
  2. Réduction des coûts car cette architecture distribuée est davantage #Cloud native avec des pipeline de collecte des données en temps réel (paiement à la consommation en terme de stockage)
  3. Interopérabilité car les données sont normalisées indépendamment du domaine et les consommateurs s’interfacent par APIs.
  4. Renforcement de la sécurité et de la gouvernance des données car les normes sont appliquées au-delà du domaines ainsi que la gestion des droits et des accès (journalisation, observabilité).

Sources :

Back to the basics ! Zoom sur les différences entre un data warehouse dans le cloud, un data lake et data lakehouse.

  • Un data Warehouse est une base de données analytique centralisée qui stocke les données déjà structurées. Il est utilisé par des analystes qui maîtrisent parfaitement le langage SQL et savent donc manipuler les données. Les données sont optimisées et transformées pour être accessibles très rapidement à des fins d’analyses, de génération de rapports et des tableaux de bords de pilotage des entreprises.
  • Un data lake collecte et stocke lui aussi des données mais il a été conçu pour traiter les Big Data, c’est-à-dire pour de fortes volumétries de données brutes, non structurées ou semi-structurées. Les data lakes sont à privilégier dans le cas d’un traitement en continu et d’une gestion en temps réel des données. Les données sont généralement stockées en prévision d’une utilisation ultérieure. Comme elles sont de natures brutes et non traitées, il est nécessaire de faire appel à un Data Scientist lorsqu’on souhaite les exploiter. Généralement, le datalake est utilisé pour le traitement par lots. Il permet notamment l’utilisation d’ELT en libre-service (par ex Informatica) pour automatiser l’ingestion et le traitement des données, ce qui permet de réduire la complexité de la conception et la maintenance des pipelines de données.
  • Un data Lakehouse, c’est une nouvelle architecture qui réconcilie en théorie le meilleur des deux mondes entre l’entrepôt de donnée et le data lake en une seule plateforme ! Le data lakehouse permet d’éviter la multiplication des moteurs de requêtes en exécutant des analyses directement dans le data lake lui-même.

À suivre ? les solutions proposées par Databricks …

Zoom sur l’architecture de données et son corolaire, la modélisation des données


L’objectif est de documenter tous les data assets de l’organisation, de les cartographier afin de voir comment ils circulent dans vos systèmes afin d’obtenir un schéma directeur.


La schéma directeur va donner le cadre sous-jacent aux plateformes de données qui alimentent également les outils de gestion de données. Il va permettre aussi de spécifier les normes pour la collecte, l’intégration, la transformation et le stockage de données. Aujourd’hui, on utilise de plus en plus des systèmes de streaming de données en temps réel et on prend en charge désormais les applications d’IA/ML en plus de la BI traditionnelle.

Le développement du cloud a encore apporté une couche de complexité aux architectures de données. Autre concept émergeant, la Datafabric ! Enfin, l’architecture de données doit prendre en considération la conformité règlementaire et la gouvernance des données.

Une bonne conception doit être :

  • Orientée métier pour être alignée sur l’organisation et les besoins
  • Flexible et évolutive
  • Fortement sécurisée pour interdire les accès non autorisés et les utilisations abusives

Ses composants ? Des modèles de données avec des référentiels communs, des diagrammes et des flux de données pour comprendre comment circulent les données dans les systèmes et les applications qui les consomment, des documents qui normalisent comment les données sont collectées, intégrées et stockées.

Source : https://www.techtarget.com/contributor/Craig-Stedman

Source pour aller plus loin : What is data architecture? A data management blueprint