깃허브(GitHub)가 자사 핵심 서비스인 Git 저장소 인프라의 99.99999%를 마이크로소프트 애저(Azure) 클라우드로 성공적으로 이전했습니다. 하지만 나머지 0.00001%에 해당하는 가장 바쁜 저장소들은 지역 간 네트워크 지연 문제로 인해 이전이 지연되고 있었는데, 깃허브는 이를 해결하기 위해 기존 Git 아키텍처의 근본적인 한계를 뛰어넘는 새로운 접근 방식을 도입하고 있습니다.
가장 큰 병목은 기존 Git이 저장소 전체에 걸쳐 쓰기를 직렬화(serialization)하는 방식이었습니다. 이는 모든 쓰기가 완료될 때까지 다른 쓰기가 대기해야 하는 구조로, 특히 지리적으로 분산된 복제본 간의 네트워크 왕복 지연이 커지면 처리량 상한이 낮아지는 문제가 있었습니다. 깃허브는 이를 해결하기 위해 '참조별 직렬화(per-reference serialization)' 개념을 도입했습니다. 이는 같은 참조(예: 브랜치)를 수정하는 쓰기만 서로 기다리게 하고, 서로 다른 참조에 대한 쓰기는 동시에 처리할 수 있게 함으로써, 내부 테스트에서 처리량이 3~4배 증가하고 지연이 감소하는 효과를 보였습니다. 또한, 쓰기 작업과 읽기 작업을 분리하기 위해 애저 블롭 스토리지(Azure Blob Storage)를 활용하는 '가상 쓰기 복제본(virtual write replica)'과 '가상 읽기 복제본(virtual read replica)'을 도입하여, 읽기 트래픽을 독립적으로 확장할 수 있는 기반을 마련했습니다.
이러한 아키텍처 변화는 단순한 클라우드 이전 이상의 의미를 가집니다. 개발자 에이전트(agent)의 등장으로 Git 트래픽이 폭증하는 시대에 맞춰, 깃허브는 기존 Git 프로토콜의 한계를 극복하고 수십억 개의 저장소를 안정적으로 운영하기 위한 차세대 인프라를 구축하고 있습니다. '조정 최소화(minimizing coordination)'와 '스토리지와 컴퓨트의 분리(decoupling storage and compute)'라는 두 가지 원칙 아래, 불변(immutable) Git 객체와 순서 보장이 필요한 작은 상태를 분리하여 쓰기 확장성을 더욱 높이는 방안도 모색 중입니다. 이는 깃허브가 앞으로도 개발 생태계의 핵심 플랫폼으로서 지속적인 성장을 가능하게 할 중요한 기술적 진보로 평가됩니다.