Twitter prospère grâce aux partages, non seulement au sein de la plate-forme de médias sociaux, mais à partir de liens partenaires partout sur Internet. Sauf le lundi, la plupart de ces liens ont cessé de fonctionner.
Pendant environ une heure, toute personne tentant de partager des articles récemment publiés sur Twitter a reçu un message d’erreur clairement destiné aux développeurs :
C’était un peu comme si Twitter informait les éditeurs qu’ils ne payaient pas leur facture d’eau et qu’ils ne pouvaient donc pas publier de liens sur le réseau social.
Qu’est ce qui ne s’est pas bien passé?
Nous n’avons pas eu à attendre trop longtemps pour que le PDG de Twitter, Elon Musk, nous explique. En réponse à un tweet de l’ancien fondateur de Netscape et capital-risqueur bien connu, Marc Andreessen, soulignant que quatre des cinq principales tendances de Twitter concernaient Twitter, Musk a tweeté : « Un petit changement d’API a eu des ramifications massives. La pile de code est extrêmement fragile pour aucune bonne raison. Il faudra finalement une réécriture complète. «
Un petit changement d’API a eu des ramifications massives. La pile de code est extrêmement fragile sans raison valable. Aura finalement besoin d’une réécriture complète.6 mars 2023
Ce tweet apparemment lucide devrait cependant être une cause d’inquiétude. Musk affirme que la pile de code (essentiellement une pile massive de programmes qui fonctionnent tous ensemble pour créer l’ensemble de Twitter) est fragile et a besoin d’une réécriture. Ce qu’il omet de mentionner, c’est que parmi les milliers d’employés de Twitter qu’il a licenciés depuis novembre, un bon nombre d’entre eux étaient des ingénieurs et, il est sûr de supposer, certains étaient dans ce qu’on appelle l’AQ ou l’assurance qualité.
Généralement, si vous envisagez d’apporter tout type de modification de code à un site Web, un service en ligne ou une application, l’assurance qualité le teste sur une copie hors ligne de la plate-forme. De cette façon, ils garantissent que les mises à jour, aussi petites soient-elles, n’auront pas d’impact négatif sur l’environnement en direct.
Le concept est connu sous le nom de « production », le site ou le service en direct, par opposition à la « mise en scène », un environnement identique au direct, mais qui ne peut être ni vu ni touché par les utilisateurs. Vous exécutez votre nouveau code ou fonctionnalité via la mise en scène, un groupe de testeurs QA applique un ensemble de scénarios connus (peut-être qu’ils lancent un cas limite ou deux) et tant qu’il n’y a pas de drapeaux rouges, la mise à jour est poussée de la mise en scène à la production .
Twitter, qui a vu sa fiabilité globale baisser (de la mise hors ligne à l’apparition et à la disparition inattendue de fonctionnalités) depuis que Musk a pris le relais, peut recevoir ses mises à jour d’une manière différente.
Musc aime tester les fonctionnalités en production (s’ouvre dans un nouvel onglet) (le site en direct). En conséquence, il continue de se heurter à des conséquences imprévues.
Il y a un certain désaccord sur l’existence ou non d’une équipe d’assurance qualité Twitter.
Certains prétendent qu’il en existe un, mais Musk s’impatiente et met ensuite en ligne du code non testé.
D’autres insistent sur le fait qu’Elon Musk est arrivé sur Twitter et a découvert que Twitter n’avait pas d’équipe d’assurance qualité et qu’il était depuis longtemps dans l’habitude de diffuser du code non testé en direct. Cela semble cependant hautement improbable.
J’ai demandé à Musk directement sur Twitter si la mise à jour de l’API a été testée en staging avant d’être poussé en direct et mettra à jour ce message s’il répond.
N’assume jamais
L’hypothèse qu’il a faite ici, selon laquelle un petit changement d’API aurait peu d’impact sur le site, était médiocre. Et pourtant, Musk ne comprend toujours pas qu’il le fait mal.
Tester des fonctionnalités de toutes sortes sur une version en direct d’une plate-forme complexe comme Twitter entraînera inévitablement des bugs et des plantages.
La réécriture de la pile de code résoudra-t-elle tout cela ? Peut-être, mais très peu de plates-formes restent aussi propres qu’elles l’étaient au lancement et même si la réécriture est robuste et parfaite, des mises à jour fréquentes et de nouvelles fonctionnalités testeront cette stabilité.
Tant que Musk refuse de tester complètement ce qu’il lance avant de le lancer, il n’y a aucun scénario dans lequel Twitter échappe aux temps d’arrêt réguliers.
Il s’agit d’une solution simple, Elon, faites de l’assurance qualité une partie incontournable du pipeline de développement et épargnez-vous, ainsi qu’à nous, beaucoup de maux de tête. Ou continuez à le faire à votre façon parce que ça marche tellement, tellement bien.