Présentation du rapport
Le rapport de disponibilité de GitHub pour juin 2026 met en avant les progrès réalisés dans l'amélioration de la disponibilité et les investissements dans les infrastructures. Les utilisateurs ont exprimé leur intérêt pour ces informations, même lorsque les résultats sont mitigés.
Évolution de la disponibilité
En juin, le trafic monolithique sur Azure a atteint un pic de 45% dans la région centrale des États-Unis. Cependant, ce chiffre est inférieur aux attentes en raison d'une pause dans le déploiement après un incident de stabilité le 21 mai. Le déploiement a repris le 17 juin avec une nouvelle passerelle de stabilité qui exige que l'environnement soit sain avant chaque étape.
Le trafic Git sur Azure a augmenté de 30% à 43% (HTTP et SSH combinés) au cours du mois, mais n'a pas atteint l'objectif de 50% pour juin. Cette limite est due à deux décisions délibérées pour éviter des retards pour les utilisateurs : l'attente de trafic supplémentaire pour router vers la région centrale des États-Unis et la limitation du trafic SSH en raison de l'absence de séparation de lecture et d'écriture au niveau du bord.
Améliorations techniques et incidents
En juin, GitHub a connu six incidents qui ont entraîné des perturbations de service. L'un de ces incidents, survenu le 4 juin, a affecté le service de révision de code Copilot, avec un taux d'échec moyen de 81,6% et un pic à 93,9%. La cause était une incompatibilité entre une nouvelle dépendance et l'environnement d'exécution. Le problème a été résolu en supprimant la version problématique de la dépendance et en redéployant le service affecté.
Un autre incident, le 8 juin, a vu une augmentation significative du trafic automatisé abusif vers certaines pages de github.com, entraînant des erreurs de timeout pour les utilisateurs non connectés. La solution a consisté à identifier et bloquer les modèles de trafic anormaux aux niveaux du load balancer et de l'application.
Exemple de code pour la mise en œuvre d'une passerelle de stabilité :
# Définition d'une passerelle de stabilité pour le déploiement
stability_gate = {
'environment': 'production',
'health_check': 'verify_environment_health'
}
Implications et limites
Les incidents et les progrès réalisés mettent en évidence l'importance de la disponibilité et de la capacité pour les services en ligne. Les décisions prises pour améliorer la stabilité et réduire les retards pour les utilisateurs sont cruciales pour maintenir la confiance des utilisateurs. Cependant, il est également important de noter que les objectifs de disponibilité et de capacité doivent être équilibrés avec les besoins des utilisateurs et les contraintes techniques.