Every major cloud outage since 2020, sourced and searchable.
The provider's own stated times, root causes, and post-mortems for 62 major incidents. Explore the timeline, see what actually causes outages, and estimate what the next one would cost you.
Last updated · Sources linked on every incident
major outages tracked since January 2020
62
median outage duration
6h 12m
caused by changes and code, not hardware
55%
days two AWS regions have been disrupted (UAE and Bahrain)
239
Six years of outages at a glance
Each circle is one outage, sized by how long it lasted and colored by its root cause. Hover for details, click to open the full record.
- Config change
- Software bug
- Power or cooling
- Network
- Capacity
- Physical damage
- DNS
- Third-party
- Not stated
- Circle size = duration · dashed = duration not stated · bar = ongoing
Most outages start with a change
Configuration pushes, deployments, and automation acting on bad input cause more major outages than power, hardware, or attacks. Click a cause to filter the timeline.
55% of major outages came from configuration changes or software and automation, versus 18% from power and cooling. Physical events are rarer but tend to last longer.
By provider · median duration
- AWS
7h 34m
2020: 1, 2021: 5, 2022: 0, 2023: 1, 2024: 1, 2025: 2, 2026: 4 - Azure
8h 17m
2020: 1, 2021: 3, 2022: 0, 2023: 2, 2024: 4, 2025: 4, 2026: 6 - Google Cloud
7h 27m
2020: 1, 2021: 1, 2022: 1, 2023: 1, 2024: 2, 2025: 2, 2026: 4 - Cloudflare
1h 15m
2020: 1, 2021: 0, 2022: 1, 2023: 2, 2024: 0, 2025: 8, 2026: 4
Counts reflect what each provider documents publicly, not a reliability ranking. Microsoft publishes reviews for more incidents than the others, so this tracker includes Azure's 20 broadest.
When it stays down
The longest outages in this tracker, measured from first customer impact to the last service back to normal. Two are still open.
- AWS · me-central-1 (UAE) Mar 1, 2026 · Physical damage239 days, ongoing
- AWS · me-south-1 (Bahrain) Mar 2, 2026 · Physical damage238 days, ongoing
- Azure · East US 2 Jan 8-11, 2025 · Configuration or deployment change50h 13m
- Cloudflare · Hillsboro, Oregon (control plane) Nov 2-4, 2023 · Power or cooling40h 42m
- Google Cloud · europe-west2 (London) Jul 19-20, 2022 · Power or cooling38h 47m
- Azure · Southeast Asia, East Asia Feb 7-9, 2023 · Power or cooling32h 11m
- Google Cloud · europe-west9 (Paris) Apr 25-26, 2023 · Physical damage27h 14m
- Azure · Central US Jul 18-19, 2024 · Configuration or deployment change24h 20m
- Azure · West US 2 May 29-30, 2026 · Power or cooling22h 06m
- Azure · Switzerland North Sep 26-27, 2025 · Configuration or deployment change22h 05m
- AWS · us-east-1 (N. Virginia), one AZ May 7-8, 2026 · Power or cooling21h 30m
- Azure · West US Feb 7-8, 2026 · Power or cooling20h 26m
What would the next outage cost you?
Plug in your numbers, or replay a real outage's duration against your business.
$50,619
$281 per minute over 3h 00m
- Lost revenue$6,849
- Engineers responding$4,320
- Idle employees$9,450
- SLA credits$30,000
The median major outage in this tracker lasted 6h 12m. Try replaying one from the list.
Formula: lost revenue (revenue per minute × share affected × share lost) + response staff + idle employees, per minute, times outage minutes, plus SLA credits. Assumes $120/hour fully loaded for engineers and $70/hour for other staff at 30% lost productivity. Excludes churn, brand damage, and regulatory penalties.
57% / 1 in 5
57% of operators said their most recent major outage cost more than $100,000; for the second consecutive year, 1 in 5 reported costs above $1 million.
Uptime Institute, Annual Outage Analysis 2026 (figures from its 2025 survey), 2026
$1.85M per hour
High-impact business outages cost respondents an average of $1.85 million per hour, over $30,000 a minute; the annualized cost of high-impact outages was $73.5M in 2026, down from $76M in 2025.
$400B a year
Downtime costs Global 2000 companies $400 billion annually, or 9% of profits.
Splunk and Oxford Economics, The Hidden Costs of Downtime, 2024
>$300,000 per hour
One hour of downtime costs more than $300,000 for over 90% of mid-size and large enterprises; 41% put it at $1 million to over $5 million.
$500M to $650M
The October 20, 2025 AWS us-east-1 outage caused an estimated $500 million to $650 million in financial losses for US companies.
$38M to $581M
Preliminary insured-loss estimate for the October 2025 AWS outage is $38 million to $581 million, with most outcomes expected at the lower end.
All 62 incidents
Click any column to sort, any row to open the record. Uses the same filters as the timeline.
| Affected | Source | |||||
|---|---|---|---|---|---|---|
| europe-west2 (London) | 7h 52m | Power or cooling: Google cites a power event in one London zone; a full analysis has not yet been published. | Compute Engine, GKE, Cloud Run, Cloud SQL, Spanner, BigQuery | Status page | ||
| Global (Cloudflare One) | 3h 12m (status page window) | Not stated: No post-mortem yet; the status page cites a Gateway traffic issue when identity policies are evaluated. | Cloudflare One Gateway, Access logins, Access API, dashboard | Status page | ||
| Multiple regions | 5h 45m | Configuration or deployment change: Paused gateway OS updates resumed at once while a recent change slowed config processing, overloading the regional networking control plane. | ExpressRoute, App Gateway, Firewall, Bastion, VPN Gateway, Virtual WAN | Post-mortem | ||
| us-central1 (Iowa) | 4h 11m | Network: A procedural error during a router upgrade unplugged every fiber path in a datacenter, isolating its compute from the network. | Compute Engine, GKE, Cloud SQL, AlloyDB, Apigee, Cloud Run | Post-mortem | ||
| us-west1 (Oregon) | 2h 22m | Network: Planned fiber maintenance cut inter-datacenter capacity, rerouting failed, and congestion cascaded into Spanner and metadata latency. | Persistent Disk, GKE, Compute Engine, Cloud Run, Bigtable, IAM | Post-mortem | ||
| West US | 4h 57m | Software bug or automation: A defect in automated repair tooling widened one optical-device repair to every optical device leaving a datacenter. | Traffic in and out of West US; App Service, AKS, Cosmos DB | Post-mortem | ||
| europe-west4 (Netherlands) | 14h 55m | Power or cooling: A brief utility voltage drop tripped both power feeds, a backup unit failed, and a cooling failure followed. | Google Cloud VMware Engine, Bare Metal Solution, NetApp Volumes | Post-mortem | ||
| West US 2 | 22h 06m | Power or cooling: Lightning-driven voltage swings locked out cooling systems, and rising heat forced infrastructure shutdowns across two zones. | Compute, networking, storage and dependent services | Post-mortem | ||
| us-east-1 (N. Virginia), one AZ | 21h 30m to majority recovery | Power or cooling: A thermal event in one data center caused power loss, and servers shut down automatically when temperatures passed safe limits. | EC2, EBS, ELB, EKS, ElastiCache, Redshift, MSK, NAT Gateway | Status page | ||
| East US | 11h 52m | Software bug or automation: Lock contention in one partition of the networking control-plane service spread across zones as demand shifted. | VM, Azure Virtual Desktop provisioning, scaling and updates | Post-mortem | ||
| me-south-1 (Bahrain) | 238 days, ongoing | Physical damage: A drone strike near an AWS facility caused physical and power damage that later spread across multiple AZs. | Region-wide (149 services); region declared unavailable | Status page | ||
| me-central-1 (UAE) | 239 days, ongoing | Physical damage: Drone strikes hit two AWS facilities, causing structural, power, fire and water damage; AWS says some AZ data cannot be restored. | Region-wide: EC2, EBS, RDS, S3, DynamoDB, Lambda, Console | Status page | ||
| Global (BYOIP customers) | 5h 07m (Cloudflare's summary says 6h 07m) | Configuration or deployment change: A broken sub-process in an Addressing API release withdrew about 1,100 customer BYOIP prefixes via BGP. | BYOIP customer services, 1.1.1.1 website | Post-mortem | ||
| Global (CloudFront edge) | 1h 35m DNS errors (configuration propagation delays to 7h 48m) | DNS: A faulty fleet of CloudFront DNS servers returned NXDOMAIN errors until AWS removed it from service. | CloudFront DNS and config propagation, API Gateway, AppSync | Status page | ||
| West US | 20h 26m | Power or cooling: A transformer failure cut utility power and a control-system fault blocked the generator switch, draining UPS batteries. | Storage, compute and networking in West US | Post-mortem | ||
| Multiple regions | ~6h 27m | Software bug or automation: A policy remediation wrongly disabled anonymous access on Microsoft storage accounts that hold VM extension packages. | VMs, VM Scale Sets, AKS, Managed Identities | Post-mortem | ||
| Miami (IPv6) | 25m | Software bug or automation: A routing-policy automation bug on a Miami router leaked peer routes to other peers and providers. | IPv6 traffic through Miami | Post-mortem | ||
| Global (1.1.1.1 resolver) | Not stated | Configuration or deployment change: A memory-saving cache change moved CNAME records to the end of DNS answers, breaking clients that expect them first. | 1.1.1.1 resolution for some DNS clients | Post-mortem | ||
| Global (about 28% of HTTP traffic) | 25m | Configuration or deployment change: A WAF change to mitigate a React vulnerability hit a Lua nil-value bug in the older proxy. | Proxied HTTP traffic, dashboard, API | Post-mortem | ||
| Global | 5h 46m (core traffic restored in 3h 10m) | Configuration or deployment change: A database permissions change doubled the Bot Management feature file past a size limit, crashing traffic-routing software network-wide. | Core CDN and proxy, Workers KV, Access, Turnstile, dashboard | Post-mortem | ||
| Global | 8h 24m | Configuration or deployment change: Customer config changes across two control-plane versions produced incompatible metadata that crashed Front Door edge servers worldwide. | Front Door, CDN, Portal, App Service, Entra ID, Microsoft 365 | Post-mortem | ||
| us-east-1 (N. Virginia) | 13h 43m | Not stated: AWS did not state a cause; it reported higher EC2 launch latency in one AZ and impaired ECS cells. | EC2 launches, ECS, Fargate, EMR Serverless, EKS, Glue, Batch | Status page | ||
| us-east-1 (N. Virginia) | 14h 32m | DNS: A latent race condition in DynamoDB's automated DNS management left the regional endpoint with an empty DNS record that automation could not repair. | DynamoDB, EC2 launches, NLB, Lambda, ECS/EKS, STS, IAM sign-in | Post-mortem | ||
| Africa, Europe, APAC, Middle East | 8h 10m (availability restored in 5h 00m) | Configuration or deployment change: During a manual cleanup of bad Front Door metadata, engineers bypassed the protection layer and the metadata reached edge servers. | Front Door, CDN, Azure Portal, management portals | Post-mortem | ||
| Switzerland North | 22h 05m (many customers back in 4h 06m) | Configuration or deployment change: A malformed certificate in a load balancer config change was pushed to all zones at once through an expedited path. | Storage, VMs, App Service, API Management, Cosmos DB, Redis | Post-mortem | ||
| Global (control plane) | 1h 15m | Software bug or automation: A dashboard bug flooded the Tenant Service API during its redeploy, breaking API authorization. | Cloudflare dashboard and many APIs | Post-mortem | ||
| Links to AWS us-east-1 | 3h 51m including lingering latency (core 3h 11m) | Capacity or overload: One customer's request surge from AWS us-east-1 saturated Cloudflare's direct links to that region. | Traffic to and from origins in AWS us-east-1 | Post-mortem | ||
| Global (1.1.1.1 resolver) | 1h 02m | Configuration or deployment change: A misconfiguration in legacy service-topology systems withdrew the 1.1.1.1 prefixes from the Internet. | 1.1.1.1 public DNS resolver, Gateway DNS | Post-mortem | ||
| Global | 7h 27m (core API errors 3h 00m) | Configuration or deployment change: A policy change with blank fields replicated globally and hit an unguarded null-pointer path in new quota code, crash-looping API management. | IAM, Compute Engine, Cloud Storage, BigQuery, Cloud Run, Workspace | Post-mortem | ||
| Global | 2h 36m (Cloudflare's summary says 2h 28m) | Third-party dependency: Workers KV's storage backend, partly hosted on a third-party cloud provider, failed when that provider had an outage. | Workers KV, WARP, Access, Gateway, Images, Stream, Turnstile | Post-mortem | ||
| us-east5 (Columbus) | About 6h (per The Register) | Power or cooling: Utility power was lost and UPS batteries failed, so engineers bypassed the UPS to restore generator power. | 20+ Google Cloud services in one zone | News report | ||
| Global | 1h 07m | Configuration or deployment change: During a credential rotation, new R2 credentials went to a dev instance and the old ones were deleted. | R2 writes and reads, dependent services | Post-mortem | ||
| Global | 59m | Configuration or deployment change: While handling a phishing report, an operator disabled the production R2 Gateway service instead of a single bucket. | R2, Stream, Images, Cache Reserve, Vectorize, Log Delivery | Post-mortem | ||
| East US 2 | 50h 13m | Configuration or deployment change: While enabling a feature, networking PubSub replicas were recycled in parallel, breaking quorum and losing index data. | VMs, Private Link, Databricks, App Service, SQL | Post-mortem | ||
| About 34 regions | 11h 40m | Software bug or automation: A decommissioning job deleted Traffic Manager profiles for live storage accounts because subscription ownership was misassigned. | Blob Storage, Data Lake Storage, Container Registry, Databricks | Post-mortem | ||
| europe-west3 (Frankfurt) | 12h 39m | Power or cooling: A power failure and cooling problem forced parts of one Frankfurt zone to power down. | Compute Engine, GKE, Persistent Disk, Dataflow, Pub/Sub, Vertex AI | News report | ||
| us-east-1 (N. Virginia) | 6h 52m | Software bug or automation: A new Kinesis cell-management system mishandled a cell with many low-throughput shards, marking healthy hosts unhealthy and overloading connection provisioning. | Kinesis, CloudWatch Logs, Firehose, S3 events, ECS, Lambda, Redshift | Post-mortem | ||
| Global (multiple regions) | 7h 58m (main impact 2h 13m) | Network: After a DDoS mitigation, a site power issue and latent network misconfiguration routed traffic through congested European scrubbing systems. | Front Door, CDN, Azure Portal, parts of Microsoft 365 | Post-mortem | ||
| Central US | 24h 20m (storage fixed in 5h 15m) | Configuration or deployment change: An incomplete storage allow list was published region-wide, so storage rejected disk I/O from many VM hosts. | VMs, SQL, Cosmos DB, Entra ID, AKS, Microsoft 365 | Post-mortem | ||
| Australia (single customer, GCVE) | Not stated (about a week, per The Register) | Configuration or deployment change: A misconfiguration during provisioning of UniSuper's private cloud triggered an unknown bug that deleted it, per Google. | One customer's Google Cloud VMware Engine private cloud | News report | ||
| Multiple regions | 7h 28m | Software bug or automation: A latent bug in an old Azure Resource Manager preview feature crashed ARM nodes on startup after an internal config change. | Azure Resource Manager, CLI, PowerShell, Portal | Post-mortem | ||
| Hillsboro, Oregon (control plane) | 40h 42m (most control plane back in 6h 14m) | Power or cooling: Utility problems, a ground fault and generator failures cut power to a data center hosting control-plane services not in the HA cluster. | Dashboard, API, Logpush, analytics, Workers API, Zero Trust | Post-mortem | ||
| Global | 37m | Software bug or automation: A bug in a new Workers KV deployment tool sent production traffic to a staging build, returning errors to dependent services. | Workers KV, Pages, Access, Gateway, WARP, dashboard | Post-mortem | ||
| us-east-1 (N. Virginia) | 3h 48m | Software bug or automation: Lambda Frontend scaling crossed a never-reached capacity threshold in one cell, triggering a latent defect that left execution environments unused. | Lambda, STS, AWS Sign-in, EventBridge, EKS, Console, Connect | Post-mortem | ||
| europe-west9 (Paris) | 27h 14m | Physical damage: A cooling water leak flooded a UPS room and started a fire, and the building shutdown took the region's control plane down. | Compute Engine, GKE, Cloud SQL, Spanner, IAM, BigQuery, Console | Post-mortem | ||
| Southeast Asia, East Asia | 32h 11m | Power or cooling: A voltage dip tripped chillers in one zone, forcing shutdowns, and regional failover and ARM dependencies also failed. | Many services in both regions, ARM, SQL Database | Post-mortem | ||
| Global (WAN) | 5h 35m (most regions back in 1h 57m) | Configuration or deployment change: An untested router command, on one vendor's hardware, forced every WAN router to recompute routing at once. | Connectivity to all regions, Microsoft 365, Azure Government | Post-mortem | ||
| europe-west2 (London) | 38h 47m | Power or cooling: Redundant cooling systems failed together during record UK heat, so Google powered down part of a zone. | Compute Engine, Persistent Disk, Cloud Storage, zonal services | Post-mortem | ||
| 19 busiest data centers | 1h 15m | Configuration or deployment change: A BGP policy change with reordered terms withdrew critical prefixes in the newest data center architecture. | All proxied traffic through 19 locations | Post-mortem | ||
| us-east-1 (N. Virginia), one AZ | Not stated (power restored after 1h 04m) | Power or cooling: A power outage hit one Availability Zone, and some hardware could not be recovered. | EC2, EBS | News report | ||
| Global | 1h 25m | Configuration or deployment change: An OS update made a backend Azure AD auth service unresponsive, and a circuit-breaker bug spread the failure. | Azure AD sign-in for Microsoft 365, Dynamics 365, Azure | Post-mortem | ||
| us-west-1, us-west-2 | 45m | Network: AWS traffic engineering moved too much traffic onto parts of its backbone, congesting links to some ISPs. | Internet connectivity to a subset of destinations | News report | ||
| us-east-1 (N. Virginia) | 11h 10m to last service (core 6h 52m) | Capacity or overload: An automated scaling activity caused a connection surge that overwhelmed devices linking AWS's internal network to its main network. | EC2 APIs, Route 53 APIs, Console, STS, API Gateway, EventBridge, ECS | Post-mortem | ||
| Global | 1h 54m | Software bug or automation: A latent race-condition bug in the config pipeline pushed a corrupted configuration file to Cloud Load Balancing. | Cloud Load Balancing, Cloud Run, App Engine, Cloud Functions, Firebase | Post-mortem | ||
| us-east-1 (N. Virginia), one AZ | 7h 34m | Capacity or overload: Resource contention degraded the EBS subsystem that coordinates storage hosts, leaving I/O stuck. | EBS, EC2, Redshift, OpenSearch, ElastiCache, RDS | News report | ||
| ap-northeast-1 (Tokyo) | 6h 12m | Software bug or automation: A latent network-device OS bug, triggered by a specific customer packet pattern, made devices in one Direct Connect layer fail. | AWS Direct Connect into Tokyo | Post-mortem | ||
| Global | 1h 09m to most services (DNS resolution core 39m) | DNS: A global DNS query surge exposed a code defect in Azure DNS edge caches, and client retries added load. | Azure DNS, Azure and Microsoft services globally | Post-mortem | ||
| Global | 14h 37m (Azure AD fixed in 2h 05m) | Software bug or automation: Key-cleanup automation ignored a retain flag and removed an Azure AD signing key still in use. | Azure AD for Microsoft 365, Teams, Xbox Live, Azure | Post-mortem | ||
| Global | 47m | Software bug or automation: An automated quota system cut the authentication service's storage quota to near zero after an incomplete migration reported zero usage. | Google account sign-in, OAuth, all services needing authentication | Post-mortem | ||
| us-east-1 (N. Virginia) | 17h 08m | Capacity or overload: Added Kinesis front-end capacity pushed every server past an OS thread limit, so servers could not build shard maps or route requests. | Kinesis, Cognito, CloudWatch, Lambda, EventBridge, ECS, EKS | Post-mortem | ||
| Global | About 5h 00m including tail (core about 2h 58m) | Configuration or deployment change: A defect in Azure AD's safe-deployment system sent a crashing update straight to production. | Azure AD and AD B2C authentication | Post-mortem | ||
| 20 backbone locations | 27m | Configuration or deployment change: A one-line router config change in Atlanta leaked BGP routes and pulled all backbone traffic to Atlanta, overloading it. | CDN, proxy and all services in affected locations | Post-mortem |
What these outages have in common
An application running in one region, or depending on services anchored in one region, goes down with it.
Staying online
Run active-active
A warm standby that never serves real traffic is untested until the outage.
Find hidden dependencies
Identity, DNS, secrets, CI/CD, and observability often live in one region even when the app doesn't.
Plan the data layer
Choose replication per service based on how much inconsistency it can tolerate.
Route by health
Use health-checked global routing instead of manual DNS changes, with limits on how much capacity automation can remove.
FAQ
This tracker documents 62 major outages at AWS, Microsoft Azure, Google Cloud, and Cloudflare from January 2020 to October 23, 2026: 14 at AWS, 20 at Azure, 12 at Google Cloud, and 16 at Cloudflare. 16 happened in 2025 and 18 so far in 2026. Counts reflect what each provider documents publicly, so they are not a reliability ranking.
Changes, not hardware. 34 of the 62 outages (55%) started with a configuration or deployment change, a software bug, or automation acting on bad input. Power and cooling failures caused 11. The rest came from network faults, capacity overload, physical damage, and DNS.
The median outage in this tracker lasted 6h 12m, measured from first customer impact to full recovery using each provider's own timeline. The longest completed outage was Azure East US 2 on Jan 8-11, 2025, at 50h 13m. Two AWS regions, me-central-1 (UAE) and me-south-1 (Bahrain), have been disrupted since March 2026 and are still listed as open on the AWS Health Dashboard.
57% of operators said their most recent major outage cost more than $100,000; for the second consecutive year, 1 in 5 reported costs above $1 million. (Uptime Institute, Annual Outage Analysis 2026 (figures from its 2025 survey).) One hour of downtime costs more than $300,000 for over 90% of mid-size and large enterprises; 41% put it at $1 million to over $5 million. (ITIC, 2024 Hourly Cost of Downtime.) The October 20, 2025 AWS us-east-1 outage caused an estimated $500 million to $650 million in financial losses for US companies. (Parametrix.)
They run the application active-active in more than one region or cloud, so traffic moves to healthy locations instead of waiting on a failover runbook. They also move hidden single-region dependencies such as identity, DNS, secrets, and CI/CD, and route traffic by health checks. During the October 2025 AWS us-east-1 outage, 20% of Control Plane customers had us-east-1 in their Global Virtual Clouds. Their workloads were active and running in healthy locations within 10 seconds, with no customer downtime, according to Control Plane internal incident telemetry.
Methodology
Major incidents at AWS, Microsoft Azure, Google Cloud, and Cloudflare from January 1, 2020. Sources: AWS Post-Event Summaries and Health Dashboard history, Azure Post Incident Reviews, Google Cloud incident reports, and Cloudflare post-mortems; where none exists, a credible news report, marked as such. Durations come from each provider's own start and end times and measure the full event window, with the core fault in parentheses. Root causes are paraphrased from the provider's report. Recent years are better documented because some status histories keep a limited window. Downtime figures are from the publishers named. Published by Control Plane.
Inclusion rule: major, customer-facing outages documented by the provider. Latency or degraded performance in a small area isn't included.
Cite this data: Control Plane, "Cloud Outage Tracker," updated October 23, 2026, https://controlplane.com/cloud-outage-tracker.
