Pour la plateforme mondiale de référence en matière de luxe, les pannes et les temps d'indisponibilité ne sont pas concevables. Manuel Garcia, ingénieur principal chez farfetch.com, explique comment lui et son équipe de plus de 130 ingénieurs se préparent au Black Friday grâce à l'observabilité.

Comme de nombreux commerces de détail, FARFETCH se prépare déjà à l'une des plus grandes journées d'achats de l'année. Sur cette plateforme technologique de pointe pour l'univers de la mode de luxe, l'expérience du client doit être non-stop. Le Black Friday ne doit faillir en aucun cas à cette règle d'or.

En effet, ce jour-là, des millions de clients écument leurs sites préférés à la recherche de bonnes affaires sur des articles exclusifs. Selon Adobe Analytics, en 2020, les achats en ligne effectués pendant le Black Friday ont augmenté de 22 % pour atteindre le chiffre record de 9 milliards de dollars (USD), et le trafic sur farfetch.com a triplé.

En tant qu'ingénieur principal, je suis chargé du domaine de l'ingénierie pour farfetch.com. J'ai pour responsabilité de préparer la saison des ventes, ce qui comprend l'analyse et la l'élaboration de toutes les opérations afin d'éviter toute panne grave ou tout temps d'indisponibilité. Voici comment mon équipe se sert de l'observabilité pour se distinguer des autres pendant le Black Friday.

Tout commence sous l'écran

Pour le Single's Day, le Black Friday et le Cyber Monday, toute l'expérience des clients sur farfetch.com se déroule sous l'écran de verre de leur ordinateur de bureau, navigateur ou téléphone portable. Nous examinons tout à travers cette interface majeure.

Pendant cette période chargée, mon équipe d'ingénieurs travaille d'arrache-pied 24 heures sur 24 et 7 jours sur 7 pour détecter et résoudre les problèmes de manière proactive avant que les clients ne soient impactés. Cela signifie que nous devons concevoir nos investissements en logiciels, infrastructure et cloud à l'échelle nécessaire, tout en assurant l'efficacité, la disponibilité et les performances indispensables à une expérience client optimale.

Au cœur de tout ce que nous faisons chez farfetch.com, il nous faut des logiciels robustes, ce qui n'est pas une mince affaire. Pour préparer notre site à recevoir un trafic trois fois plus important pendant les fêtes de fin d'année, nous avons besoin d'une bonne collaboration interéquipes et, surtout, des informations nécessaires pour pouvoir adapter notre infrastructure et y ajouter de nouveaux services et fonctionnalités. Nous devons assurer la croissance de l'entreprise sans compromettre l'expérience des clients.

Notre équipe est ambitieuse. Nous voulons faire mieux que l'année dernière, mais aussi nous améliorer et dépasser les attentes. New Relic joue un rôle déterminant dans la réalisation de ces objectifs et nous permet de nous assurer que notre saison de vente est un vrai succès.

Planifier, tester, observer, recommencer

Développé sur une architecture de microservices, farfetch.com appartient à un système complexe. En effet, ce type d'architecture s'appuie sur un réseau de centaines de microservices, de nouvelles fonctions et d'analyses d'entrée/sortie pour garantir que nos clients auront la meilleure expérience possible pendant le Black Friday. Mais souvent ces services en aval utilisent des technologies différentes, sont développés par d'autres personnes et ont des comportements distincts lorsque le système subit une charge élevée.

À cela viennent s'ajouter d'autres complications : nous gérons d'énormes stocks de données sur plusieurs sites géographiques et dans différents datastores. Ces données doivent être rapidement traitées, comprises et exploitées. Ensuite, notre plateforme peut pivoter en fonction du trafic, du comportement des clients et des besoins de l'entreprise.

Nous avons développé notre plateforme sur Microsoft Azure pour contrer certains de ces problèmes, ce qui nous donne l'agilité nécessaire pour évoluer en fonction du trafic lors du Black Friday. Nous faisons également tourner nos équipes pour monitorer chaque partie de la plateforme 24 heures sur 24 et 7 jours sur 7, et nous répartissons les responsabilités entre les différents services. Mes équipes d'ingénieurs gagnent ainsi en autonomie et nous nous assurons en même temps que toutes les facettes de notre site sont couvertes pour le jour J.

Toutefois, notre approche du Black Friday n'est pas seulement réactive. En effet, un des éléments essentiels à notre préparation commence plusieurs mois avant cette grande journée et se focalise sur l'exécution de très nombreux tests, révisions, contrôles et mises à l'épreuve du système.

Je travaille avec toute mon équipe pour examiner les alertes et les délais d'attente qui se produisent avant cette grande journée. Nous essayons d'assurer nos arrières en incluant toutes les solutions de secours ou de redondance nécessaires dans notre architecture. Ce plan d'urgence peut s'avérer une véritable bouée de sauvetage lors d'une journée très chargée. Nous effectuons des exercices de simulation en cas d'événement majeur sur la plateforme, nous exécutons des tests de charge, nous recherchons les faiblesses et nous créons des rapports sur les différents microservices avec l'aide considérable de New Relic. 

Nous créons également des données dans New Relic pour monitorer notre résilience. Nous pouvons ainsi voir toute détérioration ou indisponibilité d'un service, et quand les disjoncteurs sont ouverts/fermés. Mieux encore, nous pouvons monitorer la charge que nous créons sur d'autres services et savoir si nous devons désactiver des fonctionnalités afin de préserver la meilleure expérience utilisateur possible. 

Nous réalisons également des gels de code pour stabiliser la plateforme au mieux. Cela permet à mon équipe d'avoir une vue claire et une réplication de la plateforme les jours de fort trafic, afin que nous puissions rapidement anticiper et résoudre les problèmes avant qu'ils n'impactent les utilisateurs. 

Une vue imprenable

Les bons dashboards et la vue claire de la plateforme qui sont à notre disposition sont des outils précieux, tant pour mon équipe d'ingénieurs que pour les différentes parties prenantes auxquelles nous rendons des comptes. Au cours des 24 derniers mois, nous avons travaillé d'arrache-pied pour que cela soit possible.

Nous avons développé un plan d'observabilité (plateforme de programmation) pour zoomer sur les différentes performances des datacenters, ce qui nous permet d'avoir une vue d'ensemble parfaite. Nous avons également créé des dashboards satellites afin que mon équipe dispose d'informations claires et exploitables pour monitorer nos microservices et les navigateurs de nos utilisateurs pendant le Black Friday. Les dashboards permettent également à nos principales parties prenantes de voir comment notre site a géré les périodes de fort trafic, de revenus élevés et de hauts risques, comme le Black Friday.

L'observabilité et New Relic sont intégrés à farfetch.com et à la façon dont nous gérons notre site. Ainsi, nous pouvons suivre les signaux importants, tels que les temps de réponse et les taux d'erreur, et obtenir une vue d'ensemble de ce qui se sur tous les microservices et marchés stratégiques. 

New Relic est un outil que mon équipe d'ingénieurs utilise tous les jours, et pas seulement pour le Single's Day, le Black Friday ou le Cyber Monday.