← manishpande.in Contents
Reference architecture · 2026 The Agentic Platform by Manish Pande
© 2026 Manish Pande Mumbai, India Set in Space Grotesk · Source Serif 4 · JetBrains Mono
OPS · Reliability Chapter 29

Reliability, SLOs & Disaster Recovery

Chapter 21 gave the patterns that keep a platform standing when its dependencies fail. This chapter is the discipline around them: defining what "reliable" even means for a system whose outputs are probabilistic, committing to it as a number, sizing capacity from first principles, and surviving the disasters that the resiliency patterns alone do not address. It is the operational-maturity layer that turns a working architecture into a service you can put an SLA on.

29.1 What "reliable" means when the output is probabilistic

Classical reliability assumes a correct answer exists and the system either returns it or fails. Agents break that assumption: there is often no single correct output, and quality is a distribution. So you must separate two kinds of reliability. The mechanical kind — availability, latency, and successful completion — is measured exactly as in any distributed system. The quality kind — was the answer good? — is itself probabilistic and can only be measured statistically, by sampling production and scoring it with the online evaluation of Chapter 19. The crucial consequence: you can promise availability and latency, but you cannot promise a correct answer — only a measured quality floor.

SLIs availability latency · p95 / TTFT completion rate quality · online eval (Ch.18) SLO + error budgettargetsburn-rate alerts ship fasterbudget healthy freeze / stabilizebudget burned governs cadence (Ch.20) promise availability, latency, and a measured quality floor — not a correct answer; the error budget sets how fast you ship
Fig 29.1 · The reliability control loop. Mechanical indicators (availability, latency including time-to-first-token, completion rate) and a statistical quality indicator from online evaluation feed an SLO with an error budget. A healthy budget buys a faster release cadence (Ch. 21); a burned budget freezes shipping until reliability recovers. Quality is committed to as a measured floor, never as a guarantee of correctness.
Table 29.1 — Service-level indicators for an agentic platform
SLIDefinitionHow measured
AvailabilityFraction of requests served (not errored/dropped)Gateway + orchestrator success counters
Latencyp50/p95/p99, and time-to-first-token for streamed runsTrace spans (Ch. 18)
Completion rateRuns that reach a terminal success state vs. abandon/loop-outFSM terminal states (Ch. 5)
QualitySampled output score against a rubric — a floor, not a guaranteeOnline eval on sampled traffic (Ch. 19)
Cost per taskSpend per successful outcome (unit economics)Metering (Ch. 20, 25)

29.2 SLOs and error budgets

An SLI is a measurement; an SLO is a target on it (for example, 99.5% availability and a quality score above a set threshold, per month), and the gap between the target and 100% is the error budget — the amount of unreliability you are permitted to spend. The error budget is the link between reliability and velocity (Ch. 21): while the budget is healthy, ship quickly; when it is being burned, freeze feature work and stabilize. Burn-rate alerts warn when you are consuming the budget too fast to last the period. SLOs are set per tier and per tenant (Ch. 26), because a premium tenant's promise differs from best-effort.

29.3 Capacity planning, quantitatively

The capacity floor of Chapter 21 must be sized, and the arithmetic is approachable. The sustained inference demand is, to first order:

tok/s ≈
concurrent runs × model-calls per run × tokens per call ÷ target wall-clock seconds
+headroom
provision above the mean for peaks (e.g. 1.5–2×) so bursts queue briefly, not fail
queue↔latency
deeper queues raise utilization but add wait — the durable engine makes waiting cheap (Ch. 4)

Worked: 200 concurrent runs, ~8 model calls each, ~1,500 tokens per call, completing in ~30 s, implies on the order of 80,000 tokens/second of sustained demand — which you translate into provisioned-throughput units or a GPU count for your serving stack (Ch. 21), then add headroom. Little's law gives the queuing intuition: average concurrency equals arrival rate times average run duration, so long agent runs inflate concurrency fast. Size the floor to the mean, absorb peaks in the queue, and let per-tenant fairness (Ch. 26) decide who waits when the floor is saturated.

29.4 Disaster recovery and business continuity

Resiliency patterns handle a dependency failing; disaster recovery handles you failing — a region outage, a corrupted store, a bad deploy that poisons data. Two numbers frame it: RPO (recovery point objective — how much data you can afford to lose) and RTO (recovery time objective — how long restoration may take). The non-obvious, critical point for this architecture: the durable execution store is your system of record (Ch. 4) — it holds every in-flight run — so its backup, point-in-time recovery, and replication govern whether a storage failure is a blip or a mass loss of work. Back up the event history and the data stores of Chapter 27 to their RPO; decide active-passive versus active-active multi-region against your RTO; and recall the control-plane/data-plane split of Chapter 3 — they fail over differently, the control plane prizing consistency and the data plane prizing availability. A provider outage is itself a DR scenario the gateway's fallback (Ch. 6) already addresses. Write the runbooks, and rehearse them with game-days, before the incident — restore procedures that have never been run do not work.

First principle · Commit to availability, latency, and a quality floor — and DR-test the system of record

Define SLIs, set SLOs with error budgets that govern release velocity, and size the capacity floor from first principles rather than guesswork. Promise a measured quality floor, never correctness. And treat the durable store as the system of record it is: if its backups and failover have not been tested, you do not have them.

Hazard · The correctness-SLA trap, and the un-backed durable store

Two failures sink reliability programs. Promising customers an accuracy SLA treats a probabilistic system as deterministic — commit to availability, latency, and a measured quality floor instead, or you will breach a promise you could never keep. And neglecting backup and DR for the durable execution store means a single storage failure erases every in-flight run at once — the one outage from which there is no graceful recovery. The system of record must be the best-protected component you operate.

· · ·