V večjih sistemih so napake neizogibne — strežniki padejo, omrežja odpovejo, odvisnosti postanejo nedostopne. Oblikovanje za napake pomeni gradnjo sistemov, ki dopuščajo in se okrevajo od napak elegantno namesto da bi predpostavljali, da vse deluje. To je bistveno za zanesljive sisteme.
Oblikovanje za napake (miselnost)
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.
