I stor skala er feil uunngåelige — servere krasjer, nettverk svikter, avhengigheter blir utilgjengelige. Å designe for feil betyr å bygge systemer som tåler og gjenoppretter seg fra feil på en elegant måte i stedet for å anta at alt fungerer. Dette er essensielt for pålitelige systemer.
Design for feil (tankegangen)
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.
