Site Reliability Engineering (SRE) and Reliability Engineering

Chapter 2
Quantitative Reliability Theory and Failure Analysis

Post Graduate Program in Dev Ops
Site Reliability Engineering (SRE) and Reliability Engineering   •   Post Graduate

2. Quantitative Reliability Theory and Failure Analysis

Introduction and Context

Site Reliability Engineering (SRE) treats reliability as an engineering property that can be measured, modelled, traded against cost, and improved through controlled interventions. Service-level objectives, error budgets, incident analysis, capacity planning, and operational decisions all depend on an understanding of how systems fail and how quickly they recover. Quantitative reliability theory provides the mathematical foundation for these decisions.

In a distributed service, reliability is rarely determined by a single server. A request may depend on a load balancer, application service, database, cache, network path, identity provider, and storage platform. Some components operate in series: failure of any one can interrupt the service. Others operate redundantly, so that the service continues when one component fails. The engineer must therefore move from component-level measures to system-level models.

This chapter develops the principal measures and methods used for that purpose: probability distributions, reliability functions, hazard rates, mean time to failure, mean time between failures, mean time to repair, availability, repairable-system models, reliability block diagrams, fault-tree analysis, FMEA/FMECA, Weibull analysis, and redundancy modelling. The emphasis is not merely on calculating values, but on interpreting them for architecture, operations, risk management, and investment decisions.

Learning Objectives

After studying this chapter, the learner should be able to:

1. Distinguish reliability, availability, maintainability, and related time-based measures.

2. Apply exponential, Weibull, normal, lognormal, and Poisson models appropriately.

3. Calculate reliability, failure probability, hazard rate, MTTF, MTBF, MTTR, and availability.

4. Model series, parallel, standby, and k-out-of-n systems.

5. Construct and interpret reliability block diagrams and fault trees.

6. Perform FMEA and FMECA for technology and service components.

7. Use Weibull analysis to identify infant mortality, random failure, and wear-out behaviour.

8. Evaluate assumptions, uncertainty, common-cause failure, and operational limitations.

9. Translate quantitative results into SRE design and management decisions.

Reliability Measures as Engineering Language

Reliability is the probability that an item performs its required function for a specified period under stated conditions. If T is the random variable representing time to failure, the reliability function is

R(t) = P(T > t).

The complementary cumulative distribution function gives the probability of failure by time t:

F(t) = P(T ≤ t) = 1 − R(t).

Reliability is therefore conditional on a mission duration, environment, workload, configuration, and definition of failure. A database can be highly reliable with respect to process availability but unreliable with respect to data freshness or transaction latency. SRE analysis must define the service function before selecting a measure.

The probability density function f(t) describes how failures are distributed over time. The instantaneous hazard rate is

h(t) = f(t) / R(t).

It represents the conditional rate of failure at time t, given survival until t. Hazard is not simply the proportion of units that fail at that instant; it is a conditional intensity. Its shape is especially useful for diagnosing failure mechanisms.

Maintainability concerns the probability that a failed item is restored within a specified time. If repair time is represented by the random variable M, maintainability is commonly written as

M(t) = P(M ≤ t).

Availability combines failure and restoration behaviour. In steady state, for a repairable item with average time between failures and average time to repair,

A = MTBF / (MTBF + MTTR).

Equivalently, unavailability is approximately MTTR/(MTBF + MTTR). In many operational contexts, the distinction between planned and unplanned downtime must be preserved. A service may have high intrinsic availability while experiencing substantial user impact from deployments, maintenance, dependency outages, or capacity exhaustion.

MTTF, or mean time to failure, is normally used for non-repairable items or for the first failure of a system. MTBF, or mean time between failures, applies to repairable systems and measures the average interval between successive failures. MTTR, or mean time to repair or restore, describes the time required to return a service to an acceptable operating state. In SRE, restoration may be achieved by rollback, failover, replacement, or workaround rather than physical repair.

