concept

Circular Observability Dependency

also called Blind Spot Cycle, Self-Observing Stack, Telemetry Co-Failure

When the tooling used to diagnose a failure runs on the infrastructure that is failing - so the outage removes the ability to see the outage, converting a technical problem into a search problem.

robloxobservabilityblast-radiusbreak-glassincident

Observability systems are systems. They need service discovery, configuration, storage, networking, identity and compute. If they obtain those from the same substrate as the production workload, they fail with it — and they fail at the exact moment their output is the only thing that matters.

The consequence is not merely inconvenience. Time-to-restore is dominated by time-to-diagnose, and without telemetry diagnosis becomes guesswork with a feedback loop measured in hours.

Why it matters

Every incident-response plan assumes the dashboards work. That assumption is invisible until it fails, and it fails specifically during the largest incidents, because those are the ones that take out shared infrastructure. The tooling is reliable in exactly the situations where it is not needed.

A shared substrate is efficient and it makes the observability stack a member of the blast radius it is supposed to describe. The cost is asymmetric: the saving is a fraction of infrastructure spend, and the exposure is hours of unnecessary downtime during the worst event the company will have.

Implementation patterns

  • Separate failure domain for telemetry: its own storage, its own control plane, ideally its own region or account, with no dependency on the production service registry.
  • A minimal break-glass signal that always works — static-IP or DNS-independent endpoints, a status page on entirely separate hosting, per-host log tailing, and a documented way to reach machines when the platform's own access path is down.
  • Test the dependency explicitly: in a game day, disable the shared component and confirm the dashboards still render. This is the only way the hidden coupling is found before it matters.
  • Direct-read fallbacks — the ability to query a host or a database directly, without the aggregation layer, documented in the runbook rather than reconstructed under pressure.
  • Out-of-band communications: an incident channel that does not depend on the product being up, which is a live concern for any company whose product is communication.
  • Buffering at the edge, so telemetry that cannot be shipped during an incident is not lost and the postmortem has the data even if the response did not.

Industry example

During Roblox's 2021 outage, the service-discovery and configuration cluster degraded under lock contention. The telemetry infrastructure depended on that same cluster, so as the platform degraded, engineers progressively lost visibility into what was degrading. The outage ran approximately 73 hours, and the diagnostic difficulty — not the underlying defect — accounts for much of that duration.

The same pattern recurs in every organisation that runs its monitoring on its own platform: the efficiency argument is compelling, the coupling is invisible, and it is discovered once.

Failure scenarios

  • Dashboards backed by the failing datastore, so the metric history vanishes exactly when the trend matters.
  • Alerting that routes through the failing message bus, so no one is even paged.
  • Log aggregation depending on the failing discovery layer, leaving logs on hosts nobody can reach.
  • The incident channel being the product that is down.
  • Authentication to the monitoring stack depending on the failing identity service.
  • A status page hosted in the affected region, so customers are told nothing while being unable to use anything.

Trade-offs

Full isolation of the observability stack means duplicated infrastructure, a second operational surface, and telemetry that cannot use the platform's own conveniences — no shared service mesh, no shared secrets manager, sometimes no shared identity. That is genuine cost and genuine extra work.

The counter-argument is that the alternative is paying for observability that is unavailable during precisely the events it was bought for. A pragmatic middle path is common and defensible: the rich stack shares the platform, and a deliberately minimal independent signal path does not — a handful of black-box probes, a separately-hosted status page, and documented direct access. That covers the catastrophic case at a small fraction of the cost of full duplication.

Interview question

"Your monitoring runs on the same Kubernetes cluster as production. Argue for keeping it there, then tell me what minimum set of signals you would move out anyway, and how you would prove during a game day that they actually survive."