À grande échelle, les défaillances sont inévitables — les serveurs plantent, les réseaux tombent en panne, les dépendances deviennent indisponibles. Concevoir pour la défaillance signifie construire des systèmes qui tolèrent et se rétablissent des défaillances avec élégance plutôt que de supposer que tout fonctionne. Ceci est essentiel pour les systèmes fiables.
Concevoir pour la défaillance (la mentalité)
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.