These metrics must not be interpreted as guarantees. An MTBF of 10,000 hours does not mean that every component will operate for 10,000 hours, nor does it imply that failures occur only after that period. It is an average derived from a population or process.

Probability Models for Failure Behaviour

Exponential Model

The exponential distribution assumes a constant failure rate λ:

R(t) = e^(−λt), h(t) = λ, MTTF = 1/λ.

It is useful for random failures in a stable operating region, particularly when failures are caused by independent shocks rather than ageing. If a service has a constant hourly failure rate of 0.0002, its reliability over 100 hours is e^(−0.02), approximately 0.9802. The model is convenient, but its constant-hazard assumption is often unrealistic for hardware during early life or wear-out.

Weibull Model

The Weibull distribution is widely used because its hazard rate can increase, decrease, or remain constant:

R(t) = exp[−(t/η)^β].

Here β is the shape parameter and η is the characteristic life. When β < 1, the hazard decreases, often indicating infant mortality caused by manufacturing defects, configuration errors, or installation problems. When β = 1, the model becomes exponential. When β > 1, the hazard increases, suggesting wear-out, ageing, thermal stress, or accumulated degradation.

The Weibull model is particularly useful in post-incident analysis and capacity or hardware replacement planning. It should not, however, be used mechanically. A change in workload, software version, maintenance policy, or population can produce an apparent change in shape that is not a physical ageing effect.

Normal and Lognormal Models

The normal distribution is useful for measurements that vary symmetrically around a mean, such as certain repair durations or performance characteristics. It is less suitable for failure times when negative values are impossible or when the data are strongly skewed. The lognormal distribution is often more plausible for repair and restoration times because a small number of complex incidents may take much longer than typical incidents.

Poisson Failure Counts

When failures occur independently at a constant average rate, the number of failures N in an interval t can be modelled as Poisson:

P(N = k) = e^(−λt)(λt)^k/k!.

This model supports staffing and incident-volume analysis. It does not establish that failures are independent or constant-rate; those assumptions must be tested against operational evidence.

Repairable Systems and Availability

A non-repairable system is evaluated until its first failure. A repairable system alternates between up and down states. A simple two-state continuous-time Markov model has failure rate λ and repair rate μ. The steady-state availability is

A = μ/(λ + μ).

Since MTBF is approximately 1/λ and MTTR is approximately 1/μ, this is equivalent to the familiar availability equation. The model can be extended to multiple states, such as degraded operation, active repair, standby operation, and total outage.

Availability calculations must specify their boundary. Inherent availability generally includes corrective maintenance time and excludes logistics and administrative delays. Achieved availability may include preventive maintenance. Operational availability includes real-world delays such as diagnosis, escalation, replacement, approvals, and deployment. SRE teams usually care about user-visible service availability, which may also incorporate detection time, mitigation time, and validation time.

For example, suppose a service experiences an average failure every 500 hours and takes 2 hours to restore. Its availability is 500/502 = 0.9960, or approximately 99.60%. The annual expected downtime is approximately 0.4% of a year, or about 35 hours. This illustrates why small numerical differences in availability correspond to substantial operational consequences.

Availability is not additive across dependencies. If two independent services are both required, system availability is the product of their availabilities. Two services with availability 0.99 each provide only 0.9801 availability when arranged in series. Conversely, a redundant design can improve availability, but only if failover works and common dependencies do not invalidate the assumption of independence.

Reliability Block Diagrams and Redundancy

A reliability block diagram (RBD) represents the success logic of a system. In a series configuration, every block must operate:

R_series = Π Ri.

For two independent parallel components, the system works if at least one works:

R_parallel = 1 − (1 − R1)(1 − R2).

If two identical components each have reliability 0.90, active parallel reliability is 1 − (0.10 × 0.10) = 0.99. This calculation assumes independent failures, successful switching, adequate capacity, and no shared failure mechanism.

