Incident Library
  • Root cause
  • Component
  • Symptom
  • Contributing factor
  • Case

Cases3 cases

1 to 3 of 3

  1. Symptoms

    At 07:06 UTC on 20 October 2025, PubNub's monitoring alerted on raised error levels across multiple services in the IAD (US-East) region. Customers could see higher error rates and latency, and Presence was intermittently unavailable in IAD, SJC (US-West) and HND (AP-Northeast).

    Trigger

    A broad infrastructure outage at AWS, PubNub's cloud provider, in the IAD (US-East) region.

    Root cause
    Component
    –
    Contributing factor
    Detection

    PubNub's monitoring systems alerted at 07:06 UTC on raised error levels across multiple services in IAD.

    Remediation
    • Started regional failover procedures and re-routed new connections to other regions
    • Reset established connections by hand
    • Re-routed Presence traffic to Frankfurt (EU-Central)
    • Brought on additional infrastructure in other regions to absorb traffic
    • Isolated the US-East region again when the second wave hit US-West
    • Scaled up balancer capacity in US-West
    • Rebalanced traffic after AWS restored service and US-East was confirmed stable
    Action items
    • Consolidate and centralise regional failover procedures so they are complete and immediately accessible for all production services
    • Fill gaps in process documentation for newer services before they are fully adopted into production
    • Fix internal tooling problems, including inventory and DNS resolution, that made mitigation harder
  2. Symptoms

    At 17:52 UTC on 12 June 2025, Cloudflare's WARP team saw registrations of new devices failing and declared an incident. Minutes later the Cloudflare Access team got an alert on a rapid rise in error rates, and Service Level Objectives for several other services fell below target. All of them shared one cause: Workers KV was unavailable.

    Trigger

    Part of the storage infrastructure behind Workers KV is backed by a third-party cloud provider, and that provider had an outage. Workers KV could then no longer serve cold reads or writes from its central data store.

    Root cause
    Component
    Contributing factor
    Detection

    The WARP team saw registrations of new devices failing at 17:52 UTC and declared an incident. At 18:05 the Access team received an alert on a rapid increase in error rates and Service Level Objective alerts fired across several teams; at 18:06 the incidents were combined once Workers KV unavailability was identified as the shared cause.

    Remediation
    • Activated the Challenges and Turnstile kill switches so visitors were not blocked
    • Degraded Gateway rules that referenced identity or device posture state to remove the Workers KV dependency
    • Force-dropped Access identity and device posture requests to shed load on Workers KV
    • Worked on a Workers KV release against an alternative backing datastore in case the storage stayed down
    • Restored Access and Device Posture calls to Workers KV once the third-party service was back
    Action items
    • Avoid singular dependencies on storage infrastructure that Cloudflare does not own
    • Improve the ability to recover critical services, including Access, Gateway and WARP
    • Add redundancy to Workers KV's storage infrastructure and remove the dependency on any single provider
    • Make each affected product resilient to the loss of any single point of failure, third-party dependencies included
    • Build tooling to re-enable namespaces progressively during storage incidents, so services come back without overloading Cloudflare's own infrastructure
    Lessons

    Cloudflare holds itself responsible for its choice of dependencies and how it architects around them, even when a vendor failure was the trigger. Building many products on Workers KV normally makes them more robust than separate storage services would, but here the cascading failure of Workers KV made the outage worse and widened its blast radius.

  3. Symptoms

    During the Americas' morning of 4 January 2021, an external monitoring service paged Slack because error rates were creeping up. While the investigation was starting, Slack's own dashboarding and alerting service became unavailable, so responders had to work without their usual dashboards and alerts.

    Trigger

    On the first working day after the holidays, Slack's traffic went from the quietest time of the year to one of its biggest days overnight, with cold client caches pulling more data than usual, and one of Slack's AWS Transit Gateways did not scale fast enough for it.

    Root cause
    Component
    Contributing factor
    Detection

    An external monitoring service paged Slack when error rates started creeping up during the Americas' morning. AWS engineers were separately alerted to the packet drops by AWS's internal monitoring.

    Remediation
    • Disabled automated downscaling of the web tier to keep serving capacity and allow investigation
    • Cleared up the broken, partly provisioned instances that filled the autoscaling groups
    • Repaired provision-service so new web tier instances could be provisioned and enter service
    • AWS engineers increased the Transit Gateway capacity manually across all Availability Zones
    Action items
    • AWS reviews its Transit Gateway scaling algorithms for large packet-per-second increases
    • Request a preemptive upscaling of the Transit Gateways at the end of the next holiday season
    • Run the dashboard service instances in the same VPC as their database to remove the Transit Gateway dependency
    • Load test provision-service regularly
    • Reevaluate health-checking and autoscaling configurations so they cannot overload provision-service again
    Lessons

    Monitoring has to stay as independent as possible of the infrastructure it watches, or it fails when it is needed most. Here the dashboard and alerting services failed because they ran in a different VPC from their databases and so depended on the Transit Gateways. provision-service had been load tested before, but this event exceeded the earlier scale-ups.

Check your cluster for this

These 3 cases involve Automated capacity manager and Database. kubegap audits a Kubernetes cluster for gaps like these, read-only, from Claude Code or Codex; its checks cite public reports like the ones in this library.

By root cause1