Architecture Data-Centric de vos données

hands-engineer-working-blueprint-construction-concept-engineering-tools

Performance, scalabilité, budget et sécurité

Les architectures autour des données ont considérablement évolué dans le contexte suivant :

Optimiser le stockage et le compute pour améliorer les performances et réduire le TCO

Rationaliser l’écosystème IT selon les besoins métiers : type d’accès, latence, autonomie, monétisation …​

Observabilité, sécurité, personnalisation, Finops : des enjeux transverses qui renouvellent le travail des architectes​

Il en résulte une approche Data-centric qui place les données au cœur des processus, des décisions et des stratégies d’une organisation. Lorsqu’elles sont collectées, gérées et analysées, les données offrent des insights précieux qui aident à améliorer les performances, à innover et à se différencier sur le marché.

L’architecture Data-centric doit faciliter le parcours de la donnée entre ingestion, stockage, transformation et restitution. Si le concept et les objectifs sont clairs, les méthodes techniques et les stratégies pour les réaliser diffèrent selon les exigences de volumes, de temporalité, de confidentialité, et, en premier lieu, de types de données.

Il en résulte une approche Data-centric qui place les données au cœur des processus, des décisions et des stratégies d’une organisation. Lorsqu’elles sont collectées, gérées et analysées, les données offrent des insights précieux qui aident à améliorer les performances, à innover et à se différencier sur le marché.

L’architecture Data-centric doit faciliter le parcours de la donnée entre ingestion, stockage, transformation et restitution. Si le concept et les objectifs sont clairs, les méthodes techniques et les stratégies pour les réaliser diffèrent selon les exigences de volumes, de temporalité, de confidentialité, et, en premier lieu, de types de données.

Architecture et types de données

Une architecture Data-centric doit intégrer divers modèles et technologies pour gérer efficacement les spécificités des différentes typologies de données qui l’alimentent.

Une stratégie "référentiel" autour du MDM ?

L’architecture prend en compte la consolidation des données au sein d’un catalogue d’objets métiers qui reflète son activité. Les mêmes objets métiers (un même client ou un produit) sont présents à plusieurs endroits et avec des cycles de vie différents. En conséquence, la réconciliation des différentes versions d’un même objet métier, pour constituer une version consolidée et la plus exacte, est un processus spécifique mettant en jeu, particulièrement, des règles de mise en qualité, de rapprochement et de fusion.

Le Master Data Management (MDM) propose un socle technique comme réponse à ces exigences et, à ce titre, est très souvent présent dans les architectures Data-centric. Ce composant MDM permet de construire une vision 360° des différents objets métiers, de leurs attributs et de leurs relations. Il relie les différentes clés des systèmes sources contributeurs à l’identifiant unique du Golden Record, créant ainsi une base de références croisées qui trace l’origine des données. Ce lien entre identifiants est également important pour associer le Golden Record avec le reste des données d’origine transactionnelle dans une plateforme élargie. Le composant MDM doit également pouvoir assurer l’historisation des changements au nom des exigences de lineage et de respect des réglementations.

Notons que le MDM évolue pour s’insérer de plus en plus dans le cycle transactionnel des données. Des pipelines d’ingestion au fil de l’eau, suivis de traitements puis de propagations événementielles, font partie intégrante des solutions les plus performantes du marché.

Architecture et types de données

Une architecture Data-centric doit intégrer divers modèles et technologies pour gérer efficacement les spécificités des différentes typologies de données qui l’alimentent.

Une stratégie "référentiel" autour du MDM ?

L’architecture prend en compte la consolidation des données au sein d’un catalogue d’objets métiers qui reflète son activité. Les mêmes objets métiers (un même client ou un produit) sont présents à plusieurs endroits et avec des cycles de vie différents. En conséquence, la réconciliation des différentes versions d’un même objet métier pour constituer une version consolidée et la plus exacte est un processus spécifique mettant en jeu, particulièrement, des règles de mise en qualité, de rapprochement et de fusion.

