اصول فرهنگ و مهندسی SRE
1) فرهنگ SRE چیست ؟
فرهنگ SRE مجموعه ای از ارزش ها و شیوه هایی است که قابلیت اطمینان را مدیریت می کند: اهداف SLO → خطا بودجه → خطرات آگاهانه تغییر → تثبیت سریع → آموزش در حوادث.
پارادایم کلیدی: سرعت دشمن قابلیت اطمینان ≠. سرعت انتشار زمانی امکان پذیر است که خطرات اندازه گیری و خودکار شوند.
- کاربر محور: نشان دهنده قابلیت اطمینان به عنوان کاربر آن را می بیند (SLI/SLO).
- Automation-first - any repeatable action → script/policy/controller.
- بی تقصیر: خطاها سیستمیک هستند، ما علل را بررسی می کنیم، نه افراد.
- داده محور: راه حل های مبتنی بر معیارها و بودجه های خطا
- سادگی: مکانیزم های ساده و قابل آزمایش> راه حل های جادویی.
2) فلسفه مهندسی SRE
1. SLO/SLI و بودجه خطا اساس اولویت ها و هشدار است.
2. حادثه → تثبیت → RCA - ابتدا علائم، سپس باعث می شود.
3. کاهش کار دستی (کار) هدف ≤ 50٪ از زمان SRE است، در طول زمان پایین تر است.
4. آمادگی تولید - «آمادگی تولید» قبل از ترافیک خارجی مورد نیاز است.
5. سادگی و انزوا - روابط کمتر، محدودیت شعاع انفجار بیشتر.
6. مشاهده پذیری پیش فرض - معیارها/سیاهههای مربوط/ردیابی، ابزارک SLO، مصنوعی.
7. تغییرات مدیریت می شوند - تحویل پیشرفته، محاسبات قناری، بازگشت خودکار.
8. امنیت با طراحی - اسرار، دسترسی، حسابرسی، حداقل امتیازات.
9. چرخه مطالعه - دریل، بازی های هرج و مرج، پس از مرگ، بازنگری.
10. آگاهی FinOps - «قیمت نه»، SLO های مقرون به صرفه و موثر.
3) آیین ها و فرآیندها
3. بررسی آمادگی تولید 1 (PRR)
قبل از فعال کردن ترافیک، سرویس باید:- SLI/SLO، داشبورد و هشدار (سریع/آهسته رایت).
- Health-endpoints «/healthz », «/readyz», «/startupz ».
- Runbook/playbook حوادث، مالک/تماس، زنجیره تشدید.
- پشتیبان گیری/برنامه DR، محدودیت منابع، محاسبات بودجه.
- تستهای تحمل خطا (پرچمهای ویژگی، اسکریپتهای برگشت).
3. 2 جلسه هفتگی SLO
وضعیت بودجه خطای خدمات.
حوادث هفتگی، پیشرفت CAPA.
خطر انتشار: که در آن مجاز/محدود شده توسط سپرده (بودجه).
3. 3 پس از مرگ بدون اتهام
حقایق و جدول زمانی، نفوذ کاربر، که کمک کرد/مانع.
علل سیستمیک (فرآیندها/ابزارها)، نه «مقصر».
CAPA های خاص با صاحبان و مهلت، تبلیغات در داخل شرکت.
3. 4 بازی از هرج و مرج و Dreal
تزریق برنامه ریزی شده از شکست (شبکه، پایگاه داده، کش، گره) + SLO هدف.
«روز بازی»: زمان تثبیت، اندازه گیری MTTR، تنظیم playbook.
4) هشدار و سر و صدا
اصول:- هشدار فقط در مورد علائم: SLO شکسته یا مسیر کاربر.
- Multi-window، multi-burn: کانال های سریع و آهسته.
- Quorum/anti-flapping: برای تاخیر، سرکوب در طول تعمیر و نگهداری.
- با «CPU> 80٪» - چنین سیگنال هایی به داشبورد، نه به یک پیجر.
- نسبت قابل اجرا 80٪ ≥.
- متوسط زمان تا عمل ≤ 5 دقیقه (P1).
- کاهش خستگی پیجر: ≤ 1 صفحه شبانه در هفته برای هر مهندس.
5) مدیریت تغییر
تحویل پیشرفته: قناری → 10٪ → 25٪ → 50٪ → 100٪.
بازگشت خودکار به سیگنالهای SLO (خطاها/تأخیر).
پرچم های ویژگی و سوئیچ کشتن به جای بازگشت جهانی.
تغییر سیاست با ریسک: خط سریع для کم خطر ؛ CAB - فقط در معرض خطر.
yaml steps:
- setWeight: 10
- analysis: { template: "slo-check" } # fail ⇒ rollback
- setWeight: 25
- analysis: { template: "slo-check" }
6) کاهش کار (کار دستی معمول)
نمونه هایی از منابع زحمت: deploi دستی, راه اندازی مجدد, «دسترسی» بلیط, تمیز کردن صف.
رویکرد:- موجودی کار تکرار → اتوماسیون/سلف سرویس.
- KPI:٪ زمان کار، «مراحل خودکار/حادثه»، «دقیقه به خود خدمات».
- کاتالوگ سرویس پلت فرم (فضای نام، DB، صف، داشبورد، هشدار).
7) قابلیت مشاهده و طراحی SLO اول
سیگنال های طلایی (تاخیر، ترافیک، خطاها، اشباع).
کارت های SLO در هر تیم: هدف، پنجره، بودجه، هشدار سوختگی.
Drilldown: از معیارهای به سیاهههای مربوط/آثار ؛ 'trace _ id' در سیاهههای مربوط به پیش فرض.
مصنوعی: جعبه سیاه + اسکریپت های بدون سر (ورود/سپرده/پرداخت).
8) مدیریت ظرفیت و پایداری
برنامه ریزی ظرفیت: هدف RPS/رقابت، سهام توسط AZ/منطقه.
Bulkhead/Shedding: جدا کردن استخر، عدم عملکرد ثانویه اول.
فشار پشتی و صف: کنترل تاخیر، DLQ، رقابت تطبیقی.
شکست و DR: RPO/RTO، دریل DR به طور منظم.
9) ایمنی به عنوان بخشی از قابلیت اطمینان
اسرار: مدیر مخفی، دسترسی JIT، حسابرسی.
WAF/DDoS محافظت در محیط، مشتری/مستاجر محدودیت.
حداقل سازی PII، DSAR/Legal Hold در حوادث.
امنیت زنجیره تامین: امضای مصنوعات، سیاست تصویر پایه.
10) سلامت در تماس
چرخش بدون «تک»، پنجره های روشن استراحت.
آستانه بیدار شدن در شب فقط P1/P2 SLO است.
Psychohygiene: کمبود خواب به عنوان یک خطر عملیاتی ثبت شده است.
معیارها: صفحات/هفته، صفحات شبانه/مهندس، زمان بازیابی.
11) معیارهای بلوغ SRE
پوشش SLO: نسبت مسیرهای بحرانی با SLO/هشدارها 90٪ ≥.
حکومت خطا بودجه: قوانین توقف وجود دارد و اعمال می شود.
کار: ≤ 30-40٪ از زمان، روند رو به پایین.
MTTD/MTTR: میانه در دینامیک سه ماهه.
نرخ کاهش خودکار:٪ از حوادث با عمل خودکار.
نرخ عبور PRR: درصد انتشارهایی که آمادگی تولید را گذرانده اند.
SLA پس از مرگ: SEV-1 - پس از مرگ ≤ 48 ساعت.
12) مستندات و دانش
حداقل مجموعه:- Runbooks/playbooks (اسکریپت های برتر: اسپایک 5xx، تاخیر DB، تاخیر کافکا، NodeNotReady، TLS).
- کارت های SLO و داشبورد.
- چک لیست PRR و قالب انتشار.
- کاتالوگ خدمات بستر های نرم افزاری و OLAs/SLAs.
- مواد آموزشی: SRE 101، Chaos 101، On-call 101.
13) ضد الگوهای
فرهنگ قهرمان: «امدادگران» به جای اصلاح سیستم.
هشدار پر سر و صدا: CPU/درایو در پیجر، صدها سیگنال غیر ضروری.
«DevOps یک مرد است»: مسئولیت لکه دار, هیچ صاحبان.
فقدان SLO: «همه چیز را سبز نگه دارید» → هرج و مرج اولویت.
تاخیر پس از مرگ و «شکار جادوگر».
بازگشت جهانی بدون قناری
اسرار در پیکربندی/مخزن ؛ بدون حسابرسی فعالیت.
قابلیت مشاهده به عنوان «نمودارهای زیبا» بدون سیگنال های عملی
14) الگوهای مصنوعی
14. 1 منشور SRE (قطعه)
yaml mission: "Make reliability manageable and economical"
tenets:
- "User - SLI/SLO Center"
- "Automation-first, minimizing toil"
- "Blameless & learning"
governance:
error_budget:
freeze_threshold: 0. 8 # 80% of the budget burned ⇒ release frieze review_cadence: "weekly"
oncall:
paging_policy: "SLO-only, P1/P2 at night"
health_metrics: ["pages_per_week", "night_pages_per_engineer"]
14. 2 چک لیست کوتاه PRR
- هشدارهای SLI/SLO و سوختگی پیکربندی شده اند
- نقاط پایانی سلامت و مصنوعی
- Runbook/playbook + مالک/در تماس
- رول بک/ویژگی های پرچم/قناری
- داشبورد تاخیر/خطا/ترافیک/اشباع
- محدودیت/سهمیه/امنیت گاردریل
- برنامه DR و پشتیبان گیری آزمایش شده است
15) پیاده سازی توسط مرحله (4 سرعت)
اسپرینت 1 - بنیاد
مسیرهای مهم کاربر و SLI ها را تعریف کنید.
SLO را فرموله کنید و هشدارهای سوختگی را اجرا کنید.
PRR و حداقل playbooks را وارد کنید.
Sprint 2 - مدیریت تغییر
محاسبات قناری، بازگشت خودکار توسط SLO.
عملیات سلف سرویس، کاتالوگ خدمات.
موجودی کار و برنامه اتوماسیون.
با حداکثر سرعت دویدن 3 - چرخه آموزش
مراسم پس از مرگ، تقویم بازی های هرج و مرج.
داشبورد SLO + حوادث، گزارش خطا بودجه.
Sprint 4 - بهینه سازی و مقیاس
نمونه کارها SLO, FinOps «هزینه به ازای هر 9».
پیاده سازی نظم و انضباط DR، ممیزی ایمنی.
KPI در تماس، پیشگیری از فرسودگی.
16) مینی سوالات متداول
SRE = «همه چیز را درست کن»
نه، اينطور نيست SRE سیستم قابلیت اطمینان را مدیریت می کند: SLO، هشدار، فرآیندها، اتوماسیون و آموزش.
چگونه یک کسب و کار را برای سرمایه گذاری در قابلیت اطمینان متقاعد کنیم ؟
نمایش ROI: MTTR پایین تر، تبدیل بالاتر، اعتبارات SLA کمتر، زیر هزینه برای خدمت، نسخه های پایدار.
آیا به دستورات جداگانه SRE نیاز دارم ؟
مدل ترکیبی: SRE استراتژیک در پلت فرم + SRE جاسازی شده در محصولات بحرانی.
مجموع
فرهنگ SRE یک موقعیت نیست، بلکه راهی برای کار با ریسک است: SLO → بودجه خطا → تغییر مدیریت شده → اتوماسیون آموزش. اصول را اصلاح کنید، آیین ها را شروع کنید (PRR، پس از مرگ، بازی های هرج و مرج)، شلیک کردن، ایجاد قابلیت مشاهده «به طور پیش فرض» و مراقبت از آن تماس بگیرید. به این ترتیب شما سرعت توسعه پایدار، انتشار قابل پیش بینی و یک پلت فرم قابل اعتماد و اقتصادی را دریافت می کنید.