تأسست عام 2008 · النسخة الرقمية · 19 يونيو 2026

SMB IT Journal

مورد تقنية المعلومات للشركات الصغيرة

العربية
البنية التقنية

الحلقة الأضعف: كيف تؤثر التبعيات المتسلسلة على مخاطر النظام

عند تقييم سيناريوهات مخاطر النظام يسهل جدًا إغفال التبعيات “المتسلسلة”. نحن مدرّبون على النظر إلى المخاطر على مستوى “العقدة” بالتساؤل “ما احتمال فشل هذا الشيء الواحد”. لكن مخاطر النظام أعقد من ذلك بكثير.

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

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

في تصميم SAN (شبكة منطقة التخزين) القياسي للمحاكاة الافتراضية لديك مضيفو المحاكاة الافتراضية (سنسميها “الخوادم” للتبسيط) ومحولات SAN (المحولات المخصصة لشبكة التخزين) ومصفوفات الأقراص نفسها. كل هذه “الطبقات” الثلاث تعتمد على الأخريين لكي يعمل النظام ككل. فإذا كانت لدينا أبسط مجموعة ممكنة بخادم واحد ومحول واحد ومصفوفة أقراص واحدة فإننا نمتلك بوضوح تام ثلاثة أجهزة تُمثّل ثلاث نقاط فشل متميزة. فشل أي واحد من الثلاثة يتسبب في فشل النظام بأكمله. لا يُجدي أي جزء بمفرده. هذه تبعية متسلسلة والسلسلة لا تقوى إلا بقدر حلقتها الأضعف.

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

بعد أن عزّزنا نظامنا، لا تزال لدينا ثلاثة مجالات فشل في سلسلة تبعية. ما فعلناه هو جعل كل “حلقة” في السلسلة، كل مجال فشل، أكثر مرونة بمفردها. لكن السلسلة لا تزال قائمة. وهذا يعني أن النظام ككل أقل موثوقية بكثير من أي مجال فشل منفرد داخل السلسلة وحده. لقد صنعنا شيئًا أفضل بكثير مما بدأنا به، لكننا لا تزال لدينا مجالات فشل عديدة. هذه المخاطر تتراكم.

ما يصعب في تحديد المخاطر الإجمالية هو أنه يتعين علينا تقييم مخاطر كل عنصر ثم تحديد المخاطر الجديدة بعد التخفيف (من خلال إضافة الازدواجية) ثم إيجاد المخاطر التراكمية لكل مجالات الفشل معًا في سلسلة لتحديد المخاطر الإجمالية للنظام بأكمله. من الصعب للغاية تحديد المخاطر داخل كل مجال فشل إذ تؤدي طريقة تخفيف المخاطر دورًا جوهريًا. فعلى سبيل المثال قد تتسبب مجموعة مصفوفات أقراص تخزين تُجري التحويل ببطء شديد في فشل النظام بأكمله حتى حين يبدو أن مجموعة التخزين ذاتها عملت بشكل صحيح. حتى تحديد الفشل الصريح قد يكون بذلك أمرًا تحديًا.

كثيرًا ما يكون من المغري اتخاذ نظرة تقييمية “من القمة” للمخاطر وهو أمر خطير جدًا لكنه شائع جدًا لدى غير المتخصصين المعتادين على تقييم المخاطر. فالميل هنا هو النظر إلى المخاطر بمعاينة مجال الفشل “الأعلى” فحسب — وهي عادةً الخوادم في مثل هذه الحالة — وتجاهل أي مخاطر تقع تحت تلك النقطة باعتبارها “ما وراء الكواليس” وليست جزءًا من تقييم المخاطر. ومن السهل تجاهل المكونات الأكثر تقنيةً والأقل ظهورًا والأقل فهمًا كالشبكات والتخزين والتركيز على جوانب الموثوقية في الطبقة العليا التي يسهل فهمها وتُسوَّق بشكل مكثف. هذه “النظرة العليا” تعني أن المخاطر تحت المستوى الأعلى تكون محجوبة ومُتجاهلة في الغالب مما يُفضي إلى مخاطر عالية دون فهم واضح للسبب.

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

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

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

نهج آخر يجدر النظر فيه هو جعل العقد المنفردة أكثر موثوقيةً بمفردها. من الرائج اليوم النظر إلى أنظمة أكبر ومعالجة تخفيف المخاطر بهذه الطريقة بإضافة عقد منخفضة التكلفة ومتكررة لإضافة موثوقية إلى مجالات الفشل. لكن تاريخيًا لم يكن هذا المسار الافتراضي نحو الموثوقية. كان أكثر شيوعًا في الماضي، كما يظهر في السائد السابق لأنظمة الإطار الرئيسي (Mainframe) وما شابهها من الفئات، بناء درجات عالية من الموثوقية داخل عقدة واحدة. وأنظمة الإطار الرئيسي وأنظمة التخزين عالية المستوى مثلًا لا تزال تفعل ذلك اليوم. يمكن أن يكون هذا نهجًا فعّالًا للغاية لكنه يفشل في معالجة كثير من السيناريوهات وهو في الغالب باهظ التكلفة، مُضاعَفةً في الغالب بالحاجة إلى صيانة الأنظمة جزئيًا أو كليًّا من قِبل المورد. وهذا ينجح فقط في ظروف خاصة ضيقة وليس عمليًا على نطاق أوسع.