Le Master Data Management (MDM) propose un socle technique comme réponse à ces exigences et, à ce titre, est très souvent présent dans les architectures Data-centric. Ce composant MDM permet de construire une vision 360° des différents objets métiers, de leurs attributs et de leurs relations. Il relie les différentes clés des systèmes sources contributeurs à l’identifiant unique du Golden Record, créant ainsi une base de références croisées qui trace l’origine des données. Ce lien entre identifiants est également important pour associer le Golden Record avec le reste des données d’origine transactionnelle dans une plateforme élargie. Le composant MDM doit également pouvoir assurer l’historisation des changements au nom des exigences de lineage et de respect des réglementations.

Notons que le MDM évolue pour s’insérer de plus en plus dans le cycle transactionnel des données. Des pipelines d’ingestion au fil de l’eau, suivis de traitements puis de propagations événementielles, font partie intégrante des solutions les plus performantes du marché.

L'ingénierie des données transactionnelles et comportementales

Les données transactionnelles sont volumineuses, plus complexes et riches en attributs. Leur volumétrie soulève des problématiques lors de leur ingestion par les différents processus d’acheminement vers les zones de stockage. Ces données sont souvent très détaillées : un enregistrement de vente, par exemple, contiendra des informations sur le produit, le client, la date et le montant. Il est donc essentiel d’arbitrer correctement le périmètre fonctionnel à intégrer pour définir les pipelines adéquats, selon les ambitions analytiques, mais aussi opérationnelles.

Les données comportementales, quant à elles, capturent les interactions et les comportements des utilisateurs, clients ou systèmes. Elles constituent des données chaudes qui s’insèrent souvent dans des « customer journeys ». En plus d’être volumineuses, elles se présentent sous différents formats, comme par exemple les clics, les temps de session ou les avis clients. Elles sont donc généralement stockées dans des systèmes de Big Data, des data lakes ou des bases de données adaptées, notamment des bases chronologiques ou orientées séries temporelles.

L'ingestion des données

L’extraction des données sources doit se faire en respectant leur cycle de vie, avec plusieurs approches possibles : l’exportation des données par les sources (en mode complet ou incrémental), l’utilisation d’API d’exposition ou encore la capture des changements au niveau de la couche de persistance.

L’ingestion des données ne se limite plus au processus traditionnel d’ETL ou d’ELT, mais intègre de plus en plus des flux de données complexes, en temps réel ou en streaming.

Des traitements tels que le filtrage, le nettoyage et la standardisation peuvent être mis en œuvre dans le processus d’ingestion en s’appuyant notamment sur certaines solutions du marché.
Après l’extraction, les données doivent être converties dans un format plus universel et standardisé et passer par des étapes de mise en qualité, de transcodification ou d’enrichissement.

L’architecture Data-centric définit au final des pipelines pour collecter, déplacer, transformer, mais aussi pointer vers des destinations et des usages spécifiques.

Traitement des données en entonnoir

Le traitement des données

L’analyse et l’interprétation des données constituent une grande part de la valeur ajoutée d’une plateforme Data-centric. Des traitements de préparation servent les cas d’usage suivants : recourir à des algorithmes de Machine Learning et à des modèles statistiques pour orienter les plans d’action, personnaliser l’expérience client, exploiter les données pour détecter des opportunités sur le marché ou des besoins émergents. Cela requiert une synergie d’outils, de technologies, de compétences analytiques et de processus bien définis pour maximiser leur utilité.

Au cœur de cette problématique, les ressources de type « Compute » doivent être optimisées pour privilégier scalabilité et capacité à traiter les données selon les différentes priorités. Il existe pour cela de nombreuses combinaisons d’outils disponibles pour accélérer les performances et/ou minimiser les temps de traitement. On jouera en particulier sur l’affectation des calculs et sur le stockage selon les différentes étapes au sein du pipeline des données.

Le stockage des données

Le stockage des données au sein de l’architecture Data-centric doit tenir compte de la finalité attendue :

Les data lakes tels qu’Amazon S3, Azure Data Lake Storage et Google Cloud Storage sont des solutions spécialement conçues pour stocker de vastes quantités de données dans divers formats, qu’ils soient structurés, semi-structurés ou non structurés.

