في الأنظمة الكبيرة، الأخطاء حتمية — الخوادم تتعطل، الشبكات تفشل، المكتبات الخارجية تصبح غير متاحة. تصميم الأنظمة للتعامل مع الأخطاء يعني بناء أنظمة تتسامح مع الأخطاء وتتعافى منها بشكل جميل بدلاً من افتراض أن كل شيء يعمل بشكل صحيح. هذا أمر أساسي للأنظمة الموثوقة.
التصميم للأخطاء (العقلية)
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.
