أساسيات الحوسبة السحابية

قابلية التوسّع والمرونة

لماذا نظام يستطيع النمو ونظام ينمو وينكمش تلقائياً مهارتان مختلفتان تماماً، وكيف تحقق إعدادات الطاقة وسياسات التوسّع في مجموعة Auto Scaling الثانية منهما فعلياً.

متوسط 17 دقائق 4 أهداف التعلّم
  1. ميّز بين قابلية التوسّع (Scalability) والمرونة (Elasticity)، واشرح لماذا تجيبان عن سؤالين مختلفين
  2. اشرح كيف تعمل إعدادات الحد الأدنى والمرغوب والحد الأقصى لمجموعة Auto Scaling معاً
  3. قارن سياسات تتبع الهدف والتدرّج والجدولة، وحدد أيها يناسب نمط طلب معيّن
  4. طبّق المرونة على مثال محلول يوضح الأثر المالي لمطابقة الطاقة مع الطلب الفعلي لحظة بلحظة

طريقتان يخطئ بهما التخطيط لحركة أكبر

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

تذكير: نمو تعرفه بالفعل

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

قابلية التوسّع: القدرة على النمو

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

المرونة: مطابقة الطاقة مع الطلب تلقائياً

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

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

مثال محلول: يوم داخل مجموعة Auto Scaling

مجموعة Auto Scaling هي آلية AWS التي تؤتمت هذا. لنقل إن مجموعة مضبوطة بحد أدنى 4 نسخ، وطاقة مرغوبة 6، وحد أقصى 12. الحد الأدنى والحد الأقصى حدود صلبة لن تتجاوزها المجموعة في أي اتجاه؛ الطاقة المرغوبة هي نقطة البداية التي تعدّل منها سياسة التوسّع داخل ذلك النطاق.

في الساعة 9 صباحاً، ترتفع الحركة ويتجاوز متوسط استخدام المعالج عبر المجموعة هدفه. تطلق سياسة تتبع الهدف نسخاً جديدة، واحدة أو اثنتين في كل مرة، حتى يستقر استخدام المعالج قرب الهدف مجدداً، لتصل الطاقة إلى نحو 10 نسخ بحلول منتصف الصباح. تستمر الحركة طوال اليوم وتخف بحلول 6 مساءً؛ تنهي السياسة نفسها الآن نسخاً مع هبوط استخدام المعالج تحت الهدف، فتُخفَّض الطاقة تدريجياً نحو 6، ثم أكثر نحو الحد الأدنى البالغ 4 خلال الليل. لا تلمس المجموعة سقفها البالغ 12 نسخة ذلك اليوم، ولا تعمل أبداً بأقل من 4. يدفع الفريق ثمن نحو 10 نسخ خلال الساعات التسع المزدحمة التي احتاجتها فعلاً، وأقل من ذلك بكثير طوال الليل، بدل تشغيل 12 (أو حتى 10 ثابتة) طوال الـ24 ساعة.

سياسات التوسّع: 3 طرق لإخبار المجموعة متى تتحرك

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

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

المرونة تعني أيضاً الشفاء الذاتي

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

الالتباس: "Auto Scaling" ليس صعوداً فقط

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

إشارات الامتحان: قراءة سؤال قابلية التوسّع مقابل المرونة

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

إلى أين يقودك هذا

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