A k-out-of-n system operates when at least k of n components function. For identical independent components with reliability R,

R_k/n = Σ from i=k to n [C(n,i) R^i(1−R)^(n−i)].

A replicated application tier may be a 2-out-of-3 system if two instances are sufficient to meet performance requirements. This is not equivalent to merely having three instances: capacity under degradation must be analysed, since a technically functioning but overloaded instance is not operationally successful.

Standby redundancy differs from active parallel redundancy. In cold standby, the backup is not operating until needed; in warm standby, it operates partially; in hot standby, it is running and ready for immediate service. Standby systems require a switching mechanism and introduce failure modes involving detection, synchronization, configuration drift, and failover itself.

Common-cause failures are a central limitation. Replicas in the same rack, availability zone, software version, account, network domain, or power system may fail together. Diversity, physical separation, independent control planes, and tested disaster-recovery procedures reduce—but do not eliminate—this risk.

Fault-Tree Analysis

Fault-tree analysis (FTA) is a top-down deductive method. The analyst begins with a defined top event, such as “customers cannot complete payment,” and decomposes it through logical gates into contributing events.

An AND gate means that all input events are required for the output event. An OR gate means that any input event can cause the output. For rare, independent events, an OR combination can be approximated by the sum of probabilities, while an AND combination is approximately the product. Exact calculations should be used when probabilities are not small or independence is questionable.

A useful fault tree distinguishes component failures from enabling conditions. For example, “database unavailable” may result from storage failure OR network partition OR a software deadlock OR exhausted connections. “Service outage” may then require database unavailability AND absence of a functioning fallback, or it may result from an independent application failure.

FTA supports quantitative probability estimates, identification of minimal cut sets, and prioritization of controls. A minimal cut set is a smallest combination of basic events sufficient to cause the top event. However, fault trees can become misleading when diagrams omit human actions, software interactions, recovery procedures, or common-cause events. The quality of the model depends on the quality of system boundaries and assumptions.

FMEA and FMECA

Failure Modes and Effects Analysis (FMEA) is a bottom-up method. It begins with individual functions or components and asks how each can fail, what effect follows, what causes the failure, and what controls detect or prevent it. Typical fields include function, failure mode, local effect, system effect, cause, existing controls, detection method, and recommended action.

Failure Mode, Effects, and Criticality Analysis (FMECA) extends FMEA by assessing severity, occurrence, and detectability, often producing a risk priority number (RPN). A common form is

RPN = Severity × Occurrence × Detectability.

The numerical score is a prioritization aid, not an objective measure of risk. Multiplying ordinal ratings can conceal important differences. A low-probability event with catastrophic impact may deserve attention even if its RPN is moderate. Teams should therefore supplement RPN with explicit criticality classes, safety or compliance thresholds, and scenario analysis.

In SRE, FMEA can examine failure modes such as stale cache data, expired certificates, exhausted database connections, failed deployment rollback, missing alerts, or an unavailable identity provider. Controls may include timeouts, retries with bounded backoff, circuit breakers, feature flags, backups, synthetic monitoring, and rehearsed recovery procedures.

Weibull Analysis in Practice

Weibull analysis begins with reliable failure-time data. The analyst defines the population, observation window, censoring rules, and failure criterion. Right-censored observations—items still operating when observation ends—must not be treated as failures. Ignoring censoring can substantially bias estimates.

A Weibull probability plot helps assess whether the data are compatible with the model. The estimated β parameter informs the failure regime, while η provides a characteristic time. Confidence intervals are important because small samples can produce unstable estimates. Changes in release version, hardware supplier, traffic profile, or maintenance policy should be recorded and analysed separately where appropriate.

In software services, Weibull interpretation requires care. Software does not physically wear out in the same way as a bearing, but operational exposure can increase failure likelihood through memory leaks, state accumulation, data growth, dependency changes, or configuration drift. Thus, an increasing hazard may reflect system conditions rather than intrinsic software ageing.

