Repenser son socle data pour mieux servir les différents cas d'usages, en particulier dans le BtoB. Telle est la trajectoire suivie par le groupe Cdiscount, relatée par Julien Dulout, le directeur data engineering de sa filiale technologique, Peaksys, lors de la matinée Data for Breakfast organisée par l'éditeur Snowflake le 12 avril 2023.
Acteur historique du e-commerce français, créé fin 1998, Cdiscount revendique aujourd'hui 20 millions d'utilisateurs uniques par mois, avec des pics à 1000 commandes par minute lors du Black Friday. Au fil du temps, le groupe s'est diversifié vers les marchés interentreprises, à travers plusieurs filiales BtoB, parmi lesquelles Octopia sur les marketplaces, C-Logistics sur la logistique et les marques Cdiscount Advertising dans le marketing digital et Baleen sur la cybersécurité. Pour mieux répondre aux attentes de ces nouveaux métiers sur l'exploitation des données, de même qu'à la hausse des besoins analytiques au sein des activités e-commerce du groupe, Peaksys a décidé de repenser son socle data.
Convergence vers un socle unique
En 2018, l'entreprise a réalisé un schéma directeur data avec un double objectif : donner de l'agilité et de la liberté aux utilisateurs et simplifier les usages et la gouvernance des données. Mais en matière de données, le groupe ne partait pas d'une feuille blanche. Depuis 2005, année de la mise en place d'un premier entrepôt de données sous SQL Server, Cdiscount avait, en effet, déployé plusieurs systèmes successifs pour stocker des données. « Nous avions une plateforme par cas d'usage. Pour la BI, le socle était le datawarehouse, tandis qu'Hadoop alimentait les applications de data science et d'analyse du trafic, avec près de 600 To de données. Enfin, nous avions une autre base RTime pour l'animation commerciale du site », décrit Julien Dulout. Cet existant hétérogène présentait plusieurs inconvénients, notamment la redondance des données, avec par exemple des commandes figurant dans les trois bases. Le passage à l'échelle était difficile, la charge de maintenance accrue et le coût des projets se voyait multiplié par trois. Enfin, ce legacy entraînait une complexité d'usage pour les utilisateurs finaux, « qui ne savaient pas très bien où aller chercher des données, ni comment s'y prendre », selon le directeur data.
À la suite du schéma directeur, Peaksys choisit de faire converger ces trois grandes bases vers un socle unique, optant pour la plateforme cloud de Snowflake. Avant le déploiement, l'équipe chargée du projet prend soin de réfléchir à la manière de stocker les données. « Notre objectif était d'en faciliter l'accès », souligne Julien Dulout. Dans ce but, Peaksys décide de classer les données par grands « silos » ou domaines métiers, dans une architecture de type data mesh. « Chaque information entrante arrive dans un domaine métier », décrit Julien Dulout. Mais ces données doivent également être gouvernées. Pour cela, l'équipe a opté pour la solution de catalogue open source DataHub. Elle a également créé un nouveau rôle de data owner. « Les propriétaires des données sont au nombre d'un ou deux par domaine. Ils forment le point d'entrée de chaque silo et sont les garants des règles de gestion des données, de validation et de calcul des KPI. Ils valident également les accès à ces données », décrit le directeur data.
Des capacités dédiées par cas d'usage
À chaque silo correspondent quatre schémas dans Snowflake. Le premier gère la collecte des données, avec un premier niveau d'uniformisation et d'harmonisation de la sémantique, pour faire en sorte par exemple qu'une product ID soit la même partout. Le second schéma, « smart data », sert au raffinage et à la consolidation des données. Un troisième schéma permet d'assurer la conformité au RGPD. « Les données personnelles des clients sont toutes hachées par défaut. Afin de respecter les principes d'isolation, des schémas spécifiques gèrent la correspondance entre les données hachées et les autres, avec des droits d'accès différents, gérés via des rôles dans Snowflake », explique le directeur data. Enfin, un dernier schéma sert de bac à sable pour les usages exploratoires (data lab). En contrepartie, la durée de vie des données est limitée à six mois. « À l'issue de ce délai, on doit savoir si l'expérimentation débouche sur une industrialisation et un projet. Dans le cas contraire, nous supprimons les tables », précise Julien Dulout.
La plateforme a été mise en place en 2019, avec de premiers cas d'usage autour de la visualisation de données sous Power BI. D'autres cas d'usage ont suivi, notamment sur la data science, le chargement et la transformation des données (Peaksys étant en cours de déploiement de dbt), les tests et le développement, les requêtes SQL ad hoc ou encore les usages externes. « Nous utilisons des entrepôts virtuels dédiés par cas d'usage, en y associant des capacités de traitement, car compute et stockage sont dissociés dans la solution. Ainsi, il n'y a pas de concurrence d'accès entre usages », précise Julien Dulout. « Le plus important pour nous était de pouvoir nous concentrer sur les nouveaux cas d'usage et la maîtrise de nos coûts », ajoute-t-il.
Grâce aux indicateurs fournis par la solution, Peaksys peut piloter ses coûts de façon fine, jusqu'à la requête utilisateur. « Nous avons construit un tableau de bord Power BI pour suivre ces informations », indique Julien Dulout. Au fur et à mesure du déploiement des cas d'usage, la plateforme a commencé à remplacer le datawarehouse historique de Cdiscount, puis la plateforme Hadoop. Dans l'architecture actuelle, Snowflake reçoit des données via deux grands modes : en batch ou en streaming pour les connexions temps réel. En sortie, elle alimente en streaming des applications de reporting, ou encore de data science, ainsi qu'une nouvelle pratique : le data sharing (partage de données sécurisé).
Le data sharing au service de la stratégie
Ce dernier aspect de partage de données occupe une place importante dans la stratégie du groupe, comme l'explique le directeur data. « Il fallait une plateforme data pour les nouvelles entités du groupe, dans le respect de la muraille de Chine entre nos filiales ». Pour répondre à cet enjeu et permettre au groupe de développer ses activités BtoB, l'équipe a mis en place une organisation multitenant, avec une vraie étanchéité. « Nous avons dupliqué la plateforme et créé des comptes Snowflake avec des rôles précis pour chaque entité. Monter de telles plateformes avec une telle granularité de droits ne prend que quelques heures, grâce aux capacités de duplication de la solution », précise Julien Dulout. « Pour que les différentes plateformes communiquent entre elles lorsque c'est nécessaire, nous avons mis en place des capacités de data sharing, sans duplication des données, ni besoin de construire des flux ETL. Par exemple, nous pouvons partager des données logistiques vers la plateforme de C-Logistics. Nous partageons aussi des données avec nos partenaires, comme Floa pour le paiement fractionné », illustre le directeur data.
Maintenant que Peaksys dispose d'un socle data unifié, les projets ne manquent pas. « Notre objectif est d'apporter de la valeur à nos clients BtoB externes et à nos vendeurs, à travers de nouveaux services. Le data sharing représente vraiment un accélérateur pour nous sur le BtoB », confie ainsi Julien Dulout. L'équipe teste également l'API Snowpark, destinée aux traitements de données à l'échelle, afin d'augmenter les performances de ses algorithmes et d'offrir une meilleure expérience à ses vendeurs marketplace, en leur proposant des indicateurs consolidés en temps réel, directement dans les interfaces web.
Cdiscount Peaksys réorganise ses fondations data autour de Snowflake
0
Réaction
En 2019, Peaksys, la filiale technologique du groupe Cdiscount, a décidé de faire converger différentes bases de données historiques autour d'un socle unique, optant pour la plateforme cloud de Snowflake. Julien Dulout, directeur data engineering chez Peaksys, a partagé son témoignage sur cette démarche lors d'une matinée organisée par l'éditeur.
Newsletter LMI
Recevez notre newsletter comme plus de 50000 abonnés
Commentaire