“Modernité : Qualité de ce qui est ou qu’on juge moderne, de ce qui témoigne des transformations, des évolutions de l’époque présente, est caractéristique d’un esprit nouveau, de goûts nouveaux, répond aux désirs, aux attentes du moment.”

C’est à partir de cette définition que je vais tenter de dessiner les contours de ce qu’est et de ce que n’est pas une Modern Data Stack.

Par “stack data”, entendez “l’ensemble des outils et pratiques qui permettent de travailler sur ce matériau qu’est la donnée”. 

Modern Data Stack : Ce qu'elle n'est pas 

Commençons par des exemples de ce que n’est pas une modern data stack, chacun issu de mon expérience.

  • Votre SI stocke des données avec des dénominations techniques à propos de vos utilisateurs pour des raisons techniques.
  • Vous disposez d’une flotte de fichiers excel (quand ce ne sont pas des pdf) dont vous copiez-collez le contenu dans un dernier fichier excel pour faire comptabilité et ceci tous les mois.
  • Votre base de données est bientôt pleine. Par chance vous l’avez remarqué à temps car, par hasard ce matin, vous en avez vérifié la taille. Vous lancez en urgence une augmentation de la taille, occasionnant par là une interruption de service d’une durée indéterminée.
  • Votre base de données est inaccessible car trop d’utilisateurs ont lancé des requêtes en même temps. Pas de chance, les suivants devront attendre.

Ce que je vois dans ces exemples ?

  • de la pénibilité récurrente
  • de la perte de temps
  • des coûts importants en terme d’infrastructure
  • un manque de vision

Modern Data Stack : Réduire la pénibilité et maximiser la valeur

L’arrivée des modern data stack a permis à la fois de s’éviter des problèmes purement techniques, réduisant in fine les coûts induits, mais surtout de donner la valeur qui est la sienne à la data.

Je vais dans un premier temps vous décrire ce que doit faire une Modern Data Stack en évitant le jargon technique, qui viendra dans un second temps.

Modern Data Stack : La finalité de la donnée

Commençons le chemin de la data par la fin d’une modern data stack : que ce soit pour devenir data-driven via des dashboards, pour créer un produit autour de la data, ou calculer des nouveaux modèles de Machine Learning, la finalité de la data est son activation. Elle est donc là pour servir les besoins business.

Modern Data Stack : Transformer la donnée pour qu’elle soit activable

Pour être activable, la donnée doit être conforme aux besoins business. Pour ce faire, elle doit avoir subi des transformations techniques d’une part - car elle n’arrive pas directement sous la forme désirée, de la même manière qu’un objet doit être manufacturé avant d’obtenir sa forme finale - et faire l’objet d’observabilité afin d’en garantir la qualité, et de gouvernance afin que seules personnes autorisées y aient accès de la bonne manière. En effet, qui a envie que son porte-monnaie tombe entre de mauvaises mains dépensières ?

Modern Data Stack : L’acheminement et le stockage des données

Pour pouvoir être transformée, la donnée doit déjà avoir été acheminée depuis ses multiples sources, d’où elle a été extraite, puis stockée, généralement dans un entrepôt de données ou un lac de données. Que ce soit en continu ou par intermittence, cela se fait sous le contrôle d’un orchestrateur.

À en lire ces mots, on pourrait croire que l’on parle de l’extraction de matière première pour nos smartphones ou nos vêtements, mais non : il s’agit simplement des différentes étapes qui constituent une modern data stack.

Modern Data Stack : Le jargon expliqué

Une modern data stack est composée d’outils pour effectuer les tâches suivantes :

  • L’ingestion des données est composée de l’extraction et du chargement des données. Cette étape est réalisée par un EL ou Extract Load, à savoir un outil qui fait transiter les données brutes dans des pipelines depuis une ou plusieurs sources, et les charge dans une destination finale, souvent un entrepôt de données ou un lac de données (respectivement data warehouse ou data lake).
  • Transformation et re-stockage : via un outil dédié ou accolé à l’EL - on parle alors d’ELT pour Extract Load Transform. Elles passent de données brutes à données raffinées, avec une valeur business, qui vont être stockées dans des magasins de données (ou data mart) pour être utilisées par la suite. L’outil de référence pour effectuer la data transformation est dbt (Data Build Tool)
  • Orchestration des étapes précédentes afin de choisir quand les effectuer et dans quel ordre. Certains orchestrateurs, appelés DAG (Directed Acyclic Graph,comme Airflow), permettent de choisir l’ordre des tâches et d’attendre que l’une soit réalisée pour lancer la suivante.
  • Tout au long de l'ingestion et de la transformation des données, l'observabilité en garantit la fraîcheur, la complétude, la validité, la clarté, et donc l’utilisabilité. Dbt permet de réaliser des tests génériques et spécifiques, et également de documenter la donnée. D’autres outils SaaS permettent de faire de même, comme comme Semarchy xDI ou Talend
  • Mise à disposition des données raffinées dans des environnements dédiés,souvent des environnements de Business Intelligence via des dashboards dans des outils comme Looker ou Power BI. De plus, si une couche sémantique (voir plus bas) a été mise en place, les données peuvent même être mises à disposition en libre service pour pourvoir les besoins d’analyse des utilisateurs (ce que l’on appelle le self-service analytics), ceux-ci passant de consommateurs de la donnée à acteurs de la donnée.

Modern Data Stack : Les principes modernes

Une modern data stack se base sur des principes actuels :

  • Architecture Cloud : afin d’en permettre facilement la mise à l’échelle (ce qu’on appelle le scaling) sur deux dimensions : verticale pour augmenter la puissance de calcul, et horizontale, pour augmenter le nombre d’utilisateurs qui peuvent y accéder en parallèle. Les architectures modernes permettent de faire cela sans interruption de service, de garantir le Service Level Agreement (SLA), et, en conséquence, de réduire les coûts en infrastructures, et maintenir en état d’usabilité à tout instant.
  • Data centralisée et orientée business : La centralisation signifie que les différentes sources ont été réunies dans un même endroit, qu’il soit entrepôt ou lac de données. L’orientation business signifie de garder à l’esprit que les données vont être utilisées, ne sont donc plus des objets techniques, mais des objets que des personnes non-techniques vont manipuler. Il est ainsi possible - voire conseillé - de leur donner une valeur sémantique. Cela peut être fait via une couche sémantique (appelée généralement semantic layer).
  • Modularité des outils utilisés afin de pouvoir les choisir à la carte et selon ses besoins. On peut tout à fait commencer avec une stack composée de Talend comme ELT, qui va déverser les données dans BigQuery, et profiter de la gestion des droits d’accès IAM de la Google Platform, puis ajouter dbt pour la transformation et Snowflake pour l’infrastructure de mise à disposition des données.

Modern Data Stack : Vers le Data As A Product

Finalement, une modern data stack, c’est le choix de se simplifier la vie en étant cost-efficient et visant la valorisation de la donnée. C’est également la liberté d’être agnostique au niveau des technologies choisies afin qu’elles remplissent très exactement nos besoins. C’est enfin la possibilité de considérer la donnée non plus comme un objet technique, mais comme un produit : le data-as-a-product.

Vous souhaitez bénéficier d'experts ou d'un accompagnement sur votre projet data ? Rendez-vous sur la page Contact.