D’ailleurs, on parle désormais de « data legacy » ou de système hérité. C’est-à-dire qu’il répond encore aux besoins pour lesquels il a été conçu à l’origine … mais il ne fera jamais rien de mieux à l’avenir ! Il ne permet pas d’interagir avec d’autres systèmes (problématiques des silos de données), il est difficilement évolutif en termes de fonctionnalités, il n’intègre pas les dernières avancées technologiques, il manque de performance et il est par ailleurs très coûteux à maintenir et à faire évoluer. Combien d’entreprises ont encore du Business Objects, du Cognos et du SAS pour ne citer que ces solutions de Business Intelligence emblématiques des années 2000 ?
POURQUOI C’EST COMPLIQUÉ D’AVOIR UNE DATA STACK MODERNE ?
Il est en effet souvent compliqué de se moderniser et de migrer vers des technologies plus modernes même si c’est globalement inéluctable en raison de :
- Les solutions ne sont plus supportées par les éditeurs (plus de mises à jour)
- La sécurité n’est plus au rendez-vous car ces anciens systèmes ne sont plus conformes aux normes actuelles en termes de protection des données
- L’utilisation d’anciens langages de programmation est problématique car peu de personnes les maîtrisent ou ils ont été mal documentés
- Vos données sont cloisonnées et ne peuvent pas s’interfacer ou être exploitées par d’autres systèmes
- La conformité règlementaire est compromise voire impossible (RGPD notamment) avec la traçabilité et l’accès immédiat aux données, la gestion du cycle de vie, la tenue des registres, etc.
Téléchargez le livre blanc sur la data observability
PARTONS DONC DU POSTULAT QUE VOUS AVEZ DÉCIDÉ DE MODERNISER VOTRE DATA STACK !
Il faut dire que les technologies de la data sont particulièrement actives en termes d’innovations que ce soit dans le domaine des outils d’ETL (indispensables pour les phases de migration, de reprise et de transformation des données si vous voulez moderniser votre système data…), de l’ingénierie de la data, dans les frameworks de traitement des données, …
Voici notre sélection des outils et des technologies à suivre.
1. Le cloud
Déjà, premier élément différenciant majeur : une data stack moderne est hébergée dans le cloud, elle demande donc beaucoup moins de ressources (matérielles comme humaines) et elle est beaucoup plus « user friendly ».
2. Les sources de données
Aujourd’hui, vous le savez, elles sont par nature volumétriques et de différents formats, structurées, non structurées, semi-structurées. Elles peuvent donc venir de datawarehouses, d’objets connectés, d’autres applications (API), etc.
Celles-ci peuvent être déclenchées par événements. Les sources de données sont peuvent désormais produire en temps réel de nouvelles informations qui doivent être captées.
3. Les Data Processing Framewoks gèrent donc la transformation des données.
Il existe beaucoup de Frameworks de transformation des données (dont l’historique MapReduce dont on ne parle presque plus). Certains sont orientés par tâches (Luigi, Airflow) ou par types de données. Aujourd’hui, ils réalisent des calculs in-memory (Apache Spark, Apache Flink) et du streaming temps réel avec des frameworks comme Storm. Certains font uniquement du traitement par batch (Dagster), d’autres par flux et certains les deux.
4. Les ETL/ELT et autre reverse ETL
Cela ne vous a pas échappé, les ETL de nouvelle génération ont beaucoup évolué face aux anciens qui ne prenaient en charge que les data bases transactionnelles et les entrepôts de données ! Ces outils sont utilisés pour ingérer, transformer et stocker les données traitées dans le système cible dont vous avez besoin. Ils fonctionnent désormais dans le cloud pour se connecter, exécuter les différentes tâches et les traiter en temps réel. La différence entre ETL, ELT et Reverse ETL fera l’objet d’un article à part entière ! Mais disons rapidement que l’ELT permet plus d’évolutivité car il garde les données à l’état brut pour pouvoir les exploiter dans le temps. La transformation se fait directement dans le nouveau système cible alors que, dans le cas d’un ETL, elle s’opère avant. Les données sont donc structurées lors du chargement dans l’entrepôt cible. Un Reverse ETL est une solution plus souple (nouvelle brique) dédiée à la synchronisation des données avec vos différentes applications métiers (notamment le CRM). Au niveau des outils, nous vous recommandons de regarder les solutions proposées par Hightouch, Census, Fivetran, Stitch, Matillon, dbt, Glue Jobs (AWS) et bien entendu les incontournables Talend et Informatica.
5. Le stockage de vos données
De la même manière, il y a aujourd’hui beaucoup plus d’alternatives de data warehousing en fonction de vos besoins spécifiques : OLAP, OLTP, data lake, data lakehouse, etc. Évidemment, vous pouvez toujours utiliser des entrepôts de données traditionnels qui restent très performants comme Oracle et Terradata mais il existe des alternatives dans le cloud, hautement disponibles et avec une scalabilité inégalée … qui ont l’intérêt de se mettre en place en quelques heures ! Ils prennent en charge des centaines de sources de donnés dans des formats très divers en des temps records. Pour nous, les incontournables sont Snowflake, Azure Synapse Analytics et Azure SQL Database, Amazon Redshift et Google BigQuery.
Les data lakes quand à eux peuvent être sur site ou dans le cloud. Ils peuvent stocker tous les formats de données, brut ou traités, quelle que soit la nature de leur structure pour les traiter ultérieurement. On les utilise dans un contexte big data. Ils ont l’intérêt d’offrir une vue exhaustive aux data scientists sur tout le « stock » de données. Ils utilisent une puissance de calcul et des technologies intégrées qui permettent de traiter directement les données dans le data lake. En solutions, on retrouve Azure, AWS et bien entendu la solution de Databricks et ses fonctionnalités avancées en machine learning.
6. La visualisation des données
Dans ce domaine, les reportings et autres tableaux de bords statiques ont pris également un coup de vieux ! Maintenant, ils sont aussi basés dans le cloud et se générèrent à la volée et en temps réel. Peu importe l’infrastructure qui est derrière, ils se connectent à de multiples sources internes comme externes. Cette brique est particulièrement importante car c’est elle qui donne du sens aux données et de l’autonomie aux utilisateurs pour qu’ils prennent des décisions en connaissance de causes (sans passer des heures dans leurs fichiers Excel …). Historiquement, on retrouve les solutions de Tableau, PowerBI, Microstrategy et Qlik mais nous vous invitons à regarder de plus près les solutions proposées par Looker (Google), Quicksight (AWS), redash et Sisense.
7. La qualité des données
Dans cette brique particulière, nous n’abordons pas les outils spécifiques de Data Quality (DQM, MDM) mais bien la phase de tests sur la qualité des données délivrées aux utilisateurs. Aujourd’hui, il existe des outils d’automatisation des tests qui permettent de vérifier la qualité sur de très larges data sets en production, et ce dans un temps réduit. Citons des outils comme GreatExpectations (utilisé par ailleurs dans la qualité logicielle / QA) ou Amazon DeeQu.
8. Les outils d’orchestration, indispensables en ingéniérie des données
L’orchestrateur contrôle le pipeline de données et assure sa bonne exécution
C’est la brique indispensable de monitoring des travaux mis en production. Citons des outils comme Airflow (Apache), Luigi mais aussi plus récemment Databricks Notebook et la plateforme open source MLFlow pour orchestrer des phases MLOps dans le cas notamment d’utilisation de jeux de données très volumineux.
9. Le catalogue des données ou data catalog
C’est l’inventaire de vos données qui organise vos actifs informationnels et vous permet de les gérer. C’est le référentiel qui vous permet d’unifier et d’harmoniser toutes les métadonnées. Historiquement, ce sont les ingénieurs data qui utilisaient les catalogues de données pour mieux identifier et comprendre les données. Aujourd’hui, les outils modernes permettent d’automatiquement explorer, découvrir, profiler, organiser, analyser, documenter vos données pour les rendre facilement consultables par toutes les applications ou les ressources qui vont les exploiter. Ils gèrent aussi la gouvernance des données. Citons dans cette brique des solutions comme Smartlogic, Glue Catalog (AWS), Collibra, Alation et toujours Informatica qui a su garder sa longueur d’avance en ce domaine.