« Confluent propose la solution idéale : un écosystème d'outils qui permet de sourcer et de collecter des informations à partir de flux de données. Nous avons pu mettre en place des pipelines de données flexibles, et rationaliser notre infrastructure pour réduire nos coûts. »
Dima Kalashnikov
Technical Lead, Picnic
Actuellement présent en France, aux Pays-Bas et en Allemagne, Picnic est le supermarché en ligne qui affiche la croissance la plus rapide du marché européen. Afin de garantir les prix les plus bas à ses clients, l'entreprise a choisi d'appuyer son processus décisionnel sur les données. Chaque semaine, Picnic traite plus de 300 millions d'événements uniques issus d'applications client (soit des applications de shopping) et de systèmes internes afin d'alimenter des analyses prédictives au sein de son entrepôt de données.
La croissance fulgurante de Picnic, qui découle de la demande des consommateurs, de la reconnaissance du secteur et d'une levée de fonds en série B, a souligné la nécessité de trouver une plateforme de streaming de données plus performante et plus fiable, ainsi que de meilleures capacités d'analyse des flux de données. Picnic s'est alors tourné vers Confluent.
Le défi
Deux pipelines de données à croissance rapide
Picnic dispose de deux pipelines de données principaux. Le premier concerne l’application destinée aux clients, qui recueille des données sur le comportement des utilisateurs (notamment par rapport à l’utilisation des produits et l'étape de paiement). Picnic analyse ces données pour déterminer comment améliorer les recommandations de produits et l'interface utilisateur de l'application.
Le deuxième pipeline traite les données destinées aux systèmes de back-end internes, ce qui permet d'optimiser l'entrepôt de données, le traitement des paiements, le suivi de la disponibilité des produits et bien plus encore. Il permet à Picnic de planifier l'approvisionnement, de rationaliser les opérations au sein de ses entrepôts, et de garantir une expérience client positive en livrant les bons produits rapidement.
Picnic, qui utilisait AWS Kinesis pour ces pipelines de données, a rencontré des problèmes au fur et à mesure de sa croissance, notamment :
Une incapacité à stocker les données pendant plus d'une semaine. Les possibilités de relecture et de récupération sont essentielles pour permettre à Picnic de corriger rapidement les événements mal formés ou les défaillances du pipeline, mais aussi pour réaliser des traitements de flux complexes.
Pour permettre un flux de données en douceur vers d'autres systèmes sans avoir à créer des services clients à partir de zéro, Picnic devait s'appuyer sur un vaste outillage autour de ses pipelines de données.
Enfin et surtout, Picnic a eu besoin de la sémantique « Exactly-Once » pour certains cas d'utilisation tels que l'évaluation dynamique des règles commerciales.
Solution technique
Mise à l’échelle facile et flexibilité des données
L'équipe de Picnic s'est donc mise à la recherche d'une solution qui lui permettrait de résoudre tous les problèmes évoqués ci-dessus : Confluent Cloud, basé sur Apache Kafka©.
Picnic a entièrement revu l'architecture des pipelines de données, ce qui a conduit à une grande simplification de ses pipelines de services internes et à un traitement plus efficace des données clients.
En passant à Confluent, Picnic a très rapidement constaté les avantages suivants :
L'entreprise peut stocker les données dans Confluent aussi longtemps qu'elle le souhaite grâce à la fonctionnalité de stockage illimité de Confluent, qui s'applique à la fois au volume et à la période de rétention.
Confluent offre un riche écosystème de connecteurs préconfigurés, entièrement gérés et prêts à l'emploi, tout en éliminant la charge opérationnelle associée à leur maintenance.
La sémantique « Exactly-Once » est enfin possible grâce à Kafka et aux connecteurs entièrement gérés de Confluent.
Auparavant, toutes les données provenant de RabbitMQ étaient envoyées via un seul flux Kinesis, ce qui faisait peser la charge de la séparation des événements sur l'entrepôt de données et entravait l'évolutivité.
Désormais, Picnic utilise des connecteurs pour RabbitMQ afin de transférer les données de RabbitMQ vers les topics Kafka de Confluent Cloud. L'entreprise s'appuie ensuite sur des connecteurs de réception entièrement gérés pour charger les données de manière transparente dans Snowflake et Amazon S3 en vue d'une analyse plus approfondie par les équipes de science des données. Picnic utilise également la fonction de prévisualisation des données de Confluent sur des connecteurs entièrement gérés pour aider à réitérer et tester la sortie d'un connecteur avant de l'écrire en production.
Cette nouvelle configuration a permis une plus grande évolutivité et l'établissement de flux de données homogènes. Elle a également bénéficié des connecteurs gérés de Confluent, qui ont permis à Picnic de surveiller plus facilement les API pour des solutions comme Prometheus.
Résultats
Architecture simplifiée, économies d'argent
Réduction des coûts d'infrastructure : « Nos économies prévisionnelles se sont améliorées de 40 %, et l'optimisation des coûts est l'un des effets les plus marquants de Confluent chez Picnic », a déclaré Dima Kalashnikov, Responsable technique chez Picnic.
Une architecture IT simplifiée : « Le pipeline des services internes est passé de cinq services gérés à un seul, et le nombre de services maintenus a diminué de 40 % sur l'ensemble des services gérés », a déclaré M. Kalashnikov.
Meilleure surveillance de l'infrastructure permettant d'améliorer les SLA : D'après M. Kalashnikov, « grâce à la façon dont Confluent a simplifié notre infrastructure, nous avons pu améliorer nos SLA sur la livraison des données et éviter toute perte de données, ce qui est un SLA de taille pour nous. »
Quelle est la prochaine étape?
À l'avenir, Picnic prévoit d'exploiter ksqlDB dans de nouveaux cas d'utilisation pour l'analyse de flux (comme l'alimentation de tableaux de bord de reporting en temps réel), le streaming ETL, et les recommandations en temps réel basées sur le comportement de l'utilisateur.
Picnic souhaite également améliorer la livraison des données vers et depuis son centre de traitement automatisé, et créer une plateforme en libre-service pour la livraison des données via des systèmes de déploiement automatisés pour les pipelines basés sur Confluent. Le but de ce projet est de livrer des données d'un centre de traitement automatisé vers un entrepôt de données pour en faciliter l'analyse en conjonction avec d'autres données disponibles.
Lancez-vous sur Confluent dès aujourd'hui
Pour toute inscription, recevez 400 $ à dépenser sous 30 jours.