لماذا لاتزال مواقع الإنترنت تتوقف عن العمل في أسوأ وقت يمكن تصوره

ليس أحد كلاب أمازون، ولكنه يبقى ظريفاً.
استمع الى المقالة الآن هذه الخدمة تجريبية
Play Audio Pause Audio

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

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

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

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

لا شك أن ذلك كله يثير التساؤلات: بالنظر إلى أنه حتى أحد مواقع الإنترنت العملاقة مثل Amazon.com قد يواجه بعض العقبات، فكيف تستعد الشركات عندما تعلم أنها تتوقع ورود تدفق هائل من حركة البيانات (عدد المستخدمين)، ولماذا لا تزال هذه الأنظمة تفشل في بعض الأحيان؟

تحمل الأخطاء والأداة “كيوس مونكي”

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

أحد الأساليب هو أن تتأكد الشركة من أن لديها ما يكفي من القدرات الحاسوبية المتاحة للتكيف بشكل ديناميكي مع تدفق البيانات الذي يرد إليها. وإحدى الطرق السهلة للقيام بذلك هو الاستفادة من النطاق الواسع لخدمات الحوسبة السحابية من أمثال “أمازون ويب سيرفيسز (AWS)” وأخرى منافسة لها مثل “جوجل كلاود بلاتفورم”، و “مايكروسوفت أزور”.

بعد ذلك، يمكن لقدرات الشركة الحاسوبية أن تقوم بما يشير إليه قطاع الحوسبة السحابية بمصطلح “التوسع المرن”، بمعنى أنه كلما احتاجت الشركة للمزيد من الموارد – أي زيادة قدرات الحوسبة رداً على زيادة حركة البيانات على الويب – يمكنها الحصول عليها في الزمن الحقيقي. هذا يكافئ استدعاء التعزيزات الحاسوبية عند الحاجة.

لا شك أننا أمام مفارقة ساخرة عندما نقول إن الموقع Amazon.com قد واجه بعض المشاكل في يوم تعلم الشركة أنها ستستقبل فيه كماً هائلاً من تدفق البيانات، بالنظر إلى أنها تمتلك خدمة AWS التي تبيعها إلى الشركات لكي تتجنب حدوث مثل هذه المشاكل لديها.

تقول جوستن شيري، الأستاذة المساعدة في علوم الحاسوب في جامعة كارنيجي ميلون التي تدرّس مادة الشبكات الحاسوبية: “الحل المناسب لكل مشكلة هو إضافة المزيد من الآلات، ولا يمكنك فعل ذلك إن كنت شركة صغيرة”. وتتابع شيري: “ربما لا يزال من الأفضل لك الحصول على الموارد التي قامت أمازون بتجميعها معاً عبر خدمتها AWS، مقارنة بما يمكنك تجميعه بنفسك”.

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

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

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

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

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

الاختناقات والأجزاء المتغيرة

مع ذلك، وعلى الرغم من اتخاذ أفضل الاستعدادات، ما زالت الخدمات تتعطل. علينا ألا ننس في النهاية أنها أنظمة معقدة.

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

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

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

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

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

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

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