Ces data lakes sont souvent le premier réceptacle des données issues des processus d’ingestion, qui alimentent eux-mêmes une couche de données dans des formats de tables interopérables, tels qu’Iceberg ou Delta Lake. Ces formats sont compatibles avec plusieurs moteurs de calculs distribués comme ceux intégrés aux plateformes Apache Spark, Databricks et Microsoft Fabric.

L’ingénierie des données est elle-même réalisée dans des plateformes comme Snowflake, Databricks, Azure Fabric, Amazon Redshift et Google BigQuery, spécifiquement conçues à cet effet, et qui associent des fonctions de data science, d’analyses et de BI.

Les bases de données NoSQL et le stockage au format JSON bénéficient nativement de la scalabilité horizontale et, pour cette raison, sont intéressants lorsqu’un grand nombre d’utilisateurs a besoin de requêter les données.

Le choix d’un type de stockage dépend donc des exigences en termes de modélisation, de scalabilité et de niveau de service requis pour soutenir efficacement les processus métiers. Une évaluation approfondie de ces éléments permet de choisir la solution qui gère le plus efficacement les données, tout en optimisant performance et coûts.

Niveaux de service et Finops

Maintenir des niveaux de service adéquats tout en gérant des volumes de données et des traitements fluctuants exige que les composants clés de l’architecture soient à la fois scalables et élastiques.
Le concept d’élasticité est essentiel dans les services de stockage et de calcul, représentant un point déterminant des offres des hyperscalers. Il est donc logique de se tourner vers l’écosystème de services de ces fournisseurs pour élaborer une architecture Data-centric capable de s’ajuster aux fluctuations des charges de travail.

Cependant, il est crucial de gérer avec précision les ressources provisionnées et les coûts associés, afin d’optimiser les bénéfices tout en évitant l’inflation du budget. Le TCO (Total Cost of Ownership) est d’abord lié à l’allocation dynamique des ressources, en particulier à la variation de coûts du compute (l’utilisation du stockage est en général plus linéaire et moins onéreuse). Il faut aussi tenir compte de la complexité de la gouvernance à mettre en place. Cette gouvernance peut se baser sur des fonctions existantes au sein de la plateforme utilisée, ou se construire au travers d’une plateforme dont la vocation est d’unifier les différents paramétrages de gestion des droits d’accès, de la sécurité, etc.

Il est crucial que l’adoption d’une architecture Data-centric soit accompagnée d’une stratégie FinOps, afin de mettre en place des outils et des pratiques de gestion des coûts permettant une visibilité sur les dépenses. De plus en plus, la décomposition de la plateforme en workspaces ou warehouses dédiés permet une ventilation ad hoc et une responsabilisation des acteurs (notamment par le plafonnement de leurs engagements).

Nos experts vous accompagnent dans la réussite de vos projets data

Cloud Computing

L’exploitation des données a évolué avec la mise en place du Cloud Computing. Cela impacte tant l’architecture technique que logicielle :

Toutes ces évolutions reposent sur les offres des hyperscalers, qui proposent un écosystème élastique complet et prêt à l’emploi.
Les bénéfices sont technologiques : l’orchestration des conteneurs (dockers), la virtualisation des ressources et des plateformes pour les provisionner, etc.
Cette offre est mondialisée, garantissant un meilleur respect de la sécurité et des temps de réponse, et couvre toutes les attentes : stockage, ingénierie, middleware, data science, selon tous les niveaux de service : IaaS, PaaS ou SaaS.

Les trois grands acteurs dominent le marché : Amazon Web Services, Google Cloud et Microsoft Azure, sans oublier IBM Cloud, Oracle Cloud et même Alibaba Cloud.

La baisse des coûts de stockage et la réduction des coûts de calcul jouent également en faveur de cette approche, en particulier lors de la phase de lancement. Cependant, il est crucial d’évaluer le degré d’agnosticisme technologique des solutions hébergées sur chacune de ces offres et de mettre en place un pilotage des coûts (FinOps).

