The Abstention Protocol: RCA for Clos Fabrics
Cet article introduit CoreSec, un système de production d'analyse des causes racines pour les architectures Clos à grande échelle qui remplace la fusion instable basée sur des scores par une algèbre d'abstention déterministe de type PAM afin de parvenir à une attribution des défaillances stable, explicable et monotone dans des environnements de télémétrie bruités.
Article original sous licence CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/). Ceci est une explication générée par l'IA de l'article ci-dessous. Elle n'a pas été rédigée ni approuvée par les auteurs. Pour une précision technique, consultez l'article original. Lire la clause de non-responsabilité complète
Dans l'architecture vaste et bourdonnante de l'informatique en nuage moderne, les données ne circulent pas à travers un seul tuyau, mais à travers un réseau étendu et multicouche de connexions. Imaginez une ville où chaque bâtiment est connecté à un commutateur de quartier local, qui lui-même se connecte à un concentrateur de district, lequel se lie enfin à une colonne vertébrale centrale. Cette structure, connue sous le nom de tissu Clos, permet à des millions de serveurs de communiquer entre eux avec une vitesse et une redondance incroyables. Si un chemin est bloqué, le trafic en trouve simplement un autre. Grâce à cette conception, le système est incroyablement résilient ; il peut absorber des milliers de petits incidents aléatoires chaque jour — comme un câble desserré, une lumière vacillante ou un bref hoquet logiciel — sans que l'utilisateur moyen ne s'en aperçoive jamais. Cependant, ce bruit de fond constant crée un problème profond pour les ingénieurs qui assurent le fonctionnement du système. Lorsqu'un service spécifique échoue pour un client, le système s'illumine de centaines d'avertissements. Le défi n'est pas de trouver les pièces défectueuses, mais de déterminer laquelle de ces nombreuses pièces cassées est réellement la cause de la panne spécifique.
Pendant des années, la méthode standard pour résoudre cette énigme consistait à attribuer un score à chaque signal d'alerte. Si un câble présentait un nombre élevé d'erreurs, il recevait un score élevé. Si un commutateur redémarrait, il recevait un score. Le système additionnait ces scores, et l'entité ayant le total le plus élevé était tenue responsable du problème. Cette approche fonctionnait assez bien lorsque le réseau était calme, mais dans un environnement hyperscale, elle échouait souvent. Parce qu'il y a toujours un certain bruit de fond, le système trouvait fréquemment un « coupable » même quand rien n'allait vraiment, ou blâmait le mauvais appareil parce que les scores étaient trop proches pour trancher. Les ingénieurs ont constaté qu'essayer d'affiner ces scores pour corriger un type d'erreur cassait accidentellement la capacité du système à détecter un autre type d'erreur. Le résultat était un cycle d'incertitude, où des corrections automatisées étaient parfois déclenchées par de fausses alertes, aggravant la situation plutôt que de l'améliorer.
Pour résoudre cela, une équipe de Microsoft a développé un nouveau système appelé CoreSec, qui change la logique fondamentale de la prise de décision. Au lieu d'additionner des scores, le nouveau système traite l'enquête comme une série de vérifications strictes et indépendantes, semblable à la façon dont un système de sécurité vérifie l'identité d'une personne. Dans un bâtiment de haute sécurité, un garde peut exiger un mot de passe, une empreinte digitale et une carte d'accès. Si le mot de passe est manquant, le garde ne devine pas ; il refuse simplement l'entrée et interrompt le processus. CoreSec applique cette même logique d'« abstention » aux défaillances de réseau. Il attribue des rôles spécifiques à différents types de données. Certains signaux sont obligatoires : si une pièce de preuve critique est manquante ou obsolète, le système refuse de prendre une décision. D'autres signaux sont suffisants en soi : si une erreur spécifique et indéniable est trouvée, le système cesse de chercher et nomme immédiatement la cause.
Le système exécute cinq investigations différentes en parallèle, chacune examinant une couche différente du réseau, des câbles individuels reliant les serveurs aux commutateurs de colonne vertébrale massifs qui maintiennent l'ensemble du tissu. Chaque investigation utilise son propre ensemble de règles pour décider si elle possède suffisamment de preuves pour voter pour une cause spécifique. Si la preuve est claire, elle vote. Si la preuve est manquante ou contradictoire, elle s'abstient. C'est un changement crucial. Dans l'ancien système, l'ordinateur était forcé de choisir un vainqueur même lorsqu'il ne connaissait pas la réponse. Dans le nouveau système, admettre l'ignorance est un résultat valide et utile. Lorsque le système s'abstient, il dit aux ingénieurs humains : « Je ne peux pas encore être sûr », et leur remet le dossier avec un résumé clair de ce qui manquait en données. Cela empêche le système de faire des suppositions confiantes mais erronées qui pourraient déclencher des réparations automatisées inutiles et potentiellement nuisibles.
Une fois que les cinq investigations parallèles sont terminées, une seconde couche de logique intervient pour combiner leurs résultats. Cette logique comprend la forme physique du réseau. Elle sait que si un commutateur unique échoue, cela peut affecter quelques serveurs, mais si un concentrateur de niveau supérieur échoue, cela provoquera un effet de ricochet qui fera paraître de nombreux commutateurs malades en même temps. Le système utilise des règles simples et préprogrammées pour décider quelle couche est réellement responsable. Par exemple, si un commutateur de haut niveau est suspecté, le système vérifie si au moins deux tiers des commutateurs plus petits qui lui sont connectés présentent également des problèmes. Si c'est le cas, le système conclut que le commutateur de haut niveau est la cause profonde et ignore les commutateurs individuels situés en dessous. Cela empêche le système d'être distrait par les symptômes et de blâmer le mauvais niveau du réseau.
Les résultats du déploiement de ce système dans plus de soixante régions du cloud Azure sont frappants. Au cours de trois ans, le système a traité plus de 700 000 incidents. Le taux de fausses alertes, où le système blâmait un dispositif sain, est passé de près de vingt pour cent à moins de un pour cent. Parallèlement, le nombre de fois où le système identifiait correctement le problème sans aide humaine a augmenté de manière significative. Plus important encore, le système a éliminé la nécessité pour trois ingénieurs à plein temps de réviser et de concilier manuellement les données conflictuelles pour chaque incident. Les ingénieurs qui passaient autrefois des heures à démêler ces nœuds reçoivent désormais un rapport clair et structuré qui leur indique exactement ce que le système a trouvé, ce qu'il n'a pas pu décider, et où ils doivent regarder ensuite.
Le succès de CoreSec réside dans son refus de deviner. En traitant la fusion de différentes sources de données comme un problème de composition plutôt que comme un jeu de notation, le système atteint un niveau de stabilité qui était auparavant impossible. Il ne repose pas sur des modèles complexes d'apprentissage automatique qui pourraient changer de comportement à mesure que le réseau évolue. Au lieu de cela, il utilise un ensemble fixe de règles logiques qui ont prouvé leur efficacité à travers différents matériels, différents schémas de trafic et différentes conceptions de centres de données sans nécessiter de réajustement. Le système a démontré que dans un monde d'informations bruyantes et incomplètes, l'outil le plus puissant est souvent la capacité de dire : « Je ne sais pas », et d'attendre de meilleures preuves. Cette approche a transformé l'analyse de la cause profonde, passant d'un jeu de probabilité à un processus fiable et explicable, permettant au cloud de rester stable même alors qu'il continue de croître en taille et en complexité.
Noyé(e) sous les articles dans votre domaine ?
Recevez des digests quotidiens des articles les plus récents correspondant à vos mots-clés de recherche — avec des résumés techniques, dans votre langue.