Introduction

GitHub a connu deux incidents récents qui ont eu un impact significatif sur la disponibilité de la plateforme. L'entreprise a présenté ses excuses pour les désagréments occasionnés et a annoncé les mesures prises pour améliorer la fiabilité et la disponibilité de ses services.

Contexte Technique

La croissance exponentielle de l'utilisation de GitHub, en particulier avec l'accélération des flux de travail de développement agentic, a mis à rude épreuve les capacités de la plateforme. Les mécanismes de Git, les vérifications de fusion, la protection des branches, les actions GitHub, la recherche, les notifications, les autorisations, les webhooks, les API, les travaux en arrière-plan, les caches et les bases de données sont tous sollicités de manière intensive.

Les priorités de GitHub sont claires : la disponibilité passe en premier, suivie de la capacité et enfin des nouvelles fonctionnalités. L'entreprise travaille à réduire les tâches inutiles, à améliorer la mise en cache, à isoler les services critiques, à éliminer les points de défaillance uniques et à déplacer les chemins sensibles aux performances vers des systèmes conçus pour ces charges de travail.

Analyse et Implications

Les deux incidents récents, survenus les 23 et 27 avril, ont été différents dans leurs causes et leurs impacts, mais tous deux soulignent l'importance de l'amélioration de la disponibilité, de l'isolation et de la réduction du rayon d'impact. Le premier incident a affecté les opérations de merge queue, tandis que le second a touché le sous-système Elasticsearch qui alimente les expériences de recherche.

GitHub a pris des mesures pour résoudre ces problèmes, notamment en isolant les services critiques, en réduisant les points de défaillance uniques et en améliorant la mise en cache. L'entreprise a également investi dans l'optimisation des opérations de merge queue et dans la conception d'une nouvelle API pour une meilleure efficacité et une plus grande échelle.

Perspective

GitHub est déterminé à améliorer la transparence pendant les incidents et à communiquer plus clairement avec ses clients. L'entreprise a mis à jour la page d'état de GitHub pour inclure des chiffres de disponibilité et s'est engagée à signaler les incidents, qu'ils soient importants ou non, pour que les clients ne soient pas obligés de deviner si un problème vient de leur côté ou de celui de GitHub.

La passion de l'équipe de GitHub pour son travail et son engagement envers la communauté des développeurs sont clairs. L'entreprise est déterminée à améliorer la disponibilité, à augmenter la résilience, à mettre à l'échelle pour l'avenir du développement logiciel et à communiquer de manière plus transparente tout au long du processus.