L'indice était le disque, pas la connexion

Les premiers signalements sont apparus vers 23h10 heure de la côte est le 26 juillet, selon le suivi de Microsoft elle-même, et lundi matin la page d'état de Xbox signalait quatre domaines de service en panne majeure : compte et profil, boutique et abonnements, jeux, et applications et mobile. Xbox Support a indiqué sur son canal officiel que les utilisateurs rencontraient des erreurs en tentant de se connecter, de voir leur bibliothèque de jeux ou de lancer des jeux, et que les ingénieurs travaillaient activement à atténuer le problème. À 9h43 heure de la côte est, l'entreprise déclarait avoir identifié la cause dans les quatre domaines, la résolution restant en attente.

Downdetector a situé le pic à 3 296 signalements vers minuit, en repli à environ 700 à neuf heures du matin, 67 pour cent des plaintes citant expressément le lancement des jeux et non la connexion ni la boutique. Cette répartition est le premier indice. S'il s'était agi d'une simple défaillance de réseau ou d'authentification, la connexion aurait dominé les signalements.

Le détail décisif est ce qui a cessé de fonctionner par ailleurs. Les joueurs touchés ne pouvaient pas lancer les titres téléchargés, et ils ne pouvaient pas non plus jouer aux jeux sur disque ni aux titres rétrocompatibles. Un disque dans le tiroir est ce qu'un logiciel peut être de plus local. Il a échoué parce que les serveurs ne pouvaient pas achever la vérification de licence qu'un disque exige avant de démarrer. Ce n'était pas une panne de réseau qui a incidemment gêné des joueurs. C'était une panne de droits d'usage, et le disque en est la preuve.

Votre disponibilité est la plus faible de deux valeurs

Tout produit qui vérifie une licence au lancement hérite de la disponibilité de celui qui effectue la vérification. Il vous reste donc une disponibilité effective égale au minimum de deux nombres : celle de votre application et celle de votre service de droits d'usage. C'est une arithmétique simple et elle ne figure presque jamais sur un tableau de bord, car la logique des droits est en général bâtie une fois, tôt, par une petite équipe, puis traitée comme de la plomberie.

Le schéma dépasse largement les consoles. Un logiciel de bureau avec un appel d'activation, des systèmes installés sur site qui interrogent un nombre de licences, des appareils embarqués qui valident au démarrage, des machines industrielles dont des fonctions dépendent d'un abonnement, tout produit dont le chemin de connexion repose sur un microservice de licence distinct : tous ont la même forme. Le client possède les fichiers. Ce qui lui manque, pendant une panne, c'est la permission de les exécuter.

Ce mode de défaillance est en outre particulièrement nuisible à la confiance, car il contredit ce que le client croit avoir acheté. Une panne sur un service de diffusion en continu est agaçante mais lisible. Ne pas pouvoir lancer un jeu depuis un disque qui vous appartient, sur une console posée devant vous, ressemble à une promesse rompue. Cette réaction n'est pas irrationnelle, et en Europe elle n'est pas seulement une réaction.

Dans l'Union européenne, une interruption qui se répète cesse d'être un désagrément

La directive européenne relative aux contrats de fourniture de contenus numériques et de services numériques fixe ici la norme, et elle est plus stricte que ne le supposent la plupart des équipes produit. Lorsqu'un contrat prévoit une fourniture continue sur une période, le contenu ou le service numérique doit être conforme pendant toute la durée de cette période. Le professionnel répond de tout défaut de conformité qui apparaît pendant la période de fourniture, et pas seulement de l'état au moment de la vente.

La directive traite ensuite les pannes de front. Les interruptions brèves de la fourniture doivent être traitées comme des cas de défaut de conformité lorsque ces interruptions ne sont pas négligeables ou lorsqu'elles se répètent. Lisez cette clause en gardant ce week-end à l'esprit : c'était la deuxième panne Xbox en deux jours, et une panne du PlayStation Network était survenue quelques jours plus tôt. Le seuil ne porte pas uniquement sur la durée d'un incident isolé. La répétition est une voie autonome vers la même conclusion, et c'est exactement le piège pour un service qui connaît de courtes défaillances fréquentes plutôt qu'une longue.

Lorsqu'un défaut de conformité est établi, le consommateur a droit à la mise en conformité du service et, à défaut, à une réduction proportionnée du prix ou à la résiliation du contrat. Savoir si une panne donnée franchit cette ligne relève des circonstances de fait, et une grande plateforme l'absorbera. Ce qui compte pour un opérateur plus petit, c'est que cette analyse existe, et que ce sont vos revenus d'abonnement qui y sont exposés.

Le test à mener cette semaine sur votre propre produit

Commencez par un inventaire plutôt que par un débat d'architecture. Recensez chaque point de votre produit où une action du client attend un appel à votre infrastructure pour obtenir une permission et non une donnée : activation, validation de postes, drapeaux de fonctionnalité, rafraîchissement des droits, battement de licence. Pour chacun, écrivez en langage clair ce que voit le client lorsque cet appel échoue. Les équipes sont souvent surprises, car le chemin d'erreur a été écrit il y a des années par quelqu'un qui est parti depuis.

Corrigez ensuite les deux choses qui coûtent peu. Donnez à chaque vérification de licence un délai de grâce hors connexion, afin qu'une défaillance passagère se dégrade en attente et non en blocage, et dimensionnez ce délai pour couvrir une mauvaise nuit et non une mauvaise minute. Deuxièmement, surveillez le service de droits d'usage comme une dépendance propre, visible du client, dotée de sa propre alerte, et publiez son état là où les clients peuvent le voir, car pendant une panne c'est l'absence d'information qui transforme l'agacement en résiliation.

Microsoft aura récupéré avant le déjeuner et ne perdra rien de durable. Un éditeur de logiciels européen de taille moyenne, doté d'une base d'abonnés et d'une vérification au lancement, n'a pas ce coussin. La leçon d'architecture est gratuite cette semaine, ce qui est la façon la moins chère de l'apprendre.