• ↑↓ pour naviguer
  • pour ouvrir
  • pour sélectionner
  • ⌘ ⌥ ↵ pour ouvrir dans un panneau
  • ←→ pour naviguer
  • esc pour rejeter
⌘ '
raccourcis clavier

The Problem

When a system has multiple components, overall availability depends on how they are connected. Naively combining component availability gives misleading results.

Core Idea

Components in sequence multiply their availability together (making total availability worse), while components in parallel multiply their unavailability together (making total availability dramatically better).

How It Works

  1. Sequence formula: Avail(Total) = Avail(A) × Avail(B). Two 99.9% components in series yield 99.8% — worse than either alone.
  2. Parallel formula: Avail(Total) = 1 - (1 - Avail(A)) × (1 - Avail(B)). Two 99.9% components in parallel yield 99.9999% — better than either alone.
  3. Parallel systems only fail if both (or all) redundant components fail simultaneously.

Visual Explanation

availability_parallel_sequence cluster_sequence In Sequence (99.9% × 99.9% = 99.8%) cluster_parallel In Parallel (1 - 0.001² = 99.9999%) S1 Component A 99.9% S2 Component B 99.9% S1->S2 P1 Component A 99.9% P_OUT P1->P_OUT P2 Component B 99.9% P2->P_OUT P_IN P_IN->P1 P_IN->P2

Key Properties

  • Sequential components multiply availability — total is always worse than the worst component
  • Parallel components multiply unavailability — total is always better than the best component
  • Fundamental principle underlying all reliability engineering and redundancy design

Connections

Edge Cases & Gotchas

  • Components are rarely perfectly independent — shared power supplies, network links, or data centers create common-mode failures that violate the parallel model
  • The parallel formula assumes instant failover, but real failover has non-zero downtime that reduces effective availability
  • Very long dependency chains (many sequential components) degrade availability drastically — a system with ten 99.9% components in series is only 99.0% available