跳到主内容
@wquguru
精选75GitHub 博客(RSS)行业动态

GitHub 7月可用性报告:Actions 事故与 Azure 迁移

GitHub availability report: July 2026

原文
发到 X

The GitHub Actions incident on Thursday, August 6, was unacceptable in both its impact and particularity of its duration. Availability continues to be our top priority across all of GitHub. However, with this incident, we have fallen short of our commitments to you. We know how heavily customers rely on actions, and a prolonged outage like this one has a real impact on your productivity and on your trust in us.

8月6日(周四)发生的GitHub Actions事件,其影响之大、持续时间之长,都是不可接受的。可用性始终是GitHub所有服务的首要任务。然而,在这次事件中,我们未能兑现对您的承诺。我们深知客户对Actions的依赖程度,像这样长时间的故障确实会影响您的生产力,并削弱您对我们的信任。

We continue to work through a deeper root cause analysis (RCA) on the incident, as there were many aspects in play that we want to fully understand before calling the investigation complete. We’ll update the public summary when our investigation is complete, and we will include the complete details in our August availability post to be published in September.

我们正在继续对该事件进行更深入的根因分析(RCA),因为其中涉及多个方面,我们希望在宣布调查完成之前充分了解所有细节。调查完成后,我们将更新公开摘要,并在9月发布的8月可用性报告中包含完整细节。

Aside from immediate repair items discovered through our investigation, we are accelerating our architectural roadmap in GitHub Actions, aligned to our ongoing efforts around isolation, resiliency, and scale.

除了调查中发现的即时修复项外,我们正在加速推进GitHub Actions的架构路线图,与我们在隔离性、弹性和可扩展性方面的持续努力保持一致。

It’s worth noting that the GitHub Actions service at the core of the aforementioned incident is still fully running in our data centers, a contributing factor to the lack of capacity we experienced. While the majority of actions runs on Azure, we hadn’t yet prioritized migrating launch service, the component that bridges the monolith to actions, due to its generally asynchronous nature and ability to queue work in response to issues. Unfortunately, as outlined in the public summary, cascading failures led to an unacceptable delay in recovery. This is why we are accelerating our move of GitHub Actions to Azure, where we will have more headroom and capabilities to absorb spikes.

值得注意的是,上述事件核心的GitHub Actions服务在我们的数据中心仍在完全运行,这也是导致我们容量不足的一个因素。虽然大多数Actions运行在Azure上,但我们尚未优先迁移启动服务(launch service)——该组件将单体架构与Actions连接起来,因为它通常具有异步性质,并且能够根据问题排队工作。不幸的是,正如公开摘要中所述,级联故障导致了不可接受的恢复延迟。这就是我们加速将GitHub Actions迁移到Azure的原因,在那里我们将有更多的空间和能力来吸收峰值。

On our broader efforts, last month, we shared how a deliberate pause and stronger stability controls changed the way we move production traffic into Azure. In July, those controls allowed us to resume that work with greater confidence while continuing to reduce shared dependencies across GitHub.

在我们更广泛的努力方面,上个月我们分享了有意的暂停和更强的稳定性控制如何改变了我们将生产流量迁移到Azure的方式。7月,这些控制使我们能够以更大的信心恢复这项工作,同时继续减少GitHub上的共享依赖。

The short version of July: GitHub is becoming less dependent on shared infrastructure and individual datacenter locations, giving us more capacity to absorb growth and making failures easier to isolate. This month, more than half of monolith read traffic ran in Azure Central US, authentication data began leaving our oldest shared database, and dedicated services removed substantial load from that shared path.

7月的简要情况:GitHub正在减少对共享基础设施和单个数据中心位置的依赖,这使我们有更多容量来吸收增长,并使故障更容易隔离。本月,超过一半的单体架构读流量运行在Azure美国中部,认证数据开始离开我们最古老的共享数据库,专用服务从该共享路径上移除了大量负载。