لذا في أي نظام من هذا القبيل لدينا ثلاث استراتيجيات رئيسية لتخفيف المخاطر نأخذها في الاعتبار: تحسين موثوقية عقدة واحدة، أو تحسين موثوقية مجال واحد، أو تقليص عدد مجالات الفشل (الحلقات) في سلسلة التبعية. دمج هذه الاستراتيجيات بالقدر المناسب يمكن أن يساعدنا على تحقيق مستوى تخفيف المخاطر الملائم لسيناريو أعمالنا.

أين تكمن الصعوبة الحقيقية وتبقى هو في المقارنة بين استراتيجيات تخفيف المخاطر المختلفة. يمكن في الغالب تقدير خطر عقدة واحدة بدرجة من الثقة. أما استراتيجية الازدواجية داخل مجال واحد فلديها قدرة أقل بكثير على التقدير — بعض استراتيجيات الازدواجية فعّالة للغاية وتخلق مجالات فشل موثوقة للغاية في حين قد تأتي أخرى بنتائج عكسية وتُقلص فعليًا موثوقية المجال! التعقيد الذي يصاحب في الغالب استراتيجيات الازدواجية لا يخلو أبدًا من تحفظات، وبينما يُجدي في الغالب فإنه نادرًا ما يحمل درجة الفائدة في الموثوقية المتوقعة في البداية. تقدير مخاطر سلسلة التبعية أصعب إذن بكثير إذ يستلزم فهمًا واضحًا للمخاطر المرتبطة بكل مجالات الفشل منفردةً فضلًا عن فهم فرصة الفشل القائمة عند حدود المجالات (كتأخير التحويل في التخزين المُشار إليه سابقًا).

دعونا نستكشف المسائل المتعلقة بتحديد المخاطر في نهجين شائعين جدًا للسيناريو ذاته بناءً على ما ناقشناه أعلاه.

مثالان متطرفان للموقف ذاته الذي نناقشه هما خادم واحد بتخزين داخلي يستضيف الأجهزة الافتراضية مقابل “سلسلة” من ستة أجهزة بخادمين يستخدمان حلًّا للتوافر العالي على مستوى طبقة الخوادم ومحولين مع ازدواجية على مستوى طبقة التحويل ومصفوفتي أقراص توفران توافرًا عاليًا على مستوى طبقة التخزين. إذا بدّلنا أي عامل كبير هنا يمكننا في الغالب تقديم تقدير واضح للمخاطر النسبية — إذا كان أي من مجالات الفشل يفتقر إلى ازدواجية موثوقة مثلًا — يمكننا بوضوح تام تحديد أن الخادم الواحد هو النظام الأكثر موثوقية بشكل عام إلا في الحالات التي تُسند فيها درجة موثوقية عقدة منفردة عالية جدًا لعقدة واحدة، وهي في الغالب استراتيجية غير عملية ماليًا. لكن مع وجود ازدواجية في كل مجال فشل نُضطر إلى مقارنة المخاطر النسبية للموثوقية داخل المجال (السلسلة الازدواجية) مقابل الموثوقية بين المجالات (السلسلة المطوية، الخادم الواحد).

مع النهجين المختلفين تمامًا لا توجد طريقة معقولة لتقييم المخاطر المقارنة للنهجين في تخفيف المخاطر. ومن المقبول عمومًا أن نهج الستة عقد (أو أكثر) مع تخفيف المخاطر المكثف داخل المجال هو الأكثر موثوقية من النهجين وهذا صحيح على الأرجح بشكل عام. لكنه ليس صحيحًا دائمًا ونادرًا ما يتفوق هذا النهج على استراتيجية العقدة الواحدة بهامش كبير فعلًا في حين أن تكلفته في الغالب أربعة إلى عشرة أضعاف تكلفة استراتيجية الخادم الواحد. هذا يُمثّل تكلفة مرتفعة محتملة مقابل ما هو على الأرجح مكسب صغير في الموثوقية وخطر صغير محتمل لخسارة في الموثوقية. كل عنصر ازدواجي إضافي يزيد من التعقيد الذي على إنسان تطبيقه ومراقبته وصيانته ومع التعقيد والتفاعل البشري تزداد المخاطر أكثر فأكثر. تجنّب الخطأ البشري قد يكون في الغالب أهم من تجنّب العطل الميكانيكي.

يتعين علينا أيضًا النظر في تكلفة الاسترداد. إذا حدث فشل فمن السهل في الغالب الاستردادُ من فشل نظام بسيط. أما النظام البالغ التعقيد بعد الفشل فقد يتطلب استعادته إلى حالة عمل جهدًا كبيرًا. كما تتطلب الأنظمة المعقدة درجات أوسع وأعمق من الخبرة والثقة للحفاظ عليها.

لا توجد إجابة سهلة لتحديد موثوقية الأنظمة. إن أنظمة تسليم المعلومات الحديثة ببساطة بالغة الضخامة والتعقيد مع عوامل غير محددة كثيرة جدًا لتقييمها في جميع الحالات. مع فهم جيد للتبعيات المتسلسلة ومع فهم استراتيجيات تخفيف المخاطر يمكننا اتخاذ خطوات عملية لتحديد المستويات النسبية للمخاطر تقريبًا ورؤية أين تتقاطع سيناريوهات المخاطر المماثلة في التكلفة وتحديد نقاط الهشاشة والتعرف على مجالات الفشل وسلاسل التبعية وتقدير كيف ستُحرّكنا التغييرات في تصميم النظام بوضوح نحو الموثوقية أو بعيدًا عنها.

موسوم بـdependency chain

إعلان

SMB IT Journal — the IT resource for small business