⚡ Failure Modes & Resilience — Dari Bit Flip ke Bencana Sistemik

Setiap sistem — digital, biologis, sosial — akan gagal. Yang membedakan adalah seberapa cepat ia pulih. Catatan ini memetakan 8 lapisan kegagalan dari bit-flip di level transistor hingga catastrophic cascade di level society, dengan klasifikasi failure mode, pattern mitigasi (retry, circuit breaker, bulkhead, chaos), dan analogi lintas domain (hukum, kedokteran, teknik).


Daftar Isi

  1. 1. Premise — Failure Adalah State Default
  2. 2. Eight-Layer Failure Hierarchy
  3. 3. Layer F0 — Physical Fault
  4. 4. Layer F1 — Logic & State
  5. 5. Layer F2 — Resource Contention
  6. 6. Layer F3 — Communication Failure
  7. 7. Layer F4 — Design Flaw
  8. 8. Layer F5 — Human Error
  9. 9. Layer F6 — Organizational Failure
  10. 10. Layer F7 — Systemic Cascade
  11. 11. Resilience Patterns by Layer
  12. 12. Analogi Lintas Domain
  13. 13. Cross-Reference ke Vault
  14. References

1. Premise — Failure Adalah State Default

Di sistem yang cukup besar, failure bukan pengecualian — ia adalah keadaan normal. Sistem harus dirancang untuk gagal dengan graceful.

Hukum distribusi kegagalan:

┌────────────────────────────────────────────┐
│                                            │
│  Failure Rate                              │
│    ^                                       │
│    │  ╱╲        ╱╲                         │
│    │ ╱  ╲      ╱  ╲                        │
│    │╱    ╲    ╱    ╲                       │
│    │      ╲  ╱      ╲                      │
│    │       ╲╱        ╲                     │
│    └───────────────────────────→ Time      │
│      Infant    Useful         Wear-out     │
│      Mortality Life            Phase       │
│                                            │
│    Bathtub Curve (reliability engineering) │
└────────────────────────────────────────────┘

2. Eight-Layer Failure Hierarchy

┌────────────────────────────────────────────────────────────┐
│ F7 │ Systemic Cascade                                      │ ← society-level
├────────────────────────────────────────────────────────────┤
│ F6 │ Organizational Failure                                │
├────────────────────────────────────────────────────────────┤
│ F5 │ Human Error                                           │
├────────────────────────────────────────────────────────────┤
│ F4 │ Design Flaw                                           │
├────────────────────────────────────────────────────────────┤
│ F3 │ Communication Failure                                 │
├────────────────────────────────────────────────────────────┤
│ F2 │ Resource Contention                                   │
├────────────────────────────────────────────────────────────┤
│ F1 │ Logic & State                                         │
├────────────────────────────────────────────────────────────┤
│ F0 │ Physical Fault                                        │ ← bit/transistor
└────────────────────────────────────────────────────────────┘

3. Layer F0 — Physical Fault

3.1 Failure Mode

ModeContohFrekuensi
Bit flip (cosmic ray / alpha particle)DRAM soft error1 per 10⁹ hours per MB
ElectromigrationChip wear out (5-10 tahun)Deterministic via MTBF
Gate oxide breakdownTransistor failureStatistik
Thermal runawayCPU/GPU overheatingDensitas daya meningkat
Connector failureLoose cable, corrosionMekanis
Power supply failureCapacitor agingBatch defect

3.2 Mitigasi

MitigasiContoh
ECC memorySECDED (Single Error Correct, Double Error Detect)
CRC / checksumMerkle tree (ZFS), SHA-256
RAIDR0 (striping), R1 (mirror), R5 (parity), R6 (dual parity)
Redundant powerN+1 PSU + UPS

Analogi kedokteran: DNA repair mechanism — base excision repair memperbaiki mutasi.


4. Layer F1 — Logic & State

4.1 Failure Mode

ModeContohLevel
Race conditionTSA/TOCTOUThread/proses
DeadlockLock orderingSinkronisasi
Data raceUnsync’d writeMemory
Null pointerUninitialized referenceLanguage
Buffer overflowStack/heap corruptionMemory safety
Logic errorSalah kondisiCode

4.2 Mitigasi

MitigasiContoh Tools
Type safetyRust, Haskell type system
Static analysisClippy, ESLint, SonarQube
Formal verificationTLA+, Promela (Spin), Dafny
Property-based testingHypothesis, QuickCheck
Immutable dataPersistent data structures

5. Layer F2 — Resource Contention

5.1 Failure Mode

ModeContohSumber
OOMMemory exhaustionAplikasi memory leak
CPU starvationThundering herdAuto-scaling slow
Disk fullLog rotasi matiMonitoring gagal
File descriptor leakEphemeral port exhaustionConnection leak
Connection pool drainDatabase Query per second > poolTraffic spike

5.2 Mitigasi

MitigasiContoh Implementasi
Rate limitingToken bucket, leaky bucket
Circuit breakerHystrix, Resilince4j
BulkheadThread pool separation
BackpressureReactive streams, Kafka consumer lag
Graceful degradationFallback to stale data

6. Layer F3 — Communication Failure

6.1 Failure Mode

ModeContohProtokol
Packet lossWiFi interferenceTCP retransmit
TimeoutDNS resolv > 30sHTTP 504
Retransmission stormTCP incastMany-to-one pattern
Network partitionSwitch failureCAP theorem (P)
DNS failureTTL mismatchCache stale

