Dans les coulisses

Team BlackJack : le roc du Black Friday

Dominik Bärlocher
30/11/2018
Traduction: traduction automatique
Photos: Thomas Kunz

Une équipe s'est distinguée lors du Black Friday. BlackJack a misé gros, a beaucoup travaillé et est sorti d'une défaite pour devenir le grand vainqueur de la soirée. Un aperçu du travail des ingénieurs en fiabilité de site.

"Le Cyber Monday était facile", dit René Zweifel, chef d'équipe de l'ingénierie de la fiabilité du site chez Digitec Galaxus, "mais nous avons un peu tremblé pendant le Black Friday"
.
Car c'est dans la nuit de jeudi à vendredi qu'une année de travail a dû faire ses preuves. Dans l'interview de mardi matin, une fois que tout est terminé, René se dit fier. Lui et son équipe - "et toute l'ingénierie en général" - ont fait du bon travail. Les statistiques sont impressionnantes
.

  • Total des temps d'arrêt du Black Friday : 4 minutes
  • Total downtime Cyber Monday : 0 minutes
  • Pic : 24 000 sessions utilisateurs par minute

"Nous sommes contents. Parce qu'après le Black Friday 2017, nous devions nous dire 'non... juste non' et ensuite passer derrière les livres."

Le jour d'après

Samedi 25 novembre 2017, l'ingénierie vient d'essuyer une défaite cuisante. Digitec.ch et Galaxus.ch ont été hors ligne pendant un peu plus de 2 heures et 40 minutes, malgré la déconnexion d'à peu près tous les systèmes qui n'étaient pas absolument nécessaires pour les achats sur les serveurs. Mais pas d'un seul coup : "Parfois, nous étions tantôt en ligne, tantôt hors ligne toutes les minutes". Résultat : personne ne s'amusait. Vous n'avez pas eu vos bonnes affaires, la gestion des produits n'a pas eu son chiffre d'affaires et l'ingénierie - tout le monde était d'accord - n'a pas fait son travail.

Le chef d'équipe René Zweifel a créé Team BlackJack
Le chef d'équipe René Zweifel a créé Team BlackJack

C'est entre autres de cette situation qu'est née Team BlackJack. Le chef d'équipe René Zweifel a créé la nouvelle équipe et a cherché des personnes pour l'aider dans sa nouvelle mission : Site Reliability Engineering. Leur travail consistait dès lors à s'assurer que digitec et Galaxus restent en ligne, quoi qu'il arrive.

"Après l'affaire du Black Friday, c'était une tâche assez importante", dit René.

Mais lui et ses cinq coéquipiers n'ont pas baissé les bras. Bien sûr, le système de cache Redis a sauvé la version 2017 de Black Friday, mais cela n'a pas suffi à BlackJack. Ils ne voulaient plus rien laisser au hasard.

"L'infrastructure aurait dû être entièrement remplacée à de nombreux endroits", explique René.

Les commutateurs, les routeurs et tous les autres éléments du réseau auraient tous dû être jetés à la poubelle, les clusters réseau également. Un réseau dédié aurait dû être mis en place. Et ainsi de suite. Cela aurait coûté infiniment plus d'argent.

L'alternative : le transfert vers le cloud.

"Cela ne coûte que 'presque infiniment', c'est donc moins cher que d'avoir sa propre infrastructure", dit René en riant. René a un rire rustique, contagieux et sincère. Le jeune homme barbu aux cheveux courts réfléchit un instant avant de dire : "C'était peut-être une histoire, je te dis"
.
Il passe sur l'histoire détaillée et dit "... Fin mai 2018, le processus était terminé. Ensuite, il y a eu une bière."

Et avant la bière, on s'est rendu compte que les systèmes étaient désormais en fait extensibles à l'infini, d'où la preuve du Black Friday. En théorie.

Isomorphe en octobre

Pour que la charge sur les serveurs reste aussi faible que possible malgré la nouvelle infrastructure, BlackJack et les équipes de la boutique en ligne ont travaillé sur un front-end isomorphe. Cela signifie qu'une partie du code interprété et calculé sur digitec et Galaxus se passe sur votre ordinateur, et non sur le serveur. Pour cela, le nombre de requêtes envoyées au monolithe a été réduit grâce à node.js et GraphQL. "Donc, je dois admettre : BlackJack n'a fait que poser le défi. Ce sont toujours d'autres équipes qui ont implémenté", dit René en riant.

L'équipe BlackJack agit rapidement et de manière agile
L'équipe BlackJack agit rapidement et de manière agile

"Toute la boutique n'est pas encore isomorphe. Seulement les parties qui sont importantes pour des jours comme le Black Friday."

L'implémentation a eu lieu à partir du mois de mai. Le Black Friday 2018 était sur le point d'arriver. René et son équipe entament la dernière phase de l'année de développement : les tests de charge. Le nouveau système les a passés les uns après les autres. Néanmoins, BlackJack a travaillé selon le système "bombarder et optimiser" et a peaufiné le système ici et là.