Applied Illustrative Case: Payment Service Reliability

Background

A fictional online retailer operates a payment service composed of an application tier, a primary database, a replica database, an external payment gateway, and an observability platform. The business objective is to maintain high transaction availability while controlling infrastructure cost.

Situation and Problem

During a quarter, the service records four significant incidents. Two are caused by database connection exhaustion, one by an external gateway outage, and one by a failed deployment rollback. The observed mean time between service-impacting incidents is 1,800 hours, while mean time to restore is 1.5 hours. Management considers adding another application instance but is uncertain whether this will materially improve customer availability.

Analysis

The current application tier has three active instances, but all depend on one database endpoint and one network policy. An RBD therefore shows the application instances as a parallel group in series with the database, gateway, and network controls. Adding a fourth application instance improves only the application sub-block. It does not address database connection exhaustion, gateway dependence, or rollback failure.

The incident data also show that restoration time is dominated by diagnosis and rollback validation rather than replacement. The approximate availability from the observed values is

1,800/(1,800 + 1.5) = 0.99917,

or 99.917%. This average conceals variation: the gateway outage lasted longer than the internal incidents. A percentile analysis of restoration time is therefore more useful for planning than MTTR alone.

An FMEA identifies the following high-consequence modes: connection-pool exhaustion, gateway timeout without circuit breaking, incompatible schema deployment, and stale replica data used during failover. FTA indicates that transaction failure can result from gateway failure OR database unavailability OR application-wide deployment failure. A common-cause review reveals that all application instances use the same release artifact and shared configuration service.

Approach and Solution

The engineering team introduces bounded connection pools, queue-depth alerts, and admission control. Gateway calls receive explicit timeouts, retry budgets, and circuit breaking. Deployment automation adds compatibility checks, progressive rollout, and an independently tested rollback path. The database design is changed so that failover is tested regularly, and replica lag becomes an explicit readiness condition. The team also separates failure domains and rehearses a gateway-degraded operating mode that allows customers to retry safely without duplicate charges.

The additional application instance is retained, but it is treated as a capacity and fault-containment measure rather than the primary reliability solution. Service-level indicators are refined to measure successful payment completion, not merely HTTP response availability.

Outcome and Learning Points

The case demonstrates that reliability is a system property. Redundancy at one layer cannot compensate for a serial dependency or a common-cause failure. Quantitative models help identify where an investment changes the top-event probability, while FMEA and incident evidence expose operational weaknesses that a simple availability equation cannot show.

Challenges, Limitations, and Professional Judgement

Reliability models are abstractions. Independence is frequently assumed because it simplifies mathematics, but distributed systems often share power, software, credentials, networks, operators, or deployment pipelines. Correlated failures can make calculated availability dramatically optimistic.

Another common mistake is confusing availability with reliability. A system may fail often but recover quickly, producing high availability and poor reliability. Conversely, a non-repairable component may be reliable for a mission but impossible to restore rapidly. MTBF can also be misused as a prediction of the next failure, and averages can conceal heavy-tailed restoration times.

Retry mechanisms may improve transient success rates while increasing load during an incident. Replication can create consistency and coordination risks. Monitoring may detect symptoms without identifying causes. Automated remediation can amplify an error if its trigger is poorly designed. Every control should therefore be evaluated for failure modes of its own.

Ethically and professionally, reliability analysis must not hide uncertainty or manipulate service-level results through favourable definitions. Incident data should be preserved, access-controlled, and analysed without unfairly blaming individuals. Where services affect safety, finance, health, or critical infrastructure, risk thresholds, auditability, segregation of duties, and regulatory obligations may exceed ordinary availability targets.

Digital Tools, Automation, and Emerging Practice

Modern reliability programmes collect telemetry from logs, metrics, traces, deployment systems, ticketing platforms, and synthetic transactions. Statistical process control and survival analysis can identify changes in failure behaviour. Automated pipelines can calculate error budgets, generate dependency graphs, and update reliability models from observed events.

