La page d’accueil du site Web Woot.com évolue en permanence. Chez Woot, le site d’origine des offres quotidiennes, fondé en 2004 et acquis par Amazon en 2010, de nouvelles offres spéciales sur l'électronique, les vêtements et les équipements de plein air, les équipements sportifs, les articles ménagers et autres produits sont proposées tous les jours, parfois toutes les 30 minutes.
En 2018, la société a également décidé qu'il était temps de changer le backend du site. Plus précisément, Woot souhaitait abandonner son ancien entrepôt de données basé sur Amazon Relational Database Service (RDS) pour Oracle Database et passer à une solution d'entreposage de données native cloud sur Amazon Web Services (AWS).
L'ancien entrepôt engendrait un certain nombre de difficultés pour l'entreprise : le besoin de créer de nouveaux pipelines personnalisés chaque fois que des sources de données étaient ajoutées, ce qui prenait parfois des semaines ; un processus de requête lourd qui signifiait que certaines requêtes ayant une valeur potentielle finissaient par être ignorées ; et la nécessité de restreindre l'accès des utilisateurs à l'entrepôt de données de façon stricte, car cet accès se trouvait dans le compte AWS de production de l'entreprise.
Désormais, Woot exploite un entrepôt de données sans serveur basé sur Amazon Kinesis Data Firehose et Amazon Simple Storage Service (Amazon S3) pour l’ingestion et le stockage de données. L'entreprise utilise AWS Lambda pour orchestrer AWS Glue pour la planification des tâches ETL et les tâches de gestion de métadonnées. Amazon Athena et Amazon QuickSight offrent des requêtes et une visualisation de données puissantes et conviviales, même pour les utilisateurs sans connaissances SQL. Et tout cela se trouve dans un compte d'entrepôt de données distinct, entièrement séparé du compte de production de l'entreprise.
Compte tenu de la gamme d'options disponibles auprès d'AWS pour obtenir, gérer et obtenir des informations à partir des données, comment Woot a-t-il choisi sa solution ? La réponse peut se résumer ainsi : en écoutant ses clients, et dans ce cas précis, en consultant les nombreuses catégories d'employés qui dépendent de l'entrepôt de données pour garantir une expérience exceptionnelle aux clients de Woot.
« Je voulais que ce projet soit une véritable force au sein de Woot », explique Chaya Carey, ingénieur de données chez Woot et seul employé responsable de la gestion de l'entrepôt de données de l'entreprise. « Avec le délai serré que nous devions respecter, il était tentant de se contenter de réunir une liste des exigences et de les exécuter sans s’inquiéter de l’éventuelle dette technique. Au lieu de faire cela, nous avons passé beaucoup de temps à réfléchir aux utilisateurs de l'entrepôt de données, aux difficultés auxquelles ils étaient confrontés et à la raison pour laquelle ils avaient besoin d'utiliser les données. »
Carey s'est inspiré de ces conversations pour élaborer un objectif pour le nouvel entrepôt de données : passer à un modèle de responsabilité partagée pour les données, ce qui éliminerait la nécessité de créer ou de modifier des pipelines personnalisés pour chaque nouveau service ou changement de service. « Je voulais que les services envoient des données à l'entrepôt de données et que ces données soient acceptées en minimalisant les interventions requises », dit-elle. « Mais je devais trouver un moyen simple de transmettre des données correspondant aux compétences existantes des développeurs. »
Carey a trouvé une solution prête à l'emploi en faisant en sorte que les développeurs utilisent des kits de développement logiciel (SDK) AWS pour les différents langages de programmation et plates-formes utilisés chez Woot pour envoyer des données au flux de diffusion Kinesis Data Firehose de l'entrepôt.
« Au lieu de créer une tâche par lots pour envoyer des données à partir d'un service, tous les développeurs doivent maintenant ajouter un appel d'API qui pousse les données vers le point de terminaison Firehose », explique Carey. « Kinesis Data Firehose a rendu le modèle de responsabilité partagée beaucoup plus facile à accepter pour nos développeurs. Ce fut une grande victoire pour la migration, car nous avons éliminé le temps de latence que nous subissions jusqu'alors à l’ajout de nouveaux services ou l’adaptation des changements aux services existants. »
En choisissant Amazon Athena et QuickSight pour l'interrogation et la visualisation des données, Woot a grandement facilité la tâche de nombreux employés, y compris les comptables, les analystes financiers, les analystes d'inventaire, les gestionnaires de fournisseurs et les représentants du service client, qui ont besoin d'informations de l'entrepôt de données Woot pour travailler mais qui ne possèdent pas de compétences en science des données ou n'ont pas le sens des affaires.
« Les requêtes de la solution précédente impliquaient d'ouvrir un ticket, d'obtenir l'approbation du responsable avant de recevoir un mot de passe valable uniquement pendant 90 jours. En plus de cela, il fallait comprendre SQL pour rédiger une requête », explique Carey. « Désormais, en utilisant Amazon QuickSight, n'importe qui peut créer des graphiques et d'autres visualisations par simple glisser-déposer, sans aucune connaissance SQL. Pour les employés qui ont besoin de plus de contrôle, il est possible d’envoyer des requêtes via la console Athena, mais, encore une fois, aucune connaissance SQL n'est nécessaire. »
Le processus de requête est non seulement plus simple, mais les requêtes elles-mêmes prennent également beaucoup moins de temps. « Chaque utilisateur à qui nous avons parlé nous a dit à quel point les requêtes étaient plus rapides dans Amazon Athena », explique Carey. « Nous entendons également que des requêtes qui étaient auparavant trop complexes s'exécutent sans problème sur Athena, ce qui signifie que les gens sont en mesure de répondre à encore plus de questions qu'auparavant. »
Les outils AWS de la nouvelle solution sont tellement conviviaux qu’un nombre croissant d'employés adoptent une approche en libre-service pour répondre aux questions. « Les gens sont tellement impressionnés par les visualisations qu'ils peuvent créer dans QuickSight qu'ils recherchent de plus en plus de façons de l'utiliser », explique Carey. « Nous n'avons que quatre employés BI, et auparavant, le nombre de demandes qu’ils devaient traiter dépassait largement leur capacité. Désormais, les employés n’ayant pas de compétences techniques peuvent utiliser Amazon QuickSight pour obtenir eux-mêmes des informations. Les ressources BI Woot peuvent ainsi consacrer plus de temps à des projets stratégiques. »
D'après Carey la migration a non seulement réglé les problèmes de la solution précédente, mais elle a également parfaitement préparé Woot pour le test de nombreux autres outils et services disponibles sur AWS, et tout cela en économisant de l’argent ! « En optant pour une solution d'entrepôt de données sans serveur AWS, nous avons réduit les coûts d'exploitation de notre entrepôt de données de près de 90 % », explique Carey. Elle est également heureuse d'annoncer que, grâce à l'architecture sans serveur de la nouvelle solution, elle a finalement pu prendre trois semaines de vacances sans être dérangée une seule fois !
Carey renchérit : « Le fait que l'entrepôt de données soit désormais dans son propre compte et stocke tout dans Amazon S3 me permet, ainsi qu'à nos ingénieurs BI, d’intégrer et d’explorer facilement d’autres technologies, telles qu'Amazon Elastic MapReduce, Amazon SageMaker et Amazon Redshift Spectrum. Nous sommes vraiment enthousiastes à l’idée de découvrir ce que l’avenir nous réserve. »
Pour en savoir plus, consultez aws.amazon.com/what-is/data-warehouse/.