GitHub Completes Massive Migration of Global Git Repositories to Microsoft Azure Amid Exploding Agentic Traffic Demands

The global software development platform GitHub has reached a monumental milestone in its cloud infrastructure evolution, successfully transitioning 99.99999% of its vast repository ecosystem to Microsoft Azure. Driven by an exponential surge in automated developer traffic—commonly referred to as the "agentic shift"—the massive engineering undertaking required a fundamental rethinking of how distributed storage, consensus quorums, and read-write scalability are handled at a planetary scale.
With the vast majority of data centers now operating in a hybrid or fully cloud-native state, GitHub’s core engineering teams are tackling the final frontier: the remaining 0.00001% of the platform’s busiest, high-traffic repositories. These elite codebases have long been bottlenecked by physical networking constraints, specifically the latency imposed by inter-datacenter round trips. By introducing per-reference quorums, virtual write replicas, and cloud-native object storage integration, GitHub is laying the groundwork to support the next billion repositories.
The Genesis of the Cloud Migration
The imperative to migrate GitHub’s foundational storage tier—managed by its proprietary Spokes routing and coordination service—stemmed from a convergence of macroeconomic, physical, and technological pressures. Over the past several years, traffic patterns on GitHub underwent a structural transformation. The proliferation of automated AI coding agents, continuous integration pipelines, and automated test runners triggered exponential growth in Git operations.
Simultaneously, GitHub’s legacy on-premises data centers hit a hard ceiling regarding physical power capacity, regional geographical expansion limits, and global supply chain constraints for enterprise hardware. While engineering prototypes for cloud-native Git scaling had been under development, executing a simultaneous overhaul of both the storage architecture and the underlying hosting platform under active, high-volume traffic posed an unacceptable risk to platform stability.
Consequently, GitHub adopted a strict sequencing strategy: migrate the data first, and evolve the architecture second. Because Git operations are classified as a Tier 0 service—meaning virtually all platform features depend directly on repository availability and integrity—every dependent microservice and data layer had to be carefully transitioned.
The Chronology of the Azure Transition
The migration effort kicked off in earnest when the first mirrored copy of a GitHub repository landed in Azure’s Central US region in August 2025. Over the subsequent months, GitHub systematically migrated replicas across its global fleet.
Typically, individual repositories maintain five distinct replicas distributed globally to balance data durability, high availability, and read throughput. To optimize performance, Spokes utilizes preferential routing, dynamically directing user requests to the replica residing in the closest geographic region and availability zone. As individual replicas were migrated to Azure, the platform observed a linear shift in traffic distribution. Eventually, Azure began absorbing roughly half of all global Git traffic, successfully buffering the platform against continued traffic spikes while on-premises data center loads remained steady.
Despite this sweeping success, the final 0.00001% of repositories—comprising the platform’s largest and most active projects—refused to budge easily.

