Observability & Fault Tolerance
Traces, alerts, circuit breakers, and degrading gracefully.
Once a system spans many services, you cannot debug it by reading logs on one box. Observability is the answer, built on three pillars: metrics (request rates, latencies, error counts), centralized logs, and distributed traces — a record that follows a single request across every service it touches.
The animation opens with a trace drawn as a waterfall: one request crossing four services, each hop rendered as a latency bar. Watch one bar stretch and turn red — that hop is the bottleneck, and the waterfall makes it obvious in a way four separate log files never would.
Then the failure propagates. A dashboard line graph spikes, an alert fires, and the interesting part begins: a circuit breaker switch animates open. A circuit breaker watches calls to a struggling dependency and, after enough failures, stops calling it entirely — failing fast instead of stacking up doomed, slow requests that would drag the caller down too.
Finally, watch where the traffic goes: not to an error page, but to a degraded-but-alive fallback path — cached data, a simpler response, a queued retry. That is graceful degradation.
In interviews, "what happens when the cache/queue/payment provider is down?" is a guaranteed probe. Answering with a concrete pattern — circuit breaker plus fallback — clears the bar; "it retries" does not.