Pada skala besar, kegagalan tidak terhindarkan — server mogok, jaringan gagal, dependensi menjadi tidak tersedia. Merancang untuk kegagalan berarti membangun sistem yang mentolerir dan pulih dari kegagalan dengan baik daripada mengasumsikan semuanya berfungsi. Hal ini penting untuk sistem yang andal.
Merancang untuk kegagalan (mentalitas)
ASSUME things WILL fail → at scale, failures are NORMAL, not exceptional:
→ servers crash, networks partition, disks fail, dependencies go down, traffic spikes
→ design systems to EXPECT and HANDLE failures gracefully (not assume everything works)
→ "everything fails all the time" → build resilience in.
