تعريف الموثوقية والتوافر
تعريف الموثوقية والتوافر
كل نظام واسع النطاق يفشل في نهاية المطاف. تموت الأجهزة، تنقطع الشبكات، تظهر الأخطاء تحت الضغط، وتتعطل التبعيات الخارجية. الهدف لا يكون أبداً القضاء على الفشل — بل بناء أنظمة تفشل بأناقة، وتتعافى بسرعة، وتبقي المستخدمين راضين. قبل تحقيق ذلك، تحتاج إلى لغة دقيقة: SLA وSLO وSLI. هذه المصطلحات الثلاثة هي مفردات هندسة الموثوقية، والخلط بينها يُفضي إلى توقعات غير متوافقة، وحوادث فائتة، وإسراف في الاستثمار في الطاقة.
SLI — مؤشر مستوى الخدمة
SLI (مؤشر مستوى الخدمة) هو رقم مُقاس — إشارة حقيقية وقابلة للقياس الكمي تجمعها عن سلوك نظامك. فكّر فيه كمقياس واحد على لوحة التحكم لديك. تشمل مؤشرات SLI الشائعة:
- التوافر — نسبة الطلبات الصالحة التي تعيد استجابة ناجحة (عادةً غير 5xx).
- زمن الاستجابة — نسبة الطلبات التي خُدمت أقل من عتبة محددة (مثل "p99 أقل من 200 مللي ثانية").
- معدل الأخطاء — نسبة الطلبات التي أسفرت عن خطأ.
- معدل النقل — الطلبات المُعالجة في الثانية.
- المتانة — بالنسبة للتخزين، احتمالية أن البيانات المكتوبة لا تزال قابلة للقراءة بعد أشهر (مثلاً S3 تُقتبس بنسبة 99.999999999%).
مؤشر SLI هو دائماً نسبة: الأحداث الجيدة / الأحداث الصالحة. إذا استقبلت واجهة برمجة التطبيقات لديك 1,000,000 طلب وكان 9,950 منها أخطاء 5xx، فإن مؤشر SLI للتوافر لتلك النافذة الزمنية هو (1,000,000 − 9,950) / 1,000,000 = 99.005%.
SLO — هدف مستوى الخدمة
SLO (هدف مستوى الخدمة) هو هدف لمؤشر SLI على مدى نافذة قياس معينة. إنه التزام هندسي داخلي — عتبة تُصمم وتشغّل نحوها. على سبيل المثال:
- هدف SLO للتوافر: نجاح 99.9% من الطلبات، مقاساً على نافذة 30 يوماً متجددة.
- هدف SLO لزمن الاستجابة: إكمال 95% من الطلبات في أقل من 100 مللي ثانية؛ 99% في أقل من 500 مللي ثانية.
يحدد هدف SLO ميزانية الأخطاء: هامش الفشل المسموح به قبل اختراق الهدف. عند 99.9% على 30 يوماً، ميزانيتك هي 0.1% × 30 × 24 × 60 = 43.2 دقيقة من التوقف (أو الطلبات السيئة المعادلة). تستخدم الفرق ميزانية الأخطاء لتحديد مدى سرعة الشحن: ميزانية متبقية كثيرة ← شحن الميزات بسرعة؛ ميزانية كادت تنفد ← تجميد الإصدارات المحفوفة بالمخاطر والتركيز على الموثوقية.
SLA — اتفاقية مستوى الخدمة
SLA (اتفاقية مستوى الخدمة) هي وعد تعاقدي للعملاء — تحدد هدف SLO وما يحدث عند إخفاقك (استردادات، ائتمانات، حقوق إنهاء العقد). تُفاوَض اتفاقيات SLA بين الأعمال وعملائها؛ أهداف SLO هي أهداف هندسية. تنشر Google Cloud وAWS وAzure جميعها اتفاقيات SLA مع نسب مصية صريحة وجداول ائتمانية.
العلاقة هرمية: SLI → SLO → SLA. تقيس بمؤشرات SLI، وتستهدف أهداف SLO، وتلتزم خارجياً عبر اتفاقيات SLA. انتهاك اتفاقية SLA له عواقب مالية وقانونية؛ انتهاك هدف SLO هو إنذار هندسي داخلي.
ما تعنيه "النسب التسعية" فعلاً
يُعبَّر عن التوافر دائماً تقريباً كنسبة مئوية من وقت التشغيل، ويُوصف بالعامية بـ "النسب التسعية". يُظهر الجدول أدناه بالضبط مقدار التوقف الذي يسمح به كل مستوى في السنة — الأرقام صغيرة بما يكفي لإدهاش معظم المهندسين.
التوافر التوقف / سنة التوقف / شهر التوقف / أسبوع ───────────────────────────────────────────────────────────────────── 90% 36.5 يوم 72 ساعة 16.8 ساعة 99% 3.65 يوم 7.2 ساعة 1.68 ساعة 99.5% 1.83 يوم 3.6 ساعة 50.4 دقيقة 99.9% 8.77 ساعة 43.8 دقيقة 10.1 دقيقة 99.95% 4.38 ساعة 21.9 دقيقة 5.04 دقيقة 99.99% 52.6 دقيقة 4.38 دقيقة 1.01 دقيقة 99.999% 5.26 دقيقة 26.3 ثانية 6.05 ثوانٍ
الانتقال من ثلاثة نسب تسعية (99.9%) إلى أربعة (99.99%) يقلص وقت التوقف المسموح به من ~8.7 ساعات/سنة إلى ~52 دقيقة/سنة. تتطلب هذه القفزة في الغالب تكراراً نشطاً-نشطاً، وتحويلاً تلقائياً للفشل، واختبار الفوضى — استثمار هندسي كبير. الوصول إلى خمسة نسب تسعية (99.999%، ~5 دقائق/سنة) هو مجال شركات الاتصالات ويستلزم استجابة للحوادث يكاد لا يشارك فيها إنسان.
الموثوقية مقابل التوافر — إنهما ليسا الشيء نفسه
التوافر يقيس نسبة الوقت (أو الطلبات) التي يكون فيها النظام يعمل ويستجيب بصحة. الموثوقية خاصية أوسع: النظام الموثوق لا يبقى فحسب قيد التشغيل بل يُنتج أيضاً نتائج صحيحة باستمرار. قد يكون النظام عالي التوافر (نادراً ما يتوقف) وغير موثوق (يُعيد بيانات خاطئة في الغالب). على سبيل المثال، طبقة تخزين مؤقت تُقدم بيانات قديمة 20% من الوقت متاحة لكنها غير موثوقة. في الممارسة، تتضمن مؤشرات SLI للموثوقية مقاييس الصحة مثل "نسبة الطلبات المُعالجة دون خطأ في تكامل البيانات."
اختيار أهداف SLO المناسبة
ليست كل مقاييس تستحق هدف SLO محكم. الإفراط في هندسة الموثوقية يستنزف الميزانية الهندسية ويزيد تعقيد النظام. استخدم هذه الإرشادات:
- ابدأ من رحلة المستخدم. ما الذي يختبره المستخدم مباشرة؟ يستحق زمن الاستجابة ومعدل الأخطاء في المسار الحرج أهداف SLO محكمة؛ يمكن للمهام الخلفية تحمّل أهداف أرخى.
- طابق هدف SLO مع المخاطر التجارية. خدمات الدفع تبرر خمسة نسب تسعية؛ لوحة تحليلات داخلية يمكن أن تعمل بنسبة 99.5%.
- قِس أولاً، ثم حدد الأهداف. لا تلتزم أبداً بهدف SLO لم تقسه من قبل. خط الأساس التاريخي لديك هو نقطة بدايتك.
- أهداف SLO أقل ومختارة جيداً تتفوق على أهداف كثيرة فضفاضة. توصي Google SRE بثلاثة إلى خمسة أهداف SLO لكل خدمة.
الملخص
تشكّل مؤشرات SLI وأهداف SLO واتفاقيات SLA سلسلة: تقيس السلوك الفعلي بمؤشرات SLI، وتحدد أهدافاً داخلية بأهداف SLO، وتلتزم خارجياً عبر اتفاقيات SLA. "النسب التسعية" ليست شارات تسويقية — إنها تمثل ميزانيات توقف دقيقة ومحسوبة تحكم كل شيء من استراتيجية النشر إلى مناوبات مناوبة الاستعداد لديك. في الدروس القادمة ستتعلم التقنيات المعمارية الملموسة — التكرار، والتحويل التلقائي للفشل، وقواطع الدارة والمزيد — التي تمكّنك من تحقيق تلك الأهداف فعلاً.