Análise de Incidentes e Resiliência de Sistemas em Grande Escala
Introdução: Aprendizados e Melhorias Contínuas em Disponibilidade
Como Engenheiro de Software Sênior e Arquiteto de Soluções na AITY, reconheço a criticidade da disponibilidade e performance dos sistemas para nossos clientes e parceiros. Em fevereiro de 2026, foram observados seis incidentes que resultaram em degradação de performance em diversos serviços. Compreendemos o impacto dessas interrupções nas equipes, fluxos de trabalho e na confiança geral na plataforma. Este artigo técnico tem como objetivo detalhar as causas-raiz dos incidentes recentes e as medidas que estão sendo implementadas para tornar os sistemas mais resilientes no futuro.
Agradecemos a paciência enquanto investimos em melhorias de curto e longo prazo. Abaixo, detalhamos os seis principais incidentes específicos de fevereiro.
Incidente 1: Degradação do Serviço Dependabot (02/02/2026)
- Duração: 1 hora e 5 minutos (17:41 UTC)
- Impacto: O serviço Dependabot foi degradado, falhando na criação de 10% das pull requests automatizadas entre 31/01/2026 00:30 UTC e 02/02/2026 18:00 UTC.
- Causa Raiz: Um failover de cluster que se conectou a um banco de dados somente leitura.
- Mitigação: As filas do Dependabot foram pausadas até que o tráfego fosse corretamente roteado para clusters saudáveis. Todos os trabalhos com falha foram identificados e reiniciados.
- Melhorias: Adição de novos monitores e alertas para reduzir o tempo de detecção e prevenção futura.
Incidente 2: Indisponibilidade de Runners e Codespaces (02/02/2026)
- Duração: 5 horas e 53 minutos (19:03 UTC)
- Impacto: Entre 18:35 UTC e 22:20 UTC, runners hospedados do GitHub Actions e GitHub Codespaces ficaram indisponíveis. A recuperação total ocorreu em etapas, afetando runners padrão (23:10 UTC), runners maiores (03/02/2026 00:30 UTC) e Codespaces (03/02/2026 00:15 UTC).
- Jobs do Actions enfileirados e com timeout.
- Outros recursos impactados: Copilot, CodeQL, Dependabot, GitHub Enterprise Importer, GitHub Pages.
- Todas as regiões e tipos de runner foram afetados. Criação e retomada de Codespaces falharam em todas as regiões.
- Runners auto-hospedados não foram impactados.
- Causa Raiz: Perda de telemetria que cascateou para a aplicação equivocada de políticas de segurança em contas de armazenamento de backend no provedor de compute subjacente. Essas políticas bloquearam o acesso a metadados críticos de VMs, causando falhas em todas as operações de criação, exclusão e reimage de VMs.
- Mitigação: Reversão das alterações de política, iniciada às 22:15 UTC. Os runners processaram o backlog de requisições conforme as VMs voltaram online.
- Melhorias: Trabalho em conjunto com o provedor de compute para melhorar a resposta a incidentes, o tempo de engajamento, a detecção precoce e garantir a implementação segura de futuras mudanças similares.
Incidente 3 e 4: Degradação de Serviços por Cache (09/02/2026)
- Duração: Total de 2 horas e 43 minutos de serviço degradado em dois períodos (1h 21min e 1h 8min, respectivamente).
- Primeiro período: 16:12 UTC a 17:39 UTC.
- Segundo período: 18:53 UTC a 20:09 UTC.
- Impacto: Afetou github.com, GitHub API, GitHub Actions, operações Git (HTTPS), GitHub Copilot e outros serviços.
- Erros ao carregar páginas, falhas em push/pull via HTTPS, falhas em workflows do Actions, erros no Copilot.
- Erros intermitentes em GitHub Issues, pull requests, webhooks, Dependabot, GitHub Pages e GitHub Codespaces.
- Operações Git via SSH não foram afetadas.
- Causa Raiz: Uma alteração de configuração em um mecanismo de cache de configurações de usuário causou um grande volume de regravações de cache simultâneas.
- Primeiro incidente: Regravações assíncronas sobrecarregaram um componente de infraestrutura compartilhado, levando a falhas em cascata e exaustão de conexões no proxy de serviço das operações Git via HTTPS.
- Segundo incidente: Uma fonte adicional de atualizações de cache, não endereçada pela mitigação inicial, introduziu um alto volume de escritas síncronas. Isso causou atrasos de replicação, resultando em uma cascata de falhas similar e novamente exaustão de conexões no proxy Git HTTPS.
- Mitigação:
- Primeiro: Desabilitadas as regravações assíncronas de cache e reiniciado o serviço de proxy Git afetado em múltiplos datacenters.
- Segundo: Desabilitada a fonte de regravações de cache e novamente reiniciado o proxy Git.
- Melhorias Imediatas:
- Otimização do mecanismo de caching para evitar amplificação de escrita e adição de auto-estrangulamento durante atualizações em massa.
- Adição de salvaguardas para garantir que o mecanismo de caching responda mais rapidamente a rollbacks e fortalecimento do planejamento, validação e rollout de mudanças nesses sistemas de caching com verificações adicionais.
- Correção da causa-raiz da exaustão de conexões na camada de proxy Git HTTPS para que o proxy possa se recuperar automaticamente desse modo de falha sem exigir reinícios manuais.
Incidente 5: Falhas na Criação de Codespaces (12/02/2026)
- Duração: 2 horas e 3 minutos (07:53 UTC)
- Impacto: Entre 00:51 UTC e 09:35 UTC, usuários tentando criar ou retomar Codespaces experimentaram altas taxas de falha na Europa, Ásia e Austrália, atingindo um pico de 90%. Regiões dos EUA não foram impactadas.
- Causa Raiz: Uma mudança na reivindicação de autorização em uma dependência de rede central, que levou a falhas no provisionamento de pools de Codespace. Alertas detectaram o problema, mas não tinham a severidade apropriada, atrasando a detecção e resposta.
- Melhorias: Validação aprimorada de mudanças neste serviço de backend e monitoramento durante o rollout. Os limites de alerta foram atualizados para identificar problemas antes que afetem os clientes, e os mecanismos de failover automatizados foram aprimorados para cobrir esta área.
Incidente 6: Erros em Downloads de Arquivos LFS (12/02/2026)
- Duração: 34 minutos (10:38 UTC)
- Impacto: Entre 09:16 e 11:01 UTC, usuários que tentavam baixar arquivos de repositório (tar.gz/zip) que incluíam objetos Git LFS receberam erros. Arquivos padrão sem objetos LFS não foram afetados. A taxa média de erro de download de arquivos foi de 0,0042%, com pico de 0,0339%.
- Causa Raiz: Implantação de uma configuração de rede incorreta no Serviço LFS que causou falha nas verificações de saúde do serviço e marcou um serviço interno como inalcançável.
- Mitigação: Aplicação manual da configuração de rede corrigida.
- Melhorias: Adicionadas verificações adicionais de corrupção e detecção de auto-rollback para evitar este tipo de problema de configuração.
Impacto Prático e Futuro da Resiliência
Estes incidentes ressaltam a complexidade de sistemas distribuídos em larga escala e a importância de uma abordagem proativa para a resiliência. As lições aprendidas e as ações imediatas e de longo prazo – como aprimoramento de monitoramento e alertas, melhoria de workflows de rollout, otimização de mecanismos de cache, e colaboração estreita com provedores de infraestrutura – são cruciais. Para a AITY, a análise detalhada desses eventos serve como um roteiro para fortalecer nossa própria arquitetura, garantindo que nossos sistemas possam detectar, mitigar e recuperar-se de falhas de forma mais eficiente, minimizando o impacto em nossos usuários e mantendo a confiança na plataforma. Continuamos comprometidos em construir e manter sistemas que sejam robustos e confiáveis.
Aguardando Login...