GitHub détaille les causes de sa récente panne de près de huit heures
Une panne a perturbé plusieurs services de GitHub durant 7 heures et 47 minutes le 17 août. La plateforme attribue l’incident à un manque de capacité face à un pic de trafic et accélère notamment sa migration vers Azure.
Une panne survenue le 17 août a perturbé GitHub pendant 7 heures et 47 minutes et touché des utilisateurs dans le monde entier.GitHub.com, l’authentification, GitHub Actions, les API, les pull requests, les issues et Copilot ont notamment été affectés, indique l’entreprise dans un billet de blog.
Selon GitHub, l’incident a débuté lorsque le trafic a atteint un nouveau pic et qu’un composant critique situé dans son centre de données Central US n’a pas réussi à monter en charge. La pression s’est ensuite propagée à d’autres systèmes, entraînant notamment des problèmes d’authentification et des perturbations sur plusieurs services.
Les équipes ont réacheminé une partie du trafic, isolé les infrastructures touchées et restauré progressivement les services. Certains services de Copilot ont nécessité davantage de temps. Des erreurs ont par ailleurs déclenché des tentatives répétées côté client, générant du trafic supplémentaire pendant la reprise et compliquant le retour à la normale.
Une capacité insuffisante face à la croissance
GitHub précise que l’incident ne résulte ni d’une modification du code ni d’un changement de configuration. L’entreprise reconnaît ne pas avoir augmenté assez rapidement la capacité de certains composants critiques pour suivre la demande.
Cette pression intervient alors que l’activité de la plateforme augmente fortement. D’après GitHub, le nombre mensuel de commits est passé de 1,4 milliard en avril à 2,9 milliards. L’entreprise souligne toutefois que cette croissance n’excuse pas l’interruption de service.
Pour répondre à cette hausse, GitHub affirme avoir ajouté plus de 3 millions de cœurs CPU, 120 pétaoctets de stockage à haute vitesse et des capacités réseau supplémentaires. L’entreprise indique avoir installé autant de matériel que l’alimentation électrique disponible dans ses centres de données existants le permettait, tout en accélérant sa migration vers Azure. Le cloud de Microsoft prend désormais en charge environ 58% de la charge de la plateforme et la moitié de l’ensemble des opérations Git, contre 12% de la charge de la plateforme en mai.
Des pratiques opérationnelles à renforcer
La capacité n’est toutefois pas le seul enjeu identifié par GitHub. L’entreprise reconnaît que ses pratiques opérationnelles n’ont pas évolué au même rythme que la cadence et la complexité des changements. Elle indique avoir réorienté des équipes et des ressources vers la disponibilité, avec des travaux portant notamment sur les tests, les mécanismes de déploiement, l’observabilité, les alertes, l’isolation des systèmes critiques et la réduction des dépendances partagées.
GitHub indique également mettre en place des limites et des budgets de nouvelles tentatives ainsi que des délais d’expiration variables dans les interactions entre services, afin d’éviter les tempêtes de requêtes et les charges en cascade. La plateforme réexamine aussi certaines alertes CPU et mémoire jusqu’ici considérées comme moins prioritaires afin d’identifier les composants susceptibles de défaillir lors d’une hausse soudaine du trafic.
L’actualité IT en Suisse et à l’international, avec un focus sur la Suisse romande, directement dans votre boîte mail > Inscrivez-vous à la newsletter d’ICTjournal, envoyée du lundi au vendredi!