Data Storage

L’évolution des coûts de stockage et de calcul a profondément modifié le paysage des technologies de traitement des données. La baisse des coûts de stockage a permis l’adoption généralisée de solutions de stockage massives et flexibles, sur des technologies diverses (HDFS, stockage objet, etc.), poursuivant des objectifs tantôt analytiques, tantôt opérationnels. En parallèle, la réduction des coûts de calcul a favorisé l’émergence de technologies de traitement rapide et en temps réel, influençant ainsi les choix de solutions de gestion des données.
Ces changements ont permis aux entreprises de gérer des quantités massives de données avec une efficacité accrue.

Le choix d’un repository de données dépend des exigences spécifiques de l’application et/ou de l’organisation. Des critères tels que le modèle de données, la scalabilité, la performance, la consistance (ACID vs BASE), et le coût jouent un rôle crucial dans la détermination du repository le mieux adapté aux besoins en matière de stockage et de traitement des données.
Cependant, une architecture se conçoit sur la base d’une politique d’urbanisation globale afin de mutualiser les ressources, tant matérielles qu’humaines. Elle doit tenir compte de l’existant (dette technique ?) et des innovations technologiques en cours pour maximiser les avantages tout en maîtrisant les dépenses.

Haute disponibilité

Les plateformes de données concentrent des objectifs d’analyse et opérationnels.
Dans ce contexte, la haute disponibilité et la disponibilité des données sont devenues deux concepts incontournables pour maintenir des opérations transparentes, fournir des services ininterrompus et se protéger contre la perte de données.

Haute disponibilité (HD)

L’objectif de la haute disponibilité est de minimiser les temps d’arrêt et de maintenir une disponibilité continue du service, même en cas de panne matérielle ou logicielle.
La haute disponibilité se mesure à travers le niveau de service demandé par les métiers et mis en œuvre par les architectes.
Elle peut être assurée par le déploiement de redondances matérielles et logicielles, ainsi que par des mécanismes de répartition des charges (Load Balancing) et de basculement automatique (Failover).
Devant la complexité d’un tel dispositif, les solutions de Cloud Computing et les logiciels en SaaS apparaissent comme une réponse, car elles déchargent l’entreprise de compétences et de tâches qui ne sont pas liées à son core business.

Disponibilité des données

Cette exigence est moins connue, alors qu’elle fait référence à l’accès aux données des utilisateurs dans de bonnes conditions techniques : éviter la perte, la corruption ou l’inaccessibilité.

Un ensemble d’actions permet d’atteindre cet objectif :

Sécurité et encryptage

Dans les architectures de données étendues, la répartition, la distribution et la réplication des données à de nombreux endroits rendent les défis de protection des données particulièrement complexes. Plusieurs réponses existent :

Rappelons que ces enjeux de sécurité et d’encryptage sont cruciaux pour répondre aux exigences de conformité et de confidentialité des solutions déployées dans le Cloud (qui peuvent aller jusqu’à la certification SecNum). La propriété des clés de cryptage est l’une des réponses les plus fortes à ces exigences, même si la multiplicité des clés n’est pas toujours compatible avec une infrastructure multi-tenant.

Le Finops

FinOps est une approche collaborative de la gestion des coûts du cloud, visant à optimiser les dépenses en alignant les budgets sur les priorités métiers et les niveaux de service attendus.

Une stratégie FinOps nécessite l’intégration de technologies complémentaires pour maximiser son efficacité, notamment l’observabilité et l’élasticité. L’observabilité permet une anticipation et un dispositif d’optimisation des performances, associé à la mesure de l’utilisation des ressources Cloud. Couplée à l’élasticité, elle permet d’ajuster dynamiquement les ressources en fonction des variations de la demande.

La mise en place d’une stratégie FinOps comporte des défis auxquels il est important de prêter attention :

Notons également que des évaluations de coûts sont attendues avant la mise en place et pour le choix des technologies. L’exercice de modélisation/simulation des coûts en phase projet est souvent difficile et doit faire l’objet d’un effort particulier.