فصل ۶ ابزارها را داد (مانیتورینگ، افزونگی). این درس فرایند است: وقتی ساعت ۳ بامداد همهچیز میسوزد، تیم بالغ چه میکند — و مهمتر، چه مکانیزمهایی از قبل سوختن را محدود کرده است.
چرخه حیات حادثه
- تشخیص → مهار → حل → یادگیری. در مهار، هدف «کمترین آسیب در سریعترین زمان» است، نه ریشهیابی: rollback ،failover ،feature flag خاموش — ریشه را بعداً پیدا کن.
- نقشها روشن: Incident Commander (تصمیم و هماهنگی)، Ops (دستها)، Comms (اطلاعرسانی به ذینفعان). در حادثه بزرگ، دموکراسی وقتکش است.
- Severity از پیش تعریفشده: SEV1 = کاربران/درآمدِ واقعی در خطر (همه بیدار)، SEV2 = افت محسوس با workaround، SEV3/4 = جزئی. هر SEV سطح پاسخ و اطلاعرسانی خودش را دارد.
- On-call سالم: شیفت محدود و چرخشی، هشدار فقط برای «قابل اقدام» (فصل ۶)، و بودجه خطا (Error Budget) که حد تعادل سرعت و پایداری را روشن میکند.
Postmortem بدون سرزنش
- ساختار: چه رخ داد (timeline دقیق با لاگ/متریک)، چرا رخ داد (زنجیره علتها، نه «خطای انسانی» — انسان جزئی از سیستم است)، چه چیزهایی خوب کار کرد، اقدامهای اصلاحی با مالک و مهلت.
- Blameless به معنای بدون مسئولیت نیست؛ یعنی تحلیلِ «چرا سیستم اجازه این خطا را داد» بهجای «چه کسی زد». اگر یک دستور rm میتواند دنیا را خاموش کند، تقصیر rm نیست — تقصیر سیستمی است که چنین تیغی را لبه میز گذاشته.
- حادثهای که postmortemاش اقدام اصلاحی ندارد، فقط تمرین نوشتن بوده.
مهار فشار قبل از فروپاشی
Load Shedding
زیر فشار افراطی، عمداً و کنترلشده بخشی از بار را رد کن: درخواستهای ارزاناثر اول (پیشنهادگر، آمار) تا هسته (checkout) زنده بماند. 429 با Retry-After بهتر از timeout بینهایت است.
Deadline Propagation
مهلت از لبه تعیین و بین فراخوانیها پخش میشود: اگر ۲۰۰ms مهلت کلی مانده، لایه سوم نباید ۵ ثانیه صبر کند. gRPC deadline همین را استاندارد کرده.
Adaptive Concurrency
بهجای صف ثابت، محدودکنندهای که با دیدن تأخیر/خطا، همزمانی را خودکار پایین میآورد — جلوی اشباع قبل از وقوع.
حلقه کامل را ببین: Error Budget (فصل ۶) میگوید چقدر شلختگی تحوّلپذیر است؛ هشدار SLO-محور میگوید کی بودجه دارد سریع میسوزد؛ حادثه و postmortem سیستم را اصلاح میکند. SRE یعنی این چرخه، نه فقط «داشبورد داشتن».
به زبان ساده
SRE یعنی برای حادثه از قبل برنامه داشته باشی: نقشها روشن، مهار قبل از ریشهیابی، و گزارش بدون سرزنش که سیستم را اصلاح کند.
مثال واقعی
ساعت ۳ بامداد فروشگاه down است؛ فرمانده حادثه اول نسخه قبلی را برمیگرداند (مهار)، بعد با خونسردی و با timeline ریشه را پیدا میکند — نه وسط آتش، تحقیق.