The Latency Bottleneck and the 25-Millisecond Wall
The impediment keeping the most active repositories tethered to legacy data centers boils down to a fundamental law of networking physics: the 25-millisecond round trip.
When a repository is hosted across geographically diverse environments, its underlying consensus quorum requires a majority of replicas to acknowledge a write before it can be safely committed. Under GitHub’s legacy architecture, Spokes enforced a repository-wide lock during writes. Furthermore, the quorum waited for every healthy replica to respond—up to a predetermined timeout—before releasing the lock.
When a replica was moved to a target Azure data center located roughly 1,000 miles away from legacy infrastructure, every network round trip incurred a latency penalty of approximately 25 milliseconds. Because a single write operation necessitates multiple sequential round trips, and because a repository-wide lock serializes all incoming traffic into a single, unordered queue, the slowest healthy replica effectively dictated the latency for every transaction across the entire repository.
For repositories already operating near their maximum write-throughput capacity, absorbing an extra 25ms penalty per serialized write was mathematically impossible. Pushing updates under such conditions would cause the system to fall exponentially behind, leading to dropped connections and failed pushes.
Per-Reference Quorums: Decoupling Repository Locks
To overcome this hurdle, GitHub’s engineering team leaned into their first overarching architectural principle: minimizing unnecessary coordination. Specifically, the team recognized a foundational truth about the Git version control system—consistency requirements apply strictly to each reference (branches and tags) individually, rather than the repository as a whole.
Once a server accepts a valid update to a specific reference—whether via a fast-forward merge, a force push, or a deletion—subsequent clients must never observe an older state. However, in the vast majority of real-world scenarios, concurrent updates directed at different references within the same repository are entirely independent. Developers and automated coding agents rarely push to the exact same branch simultaneously.
By shifting the scope of the Spokes quorum from the entire repository down to individual references, GitHub fundamentally altered how write concurrency is managed. Under this new per-reference serialization model, only writes contending for the exact same branch or tag are required to wait for one another.
Internal testing simulating realistic enterprise and agentic traffic loads revealed dramatic performance improvements. With per-reference quorums enabled, writes directed at distinct references achieved three to four times higher throughput while simultaneously recording lower median latencies. This architectural pivot effectively dissolved the single repository-wide bottleneck, clearing the path for the remaining high-traffic codebases to complete their migration to Azure.
Decoupling Storage from Compute via Virtual Replicas
Beyond solving write concurrency, GitHub turned its attention to the inherent imbalance of typical software repositories, which are overwhelmingly read-skewed. Standard enterprise repositories routinely experience between 100 and 1,000 read operations for every single write.
In traditional configurations, read and write operations compete for identical computing resources on the same physical replicas, preventing independent scaling. To resolve this, GitHub introduced a design pattern that decouples persistent storage from execution compute.
By leveraging Azure Blob Storage as the ultimate source of truth, GitHub established a specialized construct known as a virtual replica. The compute layer attached to this virtual replica acts as an ephemeral node, streaming incoming writes directly into object storage while serving zero read traffic. Because this virtual node participates in the write quorum, transactions are guaranteed to be durable before acknowledgment.
Furthermore, the virtual write replica intelligently coalesces concurrent transactions targeting disjoint references into a single, unified network I/O batch destined for object storage. Instead of paying a heavy network penalty for every individual write, busy repositories now pay a single amortized cost across massive volumes of concurrent updates.
With object storage anchoring durability, GitHub can now spin up an arbitrary number of virtual read replicas on demand. These read-only nodes warm their local memory caches directly from Azure Blob Storage and begin serving read traffic without ever needing to join the consensus quorum. Background reconciliation loops ensure local cache states remain fresh, allowing read throughput to scale infinitely and independently of write volume.
Implications and the Road Ahead
The completion of this Azure migration phase and the deployment of per-reference quorums and virtual replicas represent more than just an infrastructure upgrade; they serve as a blueprint for how massive distributed systems can scale to meet the demands of AI-driven software engineering.
Industry analysts note that as automated development tools and autonomous coding agents proliferate, infrastructure providers face unprecedented spikes in non-human traffic. By moving away from rigid, monolithic repository locking and embracing fine-grained consensus models backed by elastic cloud storage, GitHub has insulated its platform against structural obsolescence.
Yet, GitHub’s engineering leadership emphasizes that the evolution is far from complete. While the Spokes service has successfully scaled to handle well over 100 billion operations per day, the core commit protocols of the past will not suffice for the next billion repositories. Future iterations will focus heavily on driving write throughput even higher, rethinking how immutable Git objects are ordered without introducing new regional bottlenecks, and optimizing garbage collection at a planetary scale.
As GitHub prepares for its upcoming developer conference and the release of the final chapter in its infrastructure blog series, the platform has proven that even the most deeply entrenched legacy architectures can be successfully modernized under continuous, white-hot production traffic—ensuring that the global home of open-source development remains resilient for decades to come.