6.2 Fallacies of Distributed Computing

  1. The network is reliable (❌)
  2. Latency is zero (❌)
  3. Bandwidth is infinite (❌)
  4. The network is secure (❌)
  5. Topology doesn’t change (❌)
  6. There is one administrator (❌)
  7. Transport cost is zero (❌)
  8. The network is homogeneous (❌)

7. Layer F4 — Design Flaw

7.1 Failure Mode

ModeContoh
Feature interactionFitur A + Fitur B hasilnya C yang tidak diinginkan
Boundary conditionTahu 2024 != Leap year
Error handling bypasscatch (Exception) — tapi tetap crash
Single point of failureDatabase dalam monolith
No circuit breakerCascade restart

7.2 Mitigasi

  • Architecture review — ADR, decision log
  • Threat modeling — STRIDE, attack trees
  • Chaos engineering — Litmus, Chaos Mesh, Gremlin
  • Design-for-failure — setiap komponen harus bisa down tanpa total

Analogi kimia: Katalisator yang salah bisa memicu reaksi berantai (runaway reaction) — desain reaktor harus punya emergency quench.


8. Layer F5 — Human Error

8.1 Failure Mode

ModeContohReason kategori
SlipTypo rm -rf / bukan rm -rf ./Skill-based
LapseLupa commit sebelum deployMemory-based
MistakeSalah paham requirementRule/knowledge-based
ViolationSkip review karena deadlineNormative

Statistik: 70-90% security incident disebabkan human error.

8.2 Mitigasi

StrategiContoh
AutomationCI/CD reduce manual step
Guardrailsalias rm='trash', require second approval
Blameless postmortemAnalisis sistem, bukan individu
TrainingRegular fire drill, red/purple team

9. Layer F6 — Organizational Failure

9.1 Failure Mode

ModeContoh
Conway’s LawTim silo → arsitektur monolith
Misaligned incentivesEngineering gamified → technical debt
No blameless cultureIncident hidden → tidak ada learning
Budget misallocationSecurity underfunded → breach

9.2 Mitigasi

  • Retrospectives — structured learning
  • Blameless culture — yang salah adalah proses, bukan orang
  • Clear incident command system — OODA loop
  • Psychological safety — laporkan error tanpa takut

10. Layer F7 — Systemic Cascade

10.1 Karakteristik

ModeContoh
Domino effectSingle cloud AZ down → major services
Cascading failureDatabase overload → semua service timeout
Panic cascadeSocial media rumor → bank run
Black swanCOVID supply chain
Common causePower outage di DC → semua host down

10.2 Contoh

2008 AWS US-EAST-1: Single AZ down → EBS stuck → user reporting widespread → cascade panic.

Mitigasi:

  • Multi-region deployment
  • Bulkhead service isolation
  • Runtime redundancy
  • Capacity buffer (lean vs slack)

11. Resilience Patterns by Layer

LayerPatternTooling
F0ECC, RAID, redundant powerZFS, mdadm, ECC DIMM
F1Static analysis, formal proofClippy, TLA+, Dafny
F2Rate limit, circuit breakerHystrix, Alibaba Sentinel
F3Retry, timeout, backoffResilience4j, exponential backoff
F4Architecture review, chaosChaos Mesh, Litmus
F5Automation, guardrailsCI/CD, approval gates
F6Blameless culture, retroIncident trace
F7Multi-region, bulkheadGeographic redundancy

12. Analogi Lintas Domain

Failure LayerAnalogi KedokteranAnalogi Hukum
F0 (bit flip)DNA mutasiDokumen corrupt
F1 (logic)Cacat lahirKontradiksi pasal
F2 (resource)Gagal ginjalCourt overload
F3 (comm)StrokePutusan tidak tersampaikan
F4 (design)Malpraktik (desain rumah sakit)Cacat undang-undang
F5 (human)Salah diagnosisSalah tafsir kontrak
F6 (org)Silo RS → pasien salah rujukTumpang tindih yurisdiksi
F7 (systemic)PandemiNegara gagal

13. Cross-Reference ke Vault

LayerCatatan Vault Terkait
F0-F1hierarchy-digital-plumbing — Level 1-3: Aritmetika, parsing, encoding
F1hierarchy-software-engineering-paradigm — Design pattern, TDD
F2hierarchy-systems-architecture-evolution — Circuit breaker in microservices
F3hierarchy-kernel-bypass-networking — Zero-copy mitigasi latency
F4hierarchy-ai-levels — AI failure mode di L5+
F5hierarchy-cybersecurity-defense-architecture — Human error vs security
F6-F7hierarchy-infrastructure-evolution — Multi-region infra

References

  1. Laprie, J.C. “Dependability: Basic Concepts and Terminology.” Springer, 1992.
  2. Littlewood, B. & Strigini, L. “Software Reliability and Dependability.” 2000.
  3. Amdahl, G. “Validity of the Single Processor Approach.” AFIPS, 1967.
  4. Denning, P.J. “Fault Tolerant Systems.” CACM, 1976.
  5. Ford, N. et al. “Building Evolutionary Architectures.” O’Reilly, 2017.
  6. Nygard, M. “Release It! Design and Deploy Production-Ready Software.” 2007.
  7. DeMarco, T. & Lister, T. “Peopleware: Productive Projects and Teams.” 1987.
  8. Vaughan, D. “The Challenger Launch Decision.” 1996.
  9. Taleb, N.N. “The Black Swan.” 2007.
  10. Parnas, D. “Designing Software for Ease of Extension and Contraction.” 1978.