GitHub can now serve a larger share of customer requests from independent Azure capacity, reducing reliance on any single datacenter while preserving performance. Monolith read traffic served from Azure Central US peaked at 52.75% on July 28—the first time we consistently remained above the halfway line. Git traffic in Azure reached 47%, up from 43% in June, and 29% of all repositories now have a second replica in Central US, making failover less disruptive when a region degrades. Just as important, the stability validation process introduced after May’s incident is now part of every major traffic expansion, helping us increase capacity without increasing customer risk.

GitHub 现在可以从独立的 Azure 容量中服务更大比例的客户请求,减少对任何单一数据中心的依赖,同时保持性能。7 月 28 日,从 Azure 美国中部提供的单体读取流量峰值达到 52.75%——这是我们首次持续保持在半数以上。Azure 中的 Git 流量达到 47%,高于 6 月的 43%,并且现在有 29% 的仓库在美国中部拥有第二个副本,使得当某个区域降级时故障转移的破坏性更小。同样重要的是,5 月事件后引入的稳定性验证流程现在已成为每次重大流量扩展的一部分,帮助我们在不增加客户风险的情况下增加容量。

We also reduced shared failure points behind critical customer workflows. The first authentication tables moved from our oldest shared database to dedicated infrastructure, proving the migration pattern for the remaining work. Authentication and permission checks now place substantially less pressure on that shared path: at peak, the dedicated user service offloads more than one million queries per second, while 80% of a major authorization lookup has moved to the isolated service path. Repository content traffic now runs fully from Central US on dedicated infrastructure, and the dedicated pull request service, which already serves anonymous traffic, reached 99.87% parity with the monolith for authenticated reads as we progressively roll all traffic to it. Together, these changes make it less likely that pressure or failures in one part of GitHub will affect unrelated customer activity.

我们还减少了关键客户工作流背后的共享故障点。第一批认证表从我们最旧的共享数据库迁移到了专用基础设施,验证了剩余工作的迁移模式。认证和权限检查现在对共享路径的压力大大降低:在高峰期,专用用户服务每秒卸载超过一百万次查询,而 80% 的主要授权查找已转移到隔离的服务路径。仓库内容流量现在完全从美国中部的专用基础设施运行,而已经服务匿名流量的专用拉取请求服务,在认证读取方面达到了与单体 99.87% 的一致性,我们正在逐步将所有流量滚动到该服务。总之,这些变化使得 GitHub 某一部分的压力或故障不太可能影响无关的客户活动。

GitHub can now absorb more workload growth before shared infrastructure becomes a source of degradation that affects customers. One production change cut total query time on the artifacts table in half, while caching in the Git authorization path reduced authorization service load by 18.2%, even as request volume grew. Search is also less exposed to the capacity constraints that contributed to earlier incidents: all production search workloads now serve from Central US with additional headroom during demand or infrastructure stress.

GitHub 现在可以在共享基础设施成为影响客户的退化源之前吸收更多的工作负载增长。一项生产变更将工件表的总查询时间减半,而 Git 授权路径中的缓存将授权服务负载降低了 18.2%,即使请求量增长。搜索也不太受早期事件中容量限制的影响:所有生产搜索工作负载现在都从美国中部提供服务,在需求或基础设施压力期间具有额外的余量。

We are also changing how we measure and operate reliability. In addition to infrastructure health, we are increasingly measuring the health of important customer workflows such as pull requests so teams can identify degradation earlier. We are continuing to replace high-risk manual production activity with automation, review controls, and operational safeguards, so customer experience is less dependent on perfect human execution.

我们也在改变衡量和运营可靠性的方式。除了基础设施健康,我们越来越多地衡量重要客户工作流程(如拉取请求)的健康状况,以便团队更早地发现性能退化。我们继续用自动化、审查控制和运营保障来取代高风险的人工生产活动,使客户体验不再依赖于完美的人工执行。

Crossing 50% is the midpoint, not the finish. The next phase is about building enough independent Azure capacity to serve all production traffic and, ultimately, withstand the loss of a region without failure. This quarter, we are targeting 70% of read traffic and 30% of write traffic in Central US while bringing every production service online there. Moving database primaries will unlock write traffic; a second Azure region will provide the foundation for regional resilience. We now have a line of sight to get dotcom production traffic out of our datacenters by the end of CY2026.

