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

حاسبات المستشفى المركزية؟ نوع مهم. مرونة تطبيق Candy Crush على هاتفك الخلوي؟ ربما أقل قليلاً في القائمة الشاملة للأولويات.

في نظام الشبكات الموزعة ، الفشل أمر لا مفر منه. يبدأ منع وقوع كارثة بتصميم أمني متين ومانع لتسرب المياه. علاوة على ذلك ، ما الذي يمكن فعله أيضًا؟

ما هي هندسة Netflix Chaos؟

20 سبتمبر 2015.

كل شيء هادئ على الجبهة الغربية ، عندما ، فجأة ، تعطل العديد من خوادم Amazon Web Services للشركات المهمة دون كلمة واحدة.

لم تتمكن العديد من الشركات الضخمة من توفير لعملائها لعدة ساعات. ومع ذلك ، عادت Netflix للوقوف على قدميها في غضون دقائق. كيف؟ تطورت ثقافة الشركة الداخلية في Netflix لتشمل العديد من الممارسات "المسببة للفشل" التي يتم تنفيذها في الوقت الفعلي لإعداد كل من الأنظمة والمهندسين على حد سواء عند وقوع الكوارث.

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

instagram viewer

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

لم يكن أحد آخر جاهزًا عندما ضربت الموجة الكبيرة. كان نظام Netflix قويًا بما يكفي ليدافع عن نفسه. استنتاج؟ قد تكون هذه العقول المدبرة الفوضوية على شيء ما هنا.

تعمد إبادة من يحبونك

"هندسة الفوضى هي نظام للتجربة على نظام من أجل بناء الثقة في قدرة النظام على تحمل الظروف المضطربة في الإنتاج."

مبادئ بيان الفوضى

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

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

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

القرود وراء الجنون

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

مجنون؟ إلى الشخص العادي ، ربما. على حد تعبير مؤلف "قرود الفوضى" أنطونيو جارسيا مارتينيز:

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

تشبيه ملون. ومع ذلك ، ليس كل Simians قاسيًا: على سبيل المثال ، يقوم Doctor Monkey بمراقبة أداء النظام. عندما تتوقف Chaos Kong للزيارة ، فإن كل الرهانات تتوقف ؛ ستزيل هذه الشخصية منطقة توفر AWS بالكامل.

متعلق ب: كيف يتم تقييم الثغرات الأمنية؟

هندسة الفوضى والمنهج العلمي

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

قبل إلقاء برميل القرود على الطاولة ، تتطلب هندسة الفوضى القليل من العمل الأساسي.

  1. تحتاج أولاً إلى تحديد ما تعتبره حالة وظيفية "ثابتة" وصحية لنظامك. سيكون هذا هو "التحكم" الذي تقيس عليه أي نتائج ملموسة.
  2. ابدأ في التفكير في الكيفية التي سيتم بها خلل التوازن في هذه الحالة من خلال تدخل الفشل المدبر. خطط لفحص البرامج الضارة بحيث تؤثر فقط على منطقة محتواة يمكن التحكم فيها في نظامك.
  3. قدم "الدخيل" واسمح للنظام بالاستجابة.
  4. راقب وفسر أي اختلافات بين النظام كما هو موجود الآن وكيف كان يتصرف من قبل ، أثناء وجوده في التوازن. قم بزيادة "نصف قطر الانفجار" حتى تكتشف ثغرة أمنية أو تصل إلى النطاق الكامل ، أيهما يأتي أولاً.

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

"نظرًا لأنه لا يوجد مكون واحد يمكن أن يضمن وقت تشغيل بنسبة 100٪ (وحتى تفشل أغلى الأجهزة في النهاية) ، يتعين علينا ذلك تصميم بنية سحابية حيث يمكن أن تفشل المكونات الفردية دون التأثير على توافر الكل النظام."

ال نيتفليكس مدونة او مذكرة

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

متعلق ب: ما هي ثغرة يوم الصفر؟

هل تستحق هندسة الفوضى كل هذا العناء؟

إذا كنت تريد أن تفهم نظامًا معقدًا - فاضغط عليه

- فرحان ثوار (fnthawar) 26 مايو 2021

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

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

وادي السيليكون: حيث تموت الأحلام

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

إن تجربة مكان العمل تجعل احتمالات النجاح في هذا المجال مثيرة ؛ عندما تكون النتيجة النهائية ذات جودة ، يرتقي الجميع إلى المستوى الأعلى. يعمل My Netflix على ما يرام ، وليس لدينا سوى المجانين الذين يقفون وراء الفوضى لنشكرهم على ذلك.

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

بريد إلكتروني
ما هي منهجية البرمجة الرشيقة؟

سواء كنت تتقدم لوظائف البرمجة أو تريد طريقة عمل أكثر فاعلية ، فستحتاج إلى معرفة Agile.

اقرأ التالي

مواضيع ذات صلة
  • برمجة
  • برمجة
عن المؤلف
إيما جاروفالو (25 مقالة منشورة)

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

المزيد من Emma Garofalo

اشترك في نشرتنا الإخبارية

انضم إلى النشرة الإخبارية لدينا للحصول على نصائح تقنية ومراجعات وكتب إلكترونية مجانية وصفقات حصرية!

خطوة أخرى أيضا…!

يرجى تأكيد عنوان بريدك الإلكتروني في البريد الإلكتروني الذي أرسلناه لك للتو.

.