mai 3, 2024

BreaGeek News

Obtenez toutes les dernières nouvelles et rapports sur la FRANCE ici. Manchettes, politique et culture françaises sur une chaîne d'information

Slack surmonte les problèmes de publication en surveillant le Z-score

Slack surmonte les problèmes de publication en surveillant le Z-score

Ingénieur dans la plateforme de communication du groupe mou Il a écrit sur la façon dont ils ont affronté leur peur des déploiements et ont réussi à mettre en place un robot pour les surveiller.

Sean McIlroy, ingénieur logiciel senior chez Slack, explique comment ils sont passés d'un groupe de développeurs supervisant leurs déploiements d'applications Web à l'utilisation d'un bot pour déployer ces 150 modifications par jour. Décrivant la délégation de responsabilité apparemment intimidante, qui se résume finalement à révéler mathématiquement un pic dans un graphique, McIlroy explique le raisonnement et le raisonnement derrière l'attribution d'un rôle central à leur ReleaseBot dans un article de blog détaillé.

Le déploiement de modifications sur une plate-forme à grande échelle comme Slack présente un ensemble unique de défis, car la plupart du service fonctionne à partir d'un monolithe appelé « The Webapp » et subit des centaines de modifications chaque semaine. La philosophie de déploiement de Slack est centrée sur la livraison continue, dans le but de fournir rapidement le travail des développeurs aux clients grâce à une itération rapide basée sur les commentaires. Cependant, la gestion d'un flux constant de modifications, soit en moyenne environ 150 modifications par jour, nécessite un équilibre minutieux pour éviter de surcharger le système et réduire le risque d'erreurs.

Traditionnellement, Slack s'appuie sur les responsables du déploiement (DC), des personnes chargées d'exécuter les étapes de déploiement pendant les quarts de travail planifiés. Toutefois, la nature alternante des pays en développement et la complexité croissante du système posent des problèmes pour instaurer la confiance et l’expertise. Par conséquent, l’équipe d’ingénierie des versions a cherché à résoudre ce problème, en se concentrant sur la fourniture de lignes directrices plus claires pour la prise de décision dans les pays en développement.

READ  L'iPhone d'Apple dépasse officiellement les appareils Android, revendiquant 50 % de part de marché aux États-Unis

Cela a conduit au développement de ReleaseBot, un système de déploiement automatisé doté de capacités de détection et de surveillance des anomalies. La transition du déploiement manuel au déploiement automatisé s'est faite progressivement, ReleaseBot travaillant d'abord aux côtés des contrôleurs de domaine, prouvant progressivement sa fiabilité et son efficacité dans la détection des problèmes plus rapidement et de manière plus cohérente que ses homologues humains. Alors que la perspective de déploiements automatisés a initialement suscité des inquiétudes en raison des risques perçus, les performances de ReleaseBot ont dépassé les attentes, suscitant la confiance dans sa capacité à gérer les déploiements de manière autonome.

L’efficacité de ReleaseBot réside dans ses mécanismes de détection d’anomalies, notamment grâce à l’utilisation de z-scores. Scores Z Mesurez l'écart des points de données par rapport à la moyenne, permettant ainsi l'identification de valeurs aberrantes statistiques qui indiquent des problèmes potentiels. Ceci est mis en œuvre en utilisant le principe selon lequel si une application se comporte différemment après le déploiement par rapport à la façon dont elle se comportait auparavant, cela déclenche un signal de « confiance élevée » indiquant qu'il y a un problème et permet aux ingénieurs de savoir qu'il peut y avoir un problème nécessitant une intervention. En fait, il s'agit d'une technique mathématique permettant de détecter les pics dans un graphique. Les signaux de confiance élevés, provoqués par des écarts importants par rapport aux données historiques, nécessitent une attention immédiate, tandis que les signaux de confiance faibles, généralement régis par des seuils fixes, agissent comme des alertes supplémentaires.

READ  Samsung lance de nouveaux smartphones pliables qui feront leurs débuts lors de l'événement "Unpacked" du 10 août

La fréquence et la portée de ces signaux de haute confiance sont utilisées pour contrôler la gravité des notifications Slack envoyées à l'équipe, avec une échelle de couleurs de blanc, bleu et rouge utilisée pour montrer l'urgence de la prise en compte d'un signal. Slack utilise également des notifications de seuil statique comme alarmes de faible confiance, mais les utilise comme entrée dans ReleaseBot pour calculer des seuils dynamiques qui prennent en compte la charge normale et les performances des composants au moment du déploiement. Celui-ci utilise des données historiques pour faire la distinction entre les pics anormaux et les fluctuations attendues lors des déploiements. Cette approche permet à Slack de filtrer les variations de routine tout en identifiant les véritables anomalies nécessitant une intervention.

McIlroy conclut en soulignant en quoi la surveillance du déploiement est différente de la surveillance régulière, que Slack a exploité ces connaissances pour créer un outil permettant de rendre les déploiements moins intimidants et qu'ils ont désormais plus confiance dans un outil de gestion de déploiement que les développeurs ne le font dans les tableaux de bord. Lis le Article complet ici.