كيف نحافظ على 99.98% عبر المناطق

خزائن خوادم في مركز بيانات — الحفاظ على توافرية 99.98% عبر المناطق

‏99.98% ليست شعارًا تسويقيًا — إنها أقل من ساعتي توقف في السنة كاملة. الوصول إلى هذا الرقم في توافرية الأنظمة لا يتحقق بشراء خوادم أكبر، بل بقرارات معمارية تفترض أن كل مكوّن سيفشل يومًا ما: الخادم، وقاعدة البيانات، والشبكة، وحتى المنطقة السحابية بأكملها. في هذا المقال نشرح المنهجية العملية التي نتبعها في «الشبكة» للحفاظ على توافرية عالية عبر مناطق متعددة، من اتفاقيات مستوى الخدمة الصادقة إلى اختبار الفشل المتعمد.

ابدأ بميزانية الخطأ، لا بالوعد

أول خطوة نحو توافرية حقيقية هي رقم صادق. اتفاقية مستوى الخدمة (SLA) التي تعد بـ100% كذبة مؤدبة؛ والفرق الناضجة تحدد هدف مستوى خدمة (SLO) قابلًا للقياس، وتشتق منه ميزانية خطأ: عدد الدقائق المسموح فيها بالتدهور قبل أن يتوقف إطلاق الميزات الجديدة لصالح تحسين الاستقرار.

ميزانية الخطأ تحوّل الموثوقية من نقاش عاطفي إلى قرار هندسي: إذا استهلكنا الميزانية مبكرًا، تتجمد المخاطرة تلقائيًا. وإذا بقيت الميزانية سليمة، نملك مساحة آمنة للتجريب والنشر السريع.

المنطقة الواحدة نقطة فشل — مهما كبرت

يمكن لأفضل بنية داخل منطقة سحابية واحدة أن تختفي كاملة بسبب عطل في مزوّد الخدمة، أو خطأ في التوجيه، أو حادثة على مستوى مركز البيانات. لهذا نصمم من اليوم الأول على أساس منطقتين على الأقل: منطقة أساسية تخدم الحركة، ومنطقة ثانوية جاهزة للاستلام.

السؤال ليس «هل ستفشل المنطقة؟» بل «كم دقيقة نحتاج لنقل الحركة عنها عندما تفشل؟»

التبديل الفعّال يحتاج ثلاثة عناصر تعمل معًا: توجيه DNS بمهلة قصيرة (TTL منخفض) أو موازن حمل عالمي، ونسخة حديثة من البيانات في المنطقة الثانوية، وأتمتة تنقل الحركة دون انتظار قرار بشري في الثالثة فجرًا.

البيانات هي الجزء الصعب

نقل حركة الويب بين المناطق سهل نسبيًا؛ الصعب هو البيانات. لكل نظام نحدد رقمين بوضوح: RPO (كم ثانية من البيانات نقبل خسارتها في أسوأ الحالات) وRTO (كم دقيقة نحتاج للعودة للعمل). هذان الرقمان يحددان نمط النسخ المناسب:

  • نسخ متزامن — صفر فقدان بيانات، لكنه يضيف زمن استجابة ويحدّ المسافة بين المناطق.
  • نسخ شبه متزامن — توازن عملي: تأخير ثوانٍ قليلة مقابل أداء طبيعي.
  • نسخ غير متزامن + نسخ احتياطية مستمرة — للأنظمة التي تتحمل فقدان دقائق قليلة.

المهم أن يكون الاختيار قرارًا واعيًا لكل نظام على حدة، لا افتراضًا واحدًا يفرض نفسه على كل شيء.

فحوصات صحية تقول الحقيقة

كثير من الأنظمة «الخضراء» في لوحة المراقبة تكون معطلة فعليًا، لأن الفحص الصحي يختبر أن العملية حية فقط، لا أنها تخدم المستخدمين. الفحص الصادق يمر عبر المسار الحقيقي: يستعلم قاعدة البيانات، ويلمس التخزين المؤقت، ويتحقق من التبعيات الخارجية الحرجة — ثم يقرر. وعلى أساسه يقرر موازن الحمل إخراج الخادم أو المنطقة من الخدمة تلقائيًا.

اختبر الفشل قبل أن يختبرك

خطة التبديل التي لم تُختبر ليست خطة — إنها أمنية. نجدول تمارين دورية نطفئ فيها المنطقة الأساسية عمدًا في بيئة الإنتاج أو ما يطابقها، ونقيس بالدقائق: متى اكتشف النظام الفشل؟ متى انتقلت الحركة؟ هل فُقدت بيانات؟ كل تمرين يكشف افتراضًا خاطئًا كان سيظهر في حادثة حقيقية أمام العملاء.

النتيجة الجانبية الأهم: الفريق يتدرب على الإجراء حتى يصبح روتينًا مملًا — وهذا بالضبط ما تريده في الطوارئ الحقيقية.

الحوادث ستقع — جهّز السيناريو لا البطولة

حتى مع كل ما سبق، ستقع حوادث. الفارق بين توقف 5 دقائق وتوقف 5 ساعات هو الجاهزية التشغيلية: دليل تشغيل (Runbook) واضح لكل سيناريو، وتنبيهات تصل للشخص الصحيح من أول مرة، وقناة تواصل معلنة للعملاء، ومراجعة ما بعد الحادثة بلا لوم تنتج إصلاحات جذرية لا ترقيعات.

قائمة تحقق للتوافرية العالية

  • هل لديك SLO مكتوب وميزانية خطأ تُراجع شهريًا؟
  • هل تعمل خدمتك من منطقتين على الأقل، وتم اختبار التبديل خلال آخر ربع سنة؟
  • هل حددت RPO وRTO لكل نظام بيانات — والنسخ الفعلي يحققهما؟
  • هل فحوصاتك الصحية تختبر المسار الحقيقي لا مجرد حياة العملية؟
  • هل لديك Runbook محدث لكل سيناريو فشل رئيسي؟

الخلاصة

التوافرية العالية ليست منتجًا يُشترى بل عادات تُبنى: أهداف صادقة تقود القرارات، ومنطقة ثانية جاهزة دائمًا، وبيانات منسوخة بوعي، وفحوصات تقول الحقيقة، وفشل يُختبر بالجدول قبل أن يفرض نفسه بلا موعد. بهذه العادات يصبح رقم مثل 99.98% نتيجة طبيعية لا معجزة.

في «الشبكة» نصمم البنى السحابية عالية التوافرية ونشغّلها لعملائنا عبر مناطق متعددة. إذا كان نظامك لا يحتمل التوقف، تواصل معنا — نساعدك تبني موثوقية تُقاس بالأرقام لا بالوعود.