Menu
The New Stack·August 20, 2026

GitHub's Scaling Challenges: Postmortem of an Outage

This article discusses GitHub's recent scaling issues and outages, highlighting the immense growth in commits and pull requests driven partly by coding agents. It delves into the architectural challenges faced despite significant infrastructure investment, including reliance on Azure migration and the need for improved operational practices and system isolation to prevent cascading failures.

Read original on The New Stack

GitHub's Explosive Growth and Outage Triggers

GitHub is experiencing unprecedented growth, now handling 2.9 billion commits and 130 million merged pull requests monthly. This surge, partly attributed to coding agents, has pushed its infrastructure to its limits. A major eight-hour outage on August 17th was directly linked to scaling issues, not code changes. The incident began when traffic peaked, and a critical infrastructure component in their Central US data center failed to scale, leading to a cascade of authentication failures and service disruptions across the platform.

Infrastructure Scaling Efforts and Challenges

Despite these outages, GitHub has been aggressively scaling its infrastructure. Fifty-eight percent of its platform load and half of all Git operations are now served by Azure, a significant increase from 12% just months prior. The company also added 3 million CPU cores and 120 petabytes of high-speed storage in the last year. However, their existing data centers are maxed out, underscoring the challenge of scaling a legacy system while migrating to the cloud.

⚠️

Beyond Raw Capacity: Operational and Architectural Deficiencies

The outage was not merely a lack of hardware. GitHub's CTO acknowledged that existing operational practices, including testing, rollouts, observability, and alerting, had not kept pace with the increasing complexity and change. This points to systemic issues beyond just adding more servers.

Architectural and Operational Mitigations

  • Isolating Critical Systems: Reducing shared dependencies between services to contain the blast radius of failures.
  • Consistent Retry Limits and Budgets: Implementing these to prevent 'retry storms' that can exacerbate load and cause cascading failures.
  • Tweaking Timeouts: Adjusting service-to-service interaction timeouts to prevent services from holding onto resources unnecessarily during high load.
  • Investing in Operational Excellence: Focusing on stronger testing, safer rollouts, improved observability, and more effective alerting.

These measures aim to address the immediate causes of recent outages and build a more resilient, distributed system capable of handling future growth and mitigating the impact of component failures.

scalabilityoutagepostmortemgithubazurecloud migrationdistributed systemsresilience

Comments

Loading comments...