600% pour le Black Friday

Enfin, pour le Black Friday, BlackJack a fait monter en gamme son système. Les load balancers passent de 4 à 6, les serveurs de boutique fonctionnent sur 30 processeurs de 16 cœurs chacun au lieu de 8 processeurs octacore. Les clusters Kubernetes seront également massivement mis à l'échelle, tout comme de nombreuses autres fonctionnalités.

"A minuit, nous fonctionnions à 600% des performances du système", déclare René. La fierté transparaît dans sa voix. Mais ce n'était pas le BlackJack seul. Car dans la nuit de jeudi à vendredi, comme l'année précédente, des ingénieurs de toutes les équipes sont présents et sur appel. René lui-même est affecté à la deuxième équipe, à partir de 7 heures du matin, mais il est chez lui, devant un ordinateur portable, à observer la situation. "Il se peut qu'ils aient besoin de moi."

De nombreux ingénieurs font de même. Dès que le "Battle Log" est mis à jour avec les dernières informations de la salle de guerre de l'ingénierie, des e-mails et des SMS arrivent, dans lesquels des ingénieurs noctambules offrent leur aide et leurs conseils. C'est un chef-d'œuvre d'interaction.

Mais peu après minuit, on se rend compte qu'il n'y a pas de stress.

"Nous sommes loin d'avoir utilisé les 600%", déclare fièrement René. Et ce, bien que le trafic sur les pages soit plus important que jamais. Les utilisateurs assaillent le site de commandes et de commentaires, mais les serveurs tiennent bon.

Le lendemain du Cyber Monday, René, vêtu d'un t-shirt rouge, est assis dans un fauteuil du salon de la Pfingstweidstrasse. Il est détendu et aime parler des Engineers. Les mails élogieux de la direction ont joué leur rôle. Mais René ne veut pas se reposer sur ses lauriers. Son équipe non plus.

Les deux échecs du Black Friday

BlackJack n'enregistre pas un succès à cent pour cent. Ce sont surtout les quatre minutes de downtime qui préoccupent René.

"C'est encore trop, mais nous pouvons facilement les réduire de moitié", dit-il.

Quand on lui demande, il indique que deux des quatre minutes étaient dues à un outil appelé Queue it. Cet outil promet de créer une sorte de "salle d'attente numérique". Mais la chose aurait échoué sur toute la ligne.

"Nous étions déjà impressionnés. Mais pas pour la raison que les développeurs souhaitent", dit René et un sourire se dessine sur son visage, "nous avons été impressionnés par la rapidité avec laquelle Queue-it nous a mis à genoux. Cela n'a pas duré trois secondes."

Lors du Cyber Monday, Queue-it n'a plus été utilisé. Combiné à la baisse du trafic, cela a permis de ne jamais mettre les pages hors ligne. C'est ce qu'il appelle un succès. Il admet toutefois que cela peut être dû à une erreur d'implémentation de Queue-it, et pas nécessairement à l'outil lui-même. L'enquête est toujours en cours.

Il reste cependant deux minutes que lui et le reste des BlackJacks doivent éliminer. Elles sont dues au failover, le retour à une configuration antérieure, de 00h57. Les ingénieurs ont alors réinitialisé une base de données à une configuration antérieure. La raison : trop d'achats de PlayStation et d'AirPod en même temps. Heureusement, les données perdues lors du basculement n'étaient pas des données d'achat confirmées, mais des données attribuées à des utilisateurs qui avaient essayé à plusieurs reprises d'effectuer des achats à partir de différents appareils. Cette surcharge de la base de données a provoqué des dommages par éclatement et, à la fin, il ne restait plus grand-chose pendant quelques secondes. Le basculement a cependant permis de régler la situation pour le reste de la nuit.

René se tourne vers l'avenir avec BlackJack. Il y a beaucoup à faire. Car si quatre minutes peuvent paraître peu, les éradiquer demandera des mois de travail. Et BlackJack, René en est sûr, y parviendra.

Mise à jour 30/11/2018 // 12:45

L'équipe BlackJack recherche d'ailleurs des renforts.

Cet article plaît à 68 personne(s)


User Avatar
User Avatar

Journaliste. Auteur. Hackers. Je suis un conteur d'histoires à la recherche de limites, de secrets et de tabous. Je documente le monde noir sur blanc. Non pas parce que je peux, mais parce que je ne peux pas m'en empêcher.


Informatique
Suivez les thèmes et restez informé dans les domaines qui vous intéressent.

Ces articles pourraient aussi vous intéresser

  • Dans les coulisses

    Black Friday Week : nos serveurs sont prêts à l’attaque

    par Noah Waldner

  • Dans les coulisses

    Black Friday Week 2024 : toute l’actu de Digitec Galaxus

    par Jana Pense

  • Dans les coulisses

    Lego et iPhone : les plus fréquentes recherches de la clientèle

    par Manuel Wenk

28 commentaires

Avatar
later