跨越50%是中点,而不是终点。下一阶段是建立足够的独立Azure容量,以服务所有生产流量,并最终承受区域故障而不失败。本季度,我们的目标是在美国中部实现70%的读流量和30%的写流量,同时将所有生产服务上线。将数据库主节点迁移将解锁写流量;第二个Azure区域将为区域弹性提供基础。我们现在已经看到了在2026年底前将dotcom生产流量迁出我们数据中心的前景。

The eight incident write-ups that follow are the other half of this picture—what the system did well, what it did not, and what we have already changed as a result. The principle continues to guide us: availability, then capacity, then features.

接下来的八份事件报告是另一面——系统做得好的是什么,做得不好的地方,以及我们因此已经做出的改变。这一原则继续指导我们:可用性,然后是容量,然后是功能。

July 8, 2026 (lasting 7 hours and 4 minutes)

2026年7月8日(持续7小时4分钟)

On July 8, 2026, between 15:07 and 22:13 UTC, multiple GitHub services—including the Web UI, REST API, GraphQL API, Actions, Packages, Copilot, and Git operations—were unavailable across data-resident Enterprise Cloud environments and returned 5xx errors. Affected users experienced page-load and login failures, failed API requests, queued or rejected Actions workflow runs, and unavailable package registry endpoints. During the peak hour, approximately 84% of active tenants across the affected production environments had a majority of their requests fail, and the peak 5xx error rate reached approximately 96% in the most affected environment.

2026年7月8日,在UTC时间15:07至22:13之间,多个GitHub服务——包括Web UI、REST API、GraphQL API、Actions、Packages、Copilot和Git操作——在数据驻留的企业云环境中不可用,并返回5xx错误。受影响的用户遇到页面加载和登录失败、API请求失败、Actions工作流运行排队或拒绝,以及包注册表端点不可用。在高峰时段,受影响的生产环境中约84%的活动租户的大部分请求失败,受影响最严重环境中的峰值5xx错误率约为96%。

Our automated monitoring detected elevated 5xx errors within approximately 19 minutes of the first impact.

我们的自动监控在首次影响后约19分钟内检测到5xx错误升高。

An automated infrastructure metadata process changed a runtime configuration value across virtual machines in these affected environments. A safeguard that normally prevents this value from changing on running machines did not apply to this update. The incorrect value disrupted service discovery and left traffic routers without available backends. We mitigated the incident by restoring the correct configuration values in each of the affected environments and allowing services to re-register. Recovery took several hours because the values had to be corrected and validated across many machines. A separate infrastructure component exhausted its available memory during the recovery and required additional mitigation, extending the recovery duration. We are enforcing metadata immutability, removing unsafe overwrite behavior, and improving staged rollouts. In addition, we are investing in improving monitoring for empty traffic-router backend pools; and developing safer fleet-wide recovery tooling. These changes are intended to prevent recurrence and reduce detection and mitigation for similar issues in the future.

一个自动化的基础设施元数据流程在受影响环境中的虚拟机间更改了运行时配置值。通常防止此值在运行中的机器上更改的保护措施未应用于此更新。错误的值扰乱了服务发现,使流量路由器没有可用的后端。我们通过在每个受影响环境中恢复正确的配置值并允许服务重新注册来缓解此事件。恢复花费了数小时,因为必须在许多机器上更正和验证这些值。恢复期间,一个独立的基础设施组件耗尽了可用内存,需要额外的缓解措施,延长了恢复时间。我们正在强制执行元数据不可变性,移除不安全的覆盖行为,并改进分阶段推出。此外,我们正在投资改进对空流量路由器后端池的监控,并开发更安全的舰队范围恢复工具。这些更改旨在防止复发,并减少未来类似问题的检测和缓解时间。

July 9, 2026 (lasting 9 hours and 18 minutes)

2026年7月9日(持续9小时18分钟)

更进一步:量化金融体系

看懂新闻只是起点——沿量化金融路径,把它变成能交付的工程能力

进入量化体系 →

相似阅读

另一事件,读法相近