Machine-learning techniques can support anomaly detection, failure prediction, and event correlation, but prediction is not a substitute for causal engineering. Models may reproduce data-quality problems, confuse operational changes with degradation, or generate false alarms. Human review, explainable thresholds, controlled experiments, and post-deployment validation remain essential.

Emerging practice is moving toward reliability-by-design: modelling dependencies before implementation, testing failure modes through chaos and disaster-recovery exercises, and connecting architectural decisions with business-critical user journeys. Digital twins and probabilistic simulations can explore correlated failures and capacity degradation, although their value depends on validated assumptions.

Best Practices for Reliability Analysis

1. Define the service function, failure event, boundary, and mission duration before calculating.

2. Use component data that match the workload, environment, version, and operating regime.

3. Distinguish MTTF, MTBF, MTTR, detection time, mitigation time, and validation time.

4. Model dependencies, degraded capacity, failover logic, and common-cause failures explicitly.

5. Treat Weibull and other distribution fits as hypotheses supported by evidence, not certainties.

6. Combine RBD, FTA, FMEA/FMECA, incident analysis, and operational experiments.

7. Report confidence intervals, data limitations, and sensitivity to assumptions.

8. Prioritize controls that reduce user impact, not merely component failure counts.

9. Test backups, failover, rollback, alerting, and recovery procedures under realistic conditions.

10. Revisit models after architectural, workload, supplier, or process changes.

Chapter Summary

Quantitative reliability theory enables SRE practitioners to translate failure behaviour into engineering decisions. Reliability describes survival over time, while availability combines failure frequency with restoration performance. MTTF applies primarily to non-repairable items, MTBF to repairable systems, and MTTR to restoration effort. Exponential models assume constant hazard; Weibull models represent decreasing, constant, or increasing hazard regimes.

Reliability block diagrams calculate system behaviour for series, parallel, standby, and k-out-of-n structures, but their results depend on independence, successful switching, adequate capacity, and realistic system boundaries. Fault-tree analysis proceeds from a top event downward, whereas FMEA and FMECA proceed from component failure modes upward. Weibull analysis can reveal infant mortality and wear-out, provided censoring and population changes are handled correctly.

The central professional lesson is that numerical precision cannot compensate for poor assumptions. Reliability models should be combined with incident evidence, operational testing, dependency analysis, and sound governance. Their purpose is to reduce user-visible risk and guide proportionate investment in design, monitoring, automation, recovery, and organisational capability.

Key Terms

Reliability: Probability that an item performs its required function for a specified time under stated conditions.

Availability: Probability that a system is operational when required.

Maintainability: Probability that a failed item is restored within a specified time.

Failure rate: Frequency or intensity of failure, commonly represented by λ.

Hazard rate: Conditional instantaneous rate of failure given survival to a specified time.

MTTF: Mean time to failure, generally used for non-repairable items.

MTBF: Mean time between failures in a repairable system.

MTTR: Mean time to repair or restore service after failure.

Unavailability: Probability or proportion of time that a service is not operational.

Exponential distribution: Failure-time model with a constant hazard rate.

Weibull distribution: Flexible failure-time model whose shape parameter represents hazard behaviour.

Reliability block diagram: Success-oriented model showing how component states combine to produce system success.

Fault-tree analysis: Top-down deductive analysis of combinations causing a defined top event.

Minimal cut set: Smallest combination of basic events sufficient to cause a top event.

FMEA: Bottom-up analysis of failure modes, causes, effects, and controls.

FMECA: FMEA extended with criticality or risk prioritization.

Common-cause failure: Failure of multiple supposedly independent elements from one shared cause.

Redundancy: Provision of additional components or paths so service can continue after a failure.

Censoring: Incomplete observation of a failure time, such as an item still operating at study end.

Error budget: Permitted unreliability derived from a service-level objective.

Review Questions

Short Answer Questions

1. Distinguish reliability from availability.

2. What does a hazard rate represent?

3. When is MTTF preferred to MTBF?

4. State the availability formula using MTBF and MTTR.

5. What does a Weibull shape parameter greater than one generally indicate?

Long Answer Questions

1. Explain the assumptions and practical uses of the exponential and Weibull distributions.

2. Describe how a reliability block diagram models series, parallel, and k-out-of-n systems.

3. Compare fault-tree analysis with FMEA/FMECA, including their strengths and limitations.

4. Explain why common-cause failures make simple redundancy calculations optimistic.

5. Discuss how MTTR can be reduced through detection, diagnosis, mitigation, and recovery engineering.

Analytical / Application Questions

1. Two independent services, each with availability 0.995, are required for a transaction. Calculate the combined availability and explain what additional design options could improve it.

2. A repairable service has an MTBF of 720 hours and an MTTR of 3 hours. Calculate its steady-state availability and approximate annual downtime.

3. A Weibull analysis produces β = 0.6 for failures after deployment. Propose possible causes, additional data to collect, and engineering actions to test your interpretation.

22. Multiple Choice Questions with Answers

Question 1

A repairable service has an MTBF of 500 hours and an MTTR of 2 hours. What is its approximate steady-state availability?

A. 0.500

B. 0.996

C. 0.998

D. 0.004

Correct Answer: B. 0.996

Question 2

A Weibull shape parameter β greater than 1 most strongly suggests:

A. Decreasing hazard caused by infant mortality

B. Constant random failure behaviour

C. Increasing hazard associated with wear-out or ageing

D. Absence of censoring

Correct Answer: C. Increasing hazard associated with wear-out or ageing

Question 3

Two independent components, each with reliability 0.90, are arranged in active parallel redundancy. What is the system reliability?

A. 0.81

B. 0.90

C. 0.95

D. 0.99

Correct Answer: D. 0.99

Question 4

Which method begins with a defined top event and decomposes its possible causes using logical gates?

A. Fault-tree analysis

B. FMEA

C. Weibull analysis

D. Reliability block diagram only

Correct Answer: A. Fault-tree analysis

Question 5

Why can adding another application replica fail to improve overall service availability significantly?

A. Parallel systems always reduce reliability

B. The replica may share a serial dependency or common-cause failure

C. MTTR becomes zero automatically

D. Replication eliminates monitoring requirements

Correct Answer: B. The replica may share a serial dependency or common-cause failure

Question 6

For a constant failure rate λ, which reliability function is appropriate under the exponential model?

A. R(t) = 1 − λt

B. R(t) = λt

C. R(t) = e^(−λt)

D. R(t) = t/λ

Correct Answer: C. R(t) = e^(−λt)

Question 7

In FMECA, the risk priority number is commonly calculated as:

A. Severity × Occurrence × Detectability

B. MTBF × MTTR × Availability

C. Failure rate ÷ repair rate

D. Reliability + maintainability + safety

Correct Answer: A. Severity × Occurrence × Detectability

Question 8

An observation of a component still operating when a study ends is an example of:

A. A minimal cut set

B. A standby failure

C. Right censoring

D. A common-cause event

Correct Answer: C. Right censoring

Question 9

A system operates when at least two of three identical independent components function. This is a:

A. Series system

B. 2-out-of-3 system

C. Cold-standby system only

D. Single-point-of-failure system

Correct Answer: B. 2-out-of-3 system

Question 10

Which statement best explains why MTBF should not be interpreted as the guaranteed time until the next failure?

A. MTBF applies only to non-repairable systems

B. MTBF is an average and does not determine individual failure times

C. MTBF is identical to MTTR

D. MTBF excludes all operational data

Correct Answer: B. MTBF is an average and does not determine individual failure times

Site Reliability Engineering (SRE) and Reliability Engineering
Chapter 2 of 15