O diretor de segurança e vice-presidente sênior de engenharia do GitHub, Mike Hanley, compartilhou detalhes sobre a série de interrupções que atingiram a plataforma de hospedagem de código na semana passada. Embora os incidentes tenham causas raiz não relacionadas, eles afetaram a maioria dos serviços primários do GitHub entre os dias 9 e 11, causando falhas generalizadas de conexão e autenticação do banco de dados por até dez horas.
“Na semana passada, o GitHub experimentou vários incidentes de disponibilidade, tanto de longa duração quanto de curta duração. Desde então, reduzimos esses incidentes e todos os sistemas agora estão operando normalmente”, disse Hanley no blog da empresa. “As causas principais desses incidentes não estavam relacionadas, mas, em conjunto, impactaram negativamente os serviços que as organizações e desenvolvedores confiam no GitHub para entregar. Isso não é aceitável nem o padrão que nos mantemos.”
No terça-feira da semana passada, 9, oito serviços principais foram atingidos por uma grande interrupção causada por uma alteração na configuração do serviço interno do GitHub que atende aos dados do Git. A segunda interrupção, ocorrida na quarta-feira, 10, impactou a emissão de tokens de autenticação para GitHub Apps e resultou de alta carga e implementação ineficiente de uma API responsável por gerenciar as permissões do GitHub App.
“Em 10 de maio, o cluster de banco de dados que atende aos tokens de autenticação do aplicativo GitHub teve um aumento de 7x na latência de gravação para as permissões do aplicativo GitHub (status amarelo)”, explicou Hanley. “A taxa de falha dessas solicitações de token de autenticação foi de 8% a 15% na maior parte desse incidente, mas atingiu um pico de 76% por cento por um curto período de tempo.”
Veja isso
GitHub disponibiliza relatórios privados de vulnerabilidades
Repositórios do GitHub são removidos para barrar malware
A terceira interrupção do GitHub experimentada pelos usuários na quinta-feira da semana passada, 11, foi devido a uma perda de réplicas de leitura depois que um cluster de banco de dados que atende aos dados do Git travou e acionou um mecanismo de failover automatizado.
“Estamos abordando a falha do banco de dados Git que causou mais de um incidente neste momento. Este trabalho já estava em andamento e continuaremos a priorizá-lo”, disse Hanley. “Estamos abordando também os problemas de failover do banco de dados para garantir que os failovers sempre se recuperem totalmente sem intervenção.”
O GitHub compartilhará informações mais detalhadas sobre essas interrupções e o que está fazendo para resolver os problemas que as causaram em seu Relatório de Disponibilidade de maio. “O relatório de maio incluirá esses incidentes e qualquer detalhe adicional que tivermos sobre eles, juntamente com uma atualização geral sobre o progresso para aumentar a disponibilidade do GitHub”, afirmou Hanley.