Un monitoring « haute couture » pour le champion du luxe à petit prix Vestiaire Collective
Positionné sur un marché de la revente d’articles de luxe en train d’exploser, le français Vestiaire Collective refond son architecture technique afin d’aller vers le cloud et les microservices. Une évolution sous l’œil des outils de mesure de performance de New Relic.
Dans la mouvance économie circulaire, le marché des produits de seconde main est appelé à doubler dans les dix prochaines années pour atteindre un pactole de 64 milliards de dollars. La revente de produits de luxe de seconde main pèse déjà 22 milliards de dollars et il compte déjà un champion, le français Vestiaire Collective.
Créé en 2009, cette plateforme réunit une communauté de 7,5 millions de membres. Vestiaire Collective est présent en Europe, Amérique du Nord, Hong-Kong, Singapour et en Australie et le site connaît un fort accroissement d’activité que la plateforme technique doit absorber. « Nous sommes avant tout une entreprise technique qui gère des flux, qui numérise l’ensemble des données qui transitent par la plateforme », résumait Patrick Hermann, CTO de Vestiaire Collective lors de l’événement Paris Retail Week 2019.
« La mission qui m’a été confiée par Maximilian Bittner, notre CEO, est désormais d’accélérer notre migration technologique. Depuis 10 ans que Vestiaire Collective existe, les technologies et plateformes ont évolué de façon considérable. Avec seulement 15 développeurs, nous avons accumulé de la dette technologique. Maintenant que cette équipe technique a été multipliée par 5, l’idée c’est d’accélérer notre migration vers les microservices et casser un monolithe qui est compliqué à maintenir ».
Une nouvelle organisation et une nouvelle architecture pour gagner en agilité
Une nouvelle organisation agile a été mise en place sur le modèle de Spotify avec des tribus, des Squads et des chapitres. En outre, l’équipe a retravaillé l’architecture de la plateforme afin de mieux la découper en modules fonctionnels et les faire correspondre au périmètre business de chaque Squad : « chaque Squad fait ses propres choix de technologies pour développer sa pile technologique. La plupart vont évidemment vers les microservices, mais l’idée c’est bien que chaque Squad expose ses fonctionnalités via ce que nous appelons des macro-services ».
Outre cette évolution de l’architecture logicielle de la plateforme, Vestiaire Collective migre peu à peu ses serveurs bare-metal vers le cloud public. Les problématiques de disponibilité et de la capacité de montée en charge de l’infrastructure sont bien évidemment essentielles dans l’activité de revente de dressing : « Nous avons une exigence de disponibilité en 24/7 et nous devons surtout être en capacité de montée en charge à tout moment de la journée car nous pouvons très bien avoir un événement à New-York et à Sidney le même jour.». Le choix du cloud public semblait donc logique et c’est finalement vers AWS que Vestiaire Collective s’est tourné pour mener à bien cette migration. Celle-ci est facilitée par la mise en œuvre de conteneurs Docker et actuellement, environ 50 % de la plateforme a effectivement migré vers le cloud Amazon.
Le monitoring, une clé du succès pour le E-Commerce
Dans cette modernisation, une attention toute particulière est accordée au volet performances. Le CTO veut garantir la même expérience à tous les membres de Vestiaire Collective dans le monde. Il pousse son équipe à optimiser en permanence les performances de la plateforme en surveillant les temps de réponse et la stabilité du service partout dans le monde.
Pour Patrick Hermann, la clé du succès de la stratégie d’internationalisation de Vestiaire Collective passe par un monitoring permanent de la santé de la plateforme: « nous devons collecter suffisamment d’informations et monitorer leurs évolutions afin de pouvoir prendre les bonnes décisions. C’est une vision que nous appliquons côté business avec une équipe Data qui accompagne les métiers avec des métriques très détaillées et notre idée est de suivre exactement la même approche sur le volet technique ».
Pour le CTO, cette approche repose sur en 3 piliers, avec tout d'abord la surveillance de la performance stricto sensu. Il s’agit de mesurer les temps de réponse des serveurs et, de la base de données, suivre en temps réel le nombre de connexions par seconde. Le deuxième pilier de cette surveillance, c’est s’assurer de la stabilité de la plateforme : « si la plateforme s’écroule, nous n’engrangeons plus de chiffre d’affaires. Il faut absolument que la plateforme reste en ligne et, de fait, l’application mobile New Relic est devenue mon application de chevet ».
Ainsi, Patrick Hermann garde un œil en permanence sur la disponibilité de la plateforme Vestiaire Collective. Son équipe IT doit être en capacité de réagir très rapidement en cas d’incident afin de rétablir la plateforme : « nous avons défini des métriques afin d’évaluer la santé de la plateforme et des seuils au-delà desquels les alertes sont générées. Nous devons nous assurer que chaque composant de la plateforme est stable d’un point de vue atomique, mais aussi veiller à cette stabilité au niveau global ».
Le résolutions des incidents doit descendre jusqu’au niveau de la méthode
Le troisième pilier de l’approche prônée par Patrick Hermann va au-delà de cette surveillance, mais vise à améliorer la compréhension d’une sous-performance ou d’un incident : « j’estime qu’il est stratégique pour Vestiaire Collective de pouvoir descendre dans le détail des événements qui surviennent sur la plateforme. Nous devons explorer les interdépendances entre les macro-services délivrés par l’architecture, et lequel est à l’origine de l’indisponibilité ou de la baisse de performance générale de la plateforme. Nous devons pouvoir descendre jusqu’au niveau de la méthode pour comprendre ».
Patrick HermannCTO, Vestiaire Collective
Pour le CTO, il faut pouvoir établir rapidement le lien direct entre le bug constaté en production et le code source de l’application elle-même. La solution New Relic permet ainsi de savoir quelle méthode et quelle partie du code source est à l’origine de l’incident mais aussi fournir les données de contexte au développeur pour que celui-ci puisse reproduire l’erreur et la corriger dans les meilleures conditions. « C’est une approche que nous résumons chez New Relic sous le terme d’observabilité », précise David Grosperrin, Senior Account Manager chez New Relic : « c’est ainsi que l’on peut contrôler, comprendre et agir et être alerté sur tout ce qui survient sur la plateforme ».
Si Vestiaire Collective utilise les outils New Relic depuis 5 ans maintenant, le Français a multiplié par 6 le nombre d’instances surveillées par New Relic et l’équipe de Patrick Hermann utilise quotidiennement la solution APM afin de surveiller les incidents et les performances de la plateforme communautaire : « nous utilisons intensivement le plug-in MySQL New Relic sur notre base de données MariaDB qui est au cœur de notre architecture. Nous exploitons aussi la solution New Relic Infrastructure afin de compléter nos données avec des informations relatives à la charge des CPU, l’occupation mémoire de nos instances et encore le nombre de connexions sur un serveur, ou le nombre de requêtes par minute. Ces informations sont importantes pour nous afin de comprendre si une baisse de performance s’explique par un problème matériel ou logiciel ». Ces données permettent notamment à l’équipe d’exploitation de paramétrer au plus juste les fonctions d’Autoscaling des instances AWS.
Enfin, des écrans ont été disposés dans l’open space de l’équipe technique sur lesquels le dashboard New Relic est projeté en permanence. Dès qu’un indicateur passe au rouge, c’est l’alerte générale, l’équipe technique doit interrompre son travail pour corriger au plus vite l’alerte.
Du monitoring à l’optimisation du code
Outre cette problématique d’exploitation, l’équipe technique de Vestiaire Collective exploite New Relic pour perfectionner les performances de son code. Un chantier d’optimisation des performances techniques de la plateforme a été lancé afin d'améliorer les temps de réponse pour l’utilisateur final. Patrick Hermann explique la démarche : « New Relic APM nous permet de comprendre à partir de l’API sollicitée par le client quels sont les différents services et modules business de la plateforme qui sont sollicités. Cela nous permet d’établir un ordre de priorité sur ceux qui devaient être optimisés ».
Cette approche très pragmatique a permis à l’équipe technique de diviser les temps de réponse de la plateforme d’un facteur 3 à 4 sur certains services. Les données délivrées par New Relic ont permis à l’équipe de prioriser ses efforts de développement et obtenir des gains significatifs en quelques semaines seulement. Au-delà de la surveillance, du monitoring et de l’alerting, New Relic est devenu un véritable outil d’aide au développement et d’évolution de la plateforme pour Vestiaire Collective.