Why major companies are seeing more outages in 2026 than ever before
2026 leads the public hyperscaler outage log, while per-site failures keep falling. Shared edges, heat, and thin reviews explain the headlines.

The year feels like a record. The per-site survey and the hyperscaler log are measuring two different things.
A line making the rounds says 2026 has already produced more outages than the previous five years combined. The sourced counts disagree, and the disagreement is the useful part.
Uptime Institute’s Annual Outage Analysis 2026 says outage frequency per site has fallen for a fifth straight year. In the 2025 global survey, 50% of operators reported an impactful outage in the prior three years, down from 74% in 2020. About one in ten still call their latest outage serious or severe. The improvement has slowed, and the report says demand, AI workloads, and power constraints are what operators are now planning around.

Source: Annual Outage Analysis 2026, Uptime Institute. Figure 2, Global Data Center Survey 2025.
What the public log actually counts
Control Plane’s tracker, updated 21 October 2026, lists 62 major AWS, Azure, Google Cloud, and Cloudflare incidents since January 2020. Eighteen of those rows are dated 2026. Sixteen are dated 2025. Forty cover 2021 through 2025. Eighteen is the busiest single year in that log, and it is smaller than the previous five years added together.
The tracker says recent years are documented better, because status histories expire, so the early years are thin. Read “busiest year” as a statement about public hyperscaler write-ups. Read Uptime’s chart as the statement about a typical facility. A site can fail less often while the failures that remain take down an edge half the internet sits on.
Costs moved with the blast radius. In Uptime’s 2025 survey, 57% of operators said their most recent major outage cost more than $100,000, and one in five said it cost more than $1 million. In the hyperscaler log, configuration or deployment changes are 32% of major incidents, software bugs or automation another 23%, and power or cooling 18%.
Shared edges made smaller failures famous
Nine of the 14 major AWS incidents in that tracker hit us-east-1. A thermal event there on 7–8 May ran 21 hours 30 minutes to majority recovery, after servers shut down once temperatures passed safe limits. CRN described a cooling failure in Northern Virginia and said Coinbase was affected for roughly seven hours. Customer recovery and region recovery were different clocks.
Cloudflare’s 20 February cleanup withdrew about 1,100 customer prefixes. Global for those customers, invisible to everyone else. Uptime’s public-outage set shows the same shift outside the building: fiber and cable cuts led publicly reported IT outages in 2025 and rose the most against the 2020–2025 average. On 22 June, Cloudflare said it was investigating a fiber cut in eastern North America while X, Reddit, Teams, Zoom, and Discord drew user reports. The incident-by-incident account is in What broke in the 2026 cloud outages.
The bug that used to die in review
Uptime’s 2026 resiliency survey let operators name up to three causes of IT-system outages. Firmware and software faults came back at 53%. Configuration and change management came back at 51%. The report’s line on what comes next: AI may reduce these errors, and it may introduce them.

Source: Annual Outage Analysis 2026, Uptime Institute. Figure 12. Respondents could name up to three causes.
No 2026 postmortem from Cloudflare, Microsoft, or Google says a model wrote the change. The failure mode is the one generated code makes cheap.
On 20 February, Cloudflare was automating a manual job: remove BYOIP prefixes a customer had asked to delete. The task called /v1/prefixes?pending_delete with no value. In Go, Query().Get returns an empty string, the server skipped the “pending deletion” branch, and the API returned every prefix. The job deleted them until an engineer killed it. Cloudflare says testing and code review focused on the customer journey. The task runner was the caller nobody walked. The change had been merged on 5 February. Cloudflare’s postmortem is the source.
That used to be a review comment: what does this return when the flag is empty? Generated code arrives with a test for the path the model understood, and a call site that does not match it. The empty string, the missing jitter, and the check that inspects one object at a time are the cases the generated test skipped.
Microsoft wrote the same shape in July. A break-fix on one optical device was widened, by a defect in a blast-radius tool, to every optical device leaving a datacenter. The safety check passed because it validated each device alone. West US lost traffic entering or leaving the region from 14:44 to 19:41 UTC on 23 July, and the automated rollback needed the connectivity it had just removed. Microsoft’s PIR, ZJV6-SGG, is the document.
Heat, retries, and a grid measured in milliseconds
Uptime says AI and high-density compute are stressing power and cooling, especially in older halls, and that less spare power raises the chance of a cascade. The physical incidents this year match that warning.
On 15 July a 3 millisecond voltage drop tripped both feeds at a Netherlands hall. One backup took the load. The chiller controller never restarted the pumps, and the spare chiller was already out for construction. Google’s report says the hall reached 44°C. VMware Engine, Bare Metal Solution, and NetApp Volumes in europe-west4-a were down for 14 hours 55 minutes. The cause was obvious in minutes. The recovery was physical.
Demand showed up on the inference path the same season. Microsoft’s review of an Azure OpenAI incident on 29 May, tracking ID LYXT-C1Z, describes an internal Microsoft 365 client that retried capacity errors with no backoff, up to 48 extra attempts per failed request, and was exempt from the rate limits on external customers. Axis Intelligence’s log of that PIR has the timeline. The margin that used to absorb a voltage sag or a bad deploy is the margin this traffic is spending.
Read the cleanup job before it ships
Cloudflare’s change sat in the tree for fifteen days. A review that asked what the empty query returns would have stopped a BGP withdrawal. That is a pull request, which is what ThinkReview reads on GitHub, GitLab, Azure DevOps, and Bitbucket. From the editor, ThinkReview MCP reviews the live diff. The finding worth blocking on is specific: this call deletes every prefix, because the filter is empty.
2026 produced the busiest year of public hyperscaler incidents in the log we have, a slower decline in per-site failures, and outages whose blast radius is the product. The next one will look like a small tested change, a cable, or a hall that got too hot. Where that leaves the network is The future of internet outages.
Newsletter
Want the next one?
Leave your email and I’ll send the post when it’s published. Models, agents, and the review work in between. No drip after that.
One email when we publish. Unsubscribe in a click.