TECHNICAL GUIDE · RELIABILITY
AI Reliability Engineering: SLOs, Failure Modes and Recovery
How reliability changes when the system is probabilistic — SLOs, error budgets, failure modes and resilience patterns that keep production AI operational.
What Does Reliability Mean for a Probabilistic AI System?
Reliability for a deterministic software system means the system does what it is specified to do — a request returns the correct response within the latency SLO. Reliability for a probabilistic AI system is different: the "correct answer" is a distribution, not a constant. The same input can produce different outputs at different temperatures, and whether an output is "good" depends on a quality judgement (accuracy, faithfulness, relevance, safety) that a deterministic system does not require. AI reliability engineering extends SRE practice with quality SLOs that measure whether the output is good enough, not just whether the service is up and fast.
The distinction matters because the most common AI failure — quality degradation — does not trigger an error. The system returns a 200 OK response with a plausible-sounding but wrong answer. No exception, no latency spike, no saturation. Service SLOs (latency, availability) show green; the system is "reliable" by traditional measures and failing by AI measures. Google's SRE practice establishes that 100% is never the right reliability target — but for AI systems, the target must include a quality dimension or the team operates blind to the dominant failure mode. Quality is the production barrier that traditional reliability does not measure — a system that returns answers fast but returns wrong answers is not reliable in the sense that matters.
Quality SLOs are the AI extension to service SLOs. A service SLO says "99.9% of requests return within 2 seconds"; a quality SLO says "95% of classifications match the human gold standard" or "90% of RAG answers are faithful to the retrieved context." A system can meet its service SLO and fail its quality SLO — the responses are fast and available, but wrong. AI reliability engineering requires both: service SLOs that measure availability and latency, and quality SLOs that measure output quality. Without quality SLOs, the error budget does not account for the failures that matter most.
Which Service, Quality and Business SLIs Should Be Measured?
Service SLIs measure the system as a service: latency (how long requests take), availability (what fraction succeed), throughput (how many requests per second), and saturation (how loaded the system is). These are the four golden signals from SRE practice, and they apply to AI systems as they do to any service. For AI workloads, service SLIs must be decomposed per layer: model serving latency, retrieval latency, agent loop time, and tool-call latency are separate latency signals — a single number hides the layer that is slow.
Quality SLIs measure the output, not the service. For ML systems: accuracy, precision, recall, F1 against a labeled gold standard. For LLM and RAG systems: faithfulness (does the answer stick to the retrieved context), relevance (is the answer useful for the query), safety (does the answer avoid harmful content), and bias (does the system discriminate across protected groups). Quality SLIs are harder to measure than service SLIs because they require a quality judgement — a labeled dataset, a human evaluator, or an LLM-as-judge rubric — not just a timer. They are also harder to alert on because they are collected periodically, not per request.
Business SLIs connect the system to the outcome the organisation cares about: conversion rate (does the AI feature increase conversion), user satisfaction (CSAT, retention), cost per outcome (how much compute per successful task), and task completion (does the agent finish the task the user asked for). Business SLIs are the ultimate measure of reliability — a system that meets its service and quality SLOs but does not move the business metric is not reliable in the sense that matters. Business SLIs are the slowest to collect and the hardest to attribute, but they are the ones that survive budget conversations.
Service vs Quality vs Business SLIs
Three categories of service-level indicators for AI systems. Service measures the system; quality measures the output; business measures the outcome.
| Dimension | Service SLI | Quality SLI | |
|---|---|---|---|
| What it measures | System performance — latency, availability, throughput, saturation | Output quality — accuracy, faithfulness, relevance, safety | Outcome value — conversion, satisfaction, cost-per-outcome, task completion |
| Collection method | Per-request instrumentation — timers, counters | Periodic — labeled dataset, human eval, LLM-as-judge | Periodic — product analytics, attribution models |
| Alerting cadence | Real-time — alert on threshold breach | Periodic — alert on quality drop between eval runs | Slow — weekly or monthly review |
| Failure visibility | Visible immediately — error or latency spike | Delayed — quality drop detected at next eval run | Delayed and indirect — outcome drops weeks later |
| AI-specific challenge | Latency includes token generation, which varies with output length | Quality is probabilistic — same input can produce different outputs | Attribution is hard — did the AI feature cause the outcome change? |
| Example target | 99.9% of requests return within 2 seconds | 95% of RAG answers are faithful to retrieved context | AI-assisted support reduces ticket resolution time by 20% |
How Should AI SLOs and Error Budgets Be Defined?
An SLO has three components: an SLI (what you measure), a target (what fraction of events must meet the SLI) and a time window (the period over which the target applies). For AI systems, the SLO must include a quality dimension. A service SLO of 99.9% successful requests over 30 days defines reliability for the service; a quality SLO of 95% faithful answers over the same window defines reliability for the output. Both have error budgets — the allowed failure rate — and both must be tracked. Defining SLOs after production means operating without a reliability target; Google's SRE practice is that SLOs should be defined before production.
The error budget is the inverse of the SLO target: if the SLO is 99.9%, the allowed bad-event ratio is 1 − 0.999 = 0.001 (0.1% of events may fail). The error budget aligns incentives between product development and reliability: as long as the budget has room, new releases can be pushed; when the budget is exhausted, releases are halted and resources go to testing and reliability. The burn rate measures how fast the budget is being consumed: burn rate = observed bad ratio ÷ allowed bad ratio. A burn rate of 1.0 means the system is burning budget at exactly the rate the SLO allows; above 1.0, the budget is being consumed too fast; below 1.0, the system has headroom.
The equivalent time-based burn rate accounts for where you are in the window: equivalent burn rate = (budget fraction consumed) ÷ (window fraction elapsed). If you have consumed 60% of the budget in 30% of the window, the equivalent burn rate is 0.6 ÷ 0.3 = 2.0 — you are burning twice as fast as allowed and will exhaust the budget before the window ends. The planner below lets you input an SLO target, time window, total events, bad events and elapsed days to calculate the burn rate and budget status. Benchmarking against your system's actual error distribution is required for production SLO setting — the planner is a calculation tool, not a guarantee of compliance.
Which Failure Modes Exist Across Data, Models, Applications and Dependencies?
AI failure modes cluster into four layers: data, model, application and dependency. Data failure modes include distribution shift (the production data no longer matches the training distribution), missing features (an expected input is absent), and schema changes (a feature is renamed or retyped). These failures degrade the model without raising an error — the model still returns a prediction, but the prediction is wrong because the input has drifted. Data failures are the hardest to detect because they do not trigger an exception; they require drift monitoring with a baseline and threshold.
Model failure modes include quality degradation (the model's accuracy drops over time as the world changes), drift (the model's output distribution shifts), and bias amplification (the model's errors concentrate on a protected group). These failures are detected by periodic evaluation against a held-out gold standard, not by per-request monitoring. Application failure modes include prompt injection (an adversarial input manipulates the model), tool-call errors (an agent calls a tool that fails or returns unexpected data), and context overflow (the input exceeds the model's context window). These are the failures that emerge at the boundary between the model and the application that wraps it.
Dependency failure modes include provider outage (the LLM API is down), rate limiting (the provider throttles requests), and capacity exhaustion (the serving cluster cannot handle the load). These are traditional reliability failures — the system is unavailable because a dependency is unavailable — but they interact with AI-specific patterns: a provider outage triggers a fallback to a smaller local model, which has lower quality, which can exhaust the quality error budget even though the service SLO is met via the fallback. The failure-mode table below maps each layer to its failure, signal, cause, containment and recovery.
Four-Layer Failure Classification for AI Systems
Failure modes across data, model, application and dependency layers — with the signal that detects it, the likely cause, the containment pattern and the recovery action.
| Failure | Signal | Cause | Containment | Recovery |
|---|---|---|---|---|
| Data distribution shift — production data no longer matches training distribution | Drift metric (PSI, KL divergence) exceeds threshold; feature distribution dashboard shows divergence | User behaviour change, upstream data pipeline change, seasonal shift, new user segment | Traffic shift to a stable model version; feature pipeline rollback; alert the data team | Retrain on current data; re-baseline drift thresholds; promote new model through evaluation gates |
| Data schema change — feature renamed, retyped or removed | Schema validation check fails; missing-feature alert; model input shape mismatch | Upstream data pipeline change without consumer notification; feature store versioning gap | Rollback the feature pipeline; pin to the previous schema version; alert the data team | Coordinate schema migration; retrain model on new schema; update feature pipeline contracts |
| Model quality degradation — accuracy drops below quality SLO | Periodic evaluation shows accuracy below threshold; quality error budget exhausted | Data drift, concept drift, prompt change without re-evaluation, fine-tuning regression | Rollback to previous model version; freeze releases; alert the model team | Retrain or re-fine-tune; re-run evaluation suite; promote new model with canary release |
| Model drift — output distribution shifts without explicit quality drop | Output distribution dashboard shows shift; user feedback increases; confidence scores change | Distribution shift in inputs; prompt sensitivity; temperature or sampling change | Rollback to previous model or prompt version; alert the model team | Investigate root cause; retrain or adjust prompt; re-baseline output distribution |
| Prompt injection — adversarial input manipulates model output | Safety filter triggers; output contains injected content; anomalous output pattern | Untrusted input in prompt; missing input sanitization; adversarial user | Block the request; fall back to a safe response; alert the security team | Add input sanitization; update safety filters; re-test adversarial suite; review access |
| Tool-call error — agent calls a tool that fails or returns unexpected data | Tool-call success rate drops; agent loop count increases; tool error rate alert | Tool API change, tool downtime, malformed tool input, rate limit | Retry with backoff; fall back to a default tool response; circuit-break the tool | Fix or roll back the tool; update tool contract; re-test agent end-to-end |
| Context overflow — input exceeds model context window | Token-count alert; truncated output; context-length error | Long input, large retrieval context, accumulated conversation history | Truncate input; summarise history; reduce retrieval top-k; fall back to shorter context model | Adjust chunking and retrieval limits; implement context management; re-test with realistic inputs |
| Provider outage — LLM API unavailable | Provider error rate spikes; latency to provider increases; availability SLO breaches | Provider infrastructure failure, provider maintenance, regional outage | Fall back to a local or secondary model; cache recent responses; degrade gracefully | Monitor provider status; restore primary when healthy; review fallback quality impact on quality SLO |
| Rate limiting — provider throttles requests | 429 response rate increases; request queue grows; latency increases | Quota exceeded, traffic spike, shared quota with another service | Throttle inbound traffic; queue requests; fall back to cached or simpler model | Request quota increase; implement adaptive throttling; distribute load across providers |
| Capacity exhaustion — serving cluster cannot handle load | Saturation alert; queue depth grows; latency SLO breaches; OOM errors | Traffic spike, autoscaling failure, resource quota exhaustion, model size growth | Scale out; shed load; fall back to a smaller model; queue non-urgent requests | Increase capacity; fix autoscaling; right-size the model; review capacity planning |
Which Resilience Patterns Reduce the Blast Radius?
Resilience patterns reduce the blast radius of a failure — the number of users and requests affected. Fallback and graceful degradation: when the primary model or provider fails, the system falls back to a smaller, cheaper or cached response rather than returning an error. A RAG system that cannot reach the LLM provider falls back to returning the retrieved documents with a summary generated by a smaller local model — degraded quality, but the user gets something useful. The tradeoff is that the fallback has lower quality, which consumes the quality error budget; the team must decide whether degraded quality within budget is acceptable.
Circuit breakers stop calling a failing dependency after a threshold of failures, preventing cascading failures. An agent that calls an external API trips a circuit breaker after three consecutive failures, stops calling the API for a cooldown period, and returns a default response or falls back to a cached result. Without a circuit breaker, the agent retries indefinitely, exhausting resources and increasing latency for every user. Retry and timeout with idempotency handle transient failures — a tool call that times out is retried with exponential backoff, but only if the operation is idempotent (repeating it does not cause harm). Non-idempotent operations (writing a record, charging a card) must not be retried blindly.
Bulkheads and queue isolation partition resources so a failure in one part does not consume all resources. A serving cluster with separate request queues for real-time and batch traffic can shed batch traffic when real-time traffic spikes, protecting the latency SLO for real-time users. Without bulkheads, a spike in batch traffic can starve real-time requests, causing a latency SLO breach for all users. These patterns are general reliability patterns from SRE practice, but they have AI-specific applications: circuit breakers around tool calls, bulkheads around agent loops, fallbacks around LLM providers, retry around retrieval with idempotent retrieval queries.
When Should a Release Be Slowed or Stopped?
Error budgets govern release velocity. As long as the budget has room, new releases can be pushed; when the budget is exhausted, releases are halted and resources go to testing and reliability. The thresholds translate burn rate into action: a burn rate below 1.0 means the system has headroom and releases can proceed at normal velocity. A burn rate between 1.0 and 2.0 means the system is approaching the limit — releases should slow, canary windows should lengthen, and the team should investigate before pushing more changes. A burn rate above 2.0 means the budget is being consumed too fast — releases should stop, and resources should go to finding and fixing the cause.
Quality regression thresholds add a second axis. A release that passes the service SLO check but regresses quality by more than a defined threshold (e.g., accuracy drops 2 percentage points from the previous release) should be slowed or stopped even if the service SLO is green. This prevents the team from shipping releases that meet the service SLO while silently degrading output quality — the failure mode that service SLOs alone cannot catch. The quality threshold is set during release planning and enforced by the evaluation gate: a release that fails the quality regression threshold does not promote.
The freeze decision — who decides and how — must be defined before it is needed. A release freeze is a high-stakes decision: it slows feature delivery, which creates pressure to override it. The decision should be owned by a named role (the incident commander, the service owner, the SRE on call) with a defined trigger (burn rate above threshold, quality regression above threshold, customer-impacting incident). The decision and its rationale are recorded so the team can review whether the threshold was right and adjust it. A freeze that is never triggered means the thresholds are too loose; a freeze that triggers constantly means they are too tight.
Release Slow and Stop Thresholds
Burn-rate and quality-regression thresholds that trigger release-slow and release-stop decisions. Define these before production, not during an incident.
| Decision | Options | Trade-off | Recommendation |
|---|---|---|---|
| Release velocity — normal (green) | Burn rate < 1.0; quality regression below threshold; no active incident | Maximises feature velocity; relies on budget headroom | Proceed at normal velocity; standard canary windows |
| Release velocity — slow (yellow) | Burn rate 1.0–2.0; or quality regression at threshold; or minor incident in progress | Slower delivery; more validation per release | Lengthen canary windows; require evaluation evidence; investigate before next release |
| Release freeze — stop (red) | Burn rate > 2.0; or quality regression above threshold; or customer-impacting incident | Halts feature delivery; directs resources to reliability | Freeze releases; incident commander owns the freeze; resources go to root cause and fix |
| Who decides to freeze | Incident commander, service owner, or SRE on call — defined before production | Centralised authority vs team autonomy | Named role with defined trigger; decision and rationale recorded for post-incident review |
| When to resume releases | Burn rate below 1.0 sustained for a defined period; root cause fixed; quality regression resolved | Speed of resumption vs confidence in the fix | Resume only after burn rate is below 1.0 sustained for 24 hours and the fix is validated |
How Should Recovery and Fallback Be Tested?
Recovery testing for AI systems means exercising the fallback, rollback and resilience patterns before an incident forces you to. The most effective format is a game day: a scheduled exercise where the team injects a failure (provider outage, model degradation, tool-call failure) into a staging or shadow environment and practices the response. Game days surface gaps that are invisible in normal operation — the fallback model has lower quality than expected, the rollback takes longer than the error budget allows, the circuit breaker trips too early or too late. A team that has never run a game day discovers these gaps during a real incident, when the cost is highest.
Fallback validation answers: does the degraded mode actually work? A fallback that returns a cached response from six months ago may be technically available but practically useless — the data is stale, the model has changed, and the user gets a wrong answer. Fallback validation tests the fallback end-to-end: trigger the fallback, measure the quality of the fallback response, and check whether the quality error budget can absorb the degraded period. If the fallback exhausts the quality budget faster than the primary, the fallback is not a reliability improvement — it is a liability.
Rollback testing answers: can you revert within the error budget? A rollback that takes 30 minutes to propagate is useless if the error budget allows 5 minutes of bad events. Rollback testing measures the time from rollback trigger to full traffic on the previous version, including the time to detect the failure, decide to roll back, execute the rollback and verify the previous version is healthy. The process below defines the recovery testing steps from game day through evidence collection.
Recovery Testing — From Game Day to Evidence
Which Evidence Demonstrates Operational Reliability?
Operational reliability is demonstrated by three evidence types: SLO compliance record, incident history with mean time to recovery, and recovery test evidence. The SLO compliance record shows whether the system met its service and quality SLOs over the reporting period — the percentage of time within SLO, the error budget consumed, and the burn rate trend. A system that claims to be reliable without an SLO compliance record is claiming without evidence.
Incident history with MTTR shows how the system behaves when it fails — how often incidents occur, how long they last, and what the team learned from each. The SRE Book's blameless postmortem culture is the practice: each incident produces a postmortem that identifies the root cause, the contributing factors and the action items, without blaming individuals. The MTTR trend over time shows whether the team is getting better at recovery — a flat or worsening MTTR means the recovery patterns are not improving. Incident history also shows whether the failure modes match the failure classification: if incidents cluster in a layer the classification did not predict, the classification needs updating.
Recovery test evidence — the output of game days and rollback tests — proves the resilience patterns work. A fallback that has never been tested is a hypothesis, not a reliability control. The evidence is the game day report: the scenario, the response, the metrics, the gaps and the action items. Together, these three evidence types answer the question a hiring manager, an auditor or an incident reviewer asks: can you prove this system is reliable, and can you prove you can recover when it is not?
You have the SLO formulas, the failure classification and the recovery process. The AIOps Course trains you to implement each — from SLO definition through game-day evidence.
The AIOps Course covers AI reliability engineering with hands-on projects: define service and quality SLOs, calculate error budgets and burn rates, classify failure modes across four layers, implement resilience patterns, run a game day and produce recovery test evidence. You leave with an SLO policy and a failure-mode table you can use in your own production system.
Live program for engineers defining and meeting reliability targets for probabilistic production AI systems.
Sources and Evidence
This page synthesises AI reliability engineering from Google SRE practice (SLOs, error budgets, burn rates, incident response) with editorial extension for AI-specific quality SLOs.
- SLO and error-budget practice is from Google SRE Book chapters 3 and 4 — applied to AI with quality SLO additions that are an editorial extension, not Google practice.
- The four-layer failure classification (data, model, application, dependency) is an editorial framework, not an industry standard.
- Burn-rate thresholds (green < 1.0, yellow 1.0–2.0, red > 2.0) are illustrative; production thresholds should be calibrated to the system's error distribution.
Review cadence: Reviewed every 90 days. Next review by December 2026.
- Tier 1
- Tier 1