GitHub leva quase todos os repositórios ao Azure para escala de agentes

GitHub leva quase todos os repositórios ao Azure para escala de agentes

GitHub move cópia de 99,99999% dos repositórios à Azure e prepara quóruns por referência para trazer o restante e escalar leituras com object storage.

Foto: Michael Wang (Pexels)

O GitHub informou que, no último ano, uma cópia de 99,99999% dos repositórios da plataforma passou a viver em dois lugares ao mesmo tempo: nos data centers próprios e na Microsoft Azure. O movimento responde ao crescimento exponencial do tráfego Git impulsionado por agentes de inteligência artificial (IA), ao limite energético das regiões onde a companhia opera e a restrições na cadeia de suprimentos de hardware.

O restante — cerca de 0,00001% dos repositórios, entre os mais movimentados — ainda esbarra em cerca de 25 milissegundos de ida e volta entre os data centers e a Azure. Em post no GitHub Blog desta quarta-feira (21), as engenheiras Eleanor White e Victoria Dye descrevem a ponte entre a arquitetura atual e a próxima geração de armazenamento, baseada em quóruns por referência e em armazenamento de objetos.

O que aconteceu

Segundo o GitHub, a migração priorizou mover os dados antes de redesenhar a arquitetura, para reduzir risco em um serviço Tier 0 — função central da plataforma da qual quase tudo depende. A primeira cópia de um repositório chegou à região Central US da Azure em agosto de 2025. Hoje, a maioria dos repositórios tem duas de suas cinco réplicas na nuvem da Microsoft, e a Azure já atende cerca de metade do tráfego Git. Durante boa parte do processo, a nuvem absorveu o crescimento enquanto os data centers próprios se mantiveram estáveis.

Na arquitetura atual, o sistema Spokes exige maioria no quórum para confirmar uma escrita, mas espera a resposta de todas as réplicas saudáveis até um timeout. Assim, a réplica mais lenta define a latência de cada escrita. Como cada operação segura um bloqueio no repositório inteiro até o commit, esse atraso também limita o throughput. Com uma réplica distante dos data centers, cada escrita exige várias idas e voltas de rede — algo que repositórios já próximos do teto não suportam sem acumular atraso a cada push.

A solução imediata é mudar o escopo do quórum do repositório inteiro para cada referência individual, como branches e tags. As regras de consistência do Git valem por referência: depois que o servidor aceita uma atualização, nenhum cliente deve ver um valor mais antigo. Atualizações em referências diferentes, em geral, não dependem umas das outras — por exemplo, agentes e desenvolvedores empurrando cada um para o próprio branch. Em testes internos com tráfego realista, escritas em referências distintas viram throughput cerca de três a quatro vezes maior, com menor latência.

Em paralelo, o GitHub avança na separação entre armazenamento e computação. A maioria dos repositórios é fortemente enviesada para leitura, com algo entre 100 e 1.000 leituras para cada escrita. Ao tornar o Azure Blob Storage um membro especial do quórum — uma “réplica virtual” efêmera que só recebe escritas — a empresa torna a durabilidade no object storage condição para confirmar o write. Em seguida, pode escalar réplicas virtuais de leitura sob demanda, aquecendo cache a partir do Blob Storage sem entrar no quórum. O Spokes processa mais de 100 bilhões de operações por dia.

O que isso pode mudar

Se o quórum por referência e as réplicas virtuais se consolidarem em produção, os repositórios mais quentes — inclusive os pressionados por agentes de IA — poderiam migrar por completo para a Azure sem perder throughput de escrita. Leituras e escritas passariam a escalar de forma mais independente, o que poderia aliviar a competição por memória e CPU entre cache, compactação e tráfego de leitura.

Ainda assim, o GitHub alerta que o protocolo de commit atual levou a plataforma a um bilhão de repositórios, mas provavelmente não a levará ao próximo bilhão. A próxima fronteira seria empurrar ainda mais o throughput de escrita, já que objetos Git são imutáveis e grande parte do que precisa ser ordenado é pequena. A série deve continuar na próxima semana, no GitHub Universe, com o desenho do estado final da arquitetura.

Fontes: GitHub Blog.

Fontes: GitHub Blog

Leia mais em: mundodosnegocio.com.br