اختر اللغة

COLA: التوسع التلقائي الجماعي للخدمات المصغرة السحابية

تحليل لـ COLA، وهو مُوسِّع تلقائي جديد لتطبيقات الخدمات المصغرة يُحسن تخصيص الآلات الافتراضية على مستوى التطبيق لتقليل التكلفة مع تحقيق أهداف زمن الاستجابة الشامل.
apismarket.org | PDF Size: 1.6 MB
التقييم: 4.5/5
تقييمك
لقد قيمت هذا المستند مسبقاً
غلاف مستند PDF - COLA: التوسع التلقائي الجماعي للخدمات المصغرة السحابية

1. المقدمة

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

2. مشكلة التوسع التلقائي المستقل

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

3. COLA: نهج التوسع التلقائي الجماعي

يعيد COLA صياغة مشكلة التوسع التلقائي كـ مشكلة تحسين مقيدة. فهو يستبدل عدة موسعات تلقائية مستقلة بوحدة تحكم مركزية واحدة تتمتع برؤية شاملة لبنية الخدمات المصغرة وأداء التطبيق.

3.1. الإطار الأساسي للتحسين

يتم صياغة الهدف على النحو التالي:

  • الهدف: تقليل إجمالي تكلفة الحوسبة.
  • القيود: متوسط أو ذيل زمن الاستجابة الشامل للتطبيق ≤ زمن الاستجابة المستهدف.
  • متغيرات القرار: عدد الآلات الافتراضية (أو النسخ) المخصصة لكل خدمة مصغرة $i$، والمشار إليها بـ $n_i$.

هذه مشكلة تحسين غير خطية معقدة لأن العلاقة بين $n_i$ وزمن الاستجابة الشامل ليست مباشرة وتعتمد على أنماط الحمل والاتصال بين الخدمات.

3.2. عملية البحث خارج الخط

حل مشكلة التحسين هذه أثناء التشغيل غير عملي بسبب الوقت المطلوب للتوفير واستقرار الأداء. لذلك، يستخدم COLA عملية بحث خارج الخط:

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

يمكن لـ COLA الاستيفاء بين أحمال العمل المعروفة والتراجع إلى الموسعات التلقائية الافتراضية إذا واجه نمط حمل عمل غير مسبوق.

4. التفاصيل التقنية والصياغة الرياضية

يمكن تمثيل مشكلة التحسين الأساسية بشكل مجرد على النحو التالي:

$$\min_{\{n_i\}} \sum_{i=1}^{M} C_i(n_i)$$ $$\text{subject to: } L_{e2e}(\{n_i\}, \lambda) \leq L_{target}$$ $$n_i \in \mathbb{Z}^+$$ حيث:

  • $M$: عدد الخدمات المصغرة.
  • $n_i$: عدد وحدات الموارد (مثل الآلات الافتراضية) للخدمة المصغرة $i$.
  • $C_i(n_i)$: دالة التكلفة للخدمة المصغرة $i$ مع $n_i$ وحدة.
  • $L_{e2e}$: دالة زمن الاستجابة الشامل، تعتمد على جميع $n_i$ وكثافة حمل العمل $\lambda$.
  • $L_{target}$: هدف مستوى الخدمة (SLO) المطلوب لزمن الاستجابة.
تتضمن "مشكلة Bandit" في الخطوة 3 من بحث COLA معاملة كل تخصيص محتمل للآلات الافتراضية للخدمة التي تشكل اختناقًا كـ "ذراع". سحب الذراع يتوافق مع توفير ذلك التكوين وقياس المقايضة الناتجة بين التكلفة وزمن الاستجابة. يمكن استخدام خوارزميات مثل الحد الأعلى للثقة (UCB) لاستكشاف واستغلال فضاء التكوين بكفاءة.

5. النتائج التجريبية والتقييم

تم تقييم COLA بدقة مقابل عدة موسعات تلقائية أساسية (قائمة على الاستخدام وقائمة على التعلم الآلي) على Google Kubernetes Engine (GKE).

5.1. إعداد التجربة

  • التطبيقات: 5 تطبيقات خدمات مصغرة مفتوحة المصدر (مثل Simple WebServer، BookInfo، Online Boutique).
  • المنصات: GKE Standard (العقد المدارة من قبل المستخدم) و GKE Autopilot (البنية التحتية المدارة من قبل المزود).
  • المقاييس الأساسية: HPA القياسي (قائم على وحدة المعالجة المركزية)، موسعات تلقائية متقدمة قائمة على التعلم الآلي.
  • أحمال العمل: 63 نمطًا متميزًا من أحمال العمل.
  • الهدف: تحقيق هدف مستوى الخدمة (SLO) محدد لزمن الاستجابة المتوسط أو الذيل (مثل p95).

5.2. مقاييس الأداء الرئيسية

تحقيق هدف مستوى الخدمة (SLO)

53/63

عدد أحمال العمل التي حقق فيها COLA هدف زمن الاستجابة.

متوسط تخفيض التكلفة

19.3%

مقارنة بأرخص موسع تلقائي تالي.

السياسة الأكثر فعالية من حيث التكلفة

48/53

كان COLA هو الأرخص لـ 48 من أصل 53 حمل عمل ناجح.

الأمثلية على التطبيقات الصغيرة

~90%

بالنسبة للتطبيقات الأصغر حيث كان البحث الشامل ممكنًا، وجد COLA التكوين الأمثل في حوالي 90% من الحالات.

5.3. ملخص النتائج

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

وصف الرسم البياني (المتخيل): من المحتمل أن يُظهر مخطط الأعمدة "التكلفة لكل طلب ناجح" أو "التكلفة الإجمالية للعنقود" على المحور Y، مع موسعات تلقائية مختلفة (COLA، HPA، ML-A) على المحور X. سيكون عمود COLA أقل بشكل ملحوظ. قد يُظهر مخطط ثاني "معدل انتهاك هدف مستوى الخدمة (SLO) لزمن الاستجابة"، حيث يقترب عمود COLA من الصفر بينما تُظهر الأعمدة الأخرى معدلات انتهاك أعلى.

6. إطار التحليل وحالة مثال

منظور المحلل: تفكيك من أربع خطوات

الفكرة الأساسية: الاختراق الأساسي للورقة البحثية ليس خوارزمية جديدة فاخرة، ولكن تحول حاسم في المنظور: معاملة تطبيق الخدمات المصغرة بأكمله كنظام واحد يجب تحسينه، وليس مجموعة من الأجزاء المستقلة. هذا مشابه للتحول في رؤية الكمبيوتر الذي أحدثته نماذج مثل CycleGAN (Zhu et al., 2017)، والتي تجاوزت ترجمة الصور المقترنة من خلال النظر في اتساق الدورة لمجال التحويل بأكمله. يطبق COLA مبدأ "الاتساق الشامل" المماثل على إدارة الموارد.

التدفق المنطقي: الحجة مقنعة وبسيطة: 1) الأمثلية المحلية (التوسع لكل خدمة) تتراكم لتشكل عدم كفاءة شاملة. 2) لذلك، استخدم هدفًا شاملًا (التكلفة) مع قيد شامل (زمن الاستجابة الشامل). 3) نظرًا لأن حل هذا أثناء التشغيل بطيء جدًا، قم بحله خارج الخط عبر البحث ونشر السياسة. تكمن الأناقة في استخدام مشكلة Bandit لجعل البحث عن التخصيص الأمثل للاختناق فعالاً، وهي تقنية مدعومة بأبحاث مكثفة في التعلم المعزز لتحسين الأنظمة (على سبيل المثال، أعمال من مختبر RISELab في جامعة كاليفورنيا، بيركلي).

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

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

7. آفاق التطبيق والاتجاهات المستقبلية

المبادئ الكامنة وراء COLA لها قابلية تطبيق واسعة تتجاوز التوسع الأساسي للآلات الافتراضية:

  • التوسع متعدد الموارد وغير المتجانس: يمكن للإصدارات المستقبلية أن تقرر بشكل جماعي حجم الآلة الافتراضية (المحسنة للذاكرة مقابل المحسنة للحوسبة)، وتخصيص GPU، وحتى التنسيب عبر مناطق التوفر أو مزودي السحابة من أجل التكلفة والمرونة.
  • التكامل مع شبكات الخدمة: سيوفر اقتران COLA مع شبكة خدمة (مثل Istio) قياسًا عن بعد أكثر ثراءً (تتبع مستوى الطلب، رسومات التبعية) ويمكن حتى من التحكم المباشر في توجيه حركة المرور وكسر الدائرة كجزء من التحسين.
  • التكيف أثناء التشغيل والتعلم الفوقي: الحدود البحثية الرئيسية هي التغلب على القيد خارج الخط. يمكن لتقنيات التعلم الفوقي أن تسمح لـ COLA بتكييف سياسته بسرعة أثناء التشغيل بناءً على التغذية الراجعة في الوقت الفعلي، أو استكشاف تكوينات جديدة بأمان خلال فترات حركة المرور المنخفضة.
  • أهداف الحوسبة الخضراء: يمكن توسيع هدف التحسين لتقليل البصمة الكربونية أو استهلاك الطاقة، بما يتماشى مع مبادرات الحوسبة المستدامة، من خلال دمج بيانات من مصادر مثل مشروع Cloud Carbon Footprint.
  • سوق للسياسات: بالنسبة لأنماط التطبيقات الشائعة (مثل التجارة الإلكترونية، بث الوسائط)، يمكن مشاركة أو بيع سياسات COLA المحسنة مسبقًا، مما يقلل من الحاجة إلى عمليات تدريب فردية.

8. المراجع

  1. Sachidananda, V., & Sivaraman, A. (2022). COLA: Collective Autoscaling for Cloud Microservices. arXiv preprint arXiv:2112.14845v3.
  2. Zhu, J., Park, T., Isola, P., & Efros, A. A. (2017). Unpaired Image-to-Image Translation using Cycle-Consistent Adversarial Networks. Proceedings of the IEEE International Conference on Computer Vision (ICCV).
  3. Burns, B., Grant, B., Oppenheimer, D., Brewer, E., & Wilkes, J. (2016). Borg, Omega, and Kubernetes. Queue, 14(1), 70–93.
  4. Hoffman, M., Shahriari, B., & Aslanides, J. (2020). Addressing Function Approximation Error in Actor-Critic Methods. Proceedings of the 37th International Conference on Machine Learning (ICML). (Example of advanced RL relevant for online adaptation).
  5. Cloud Carbon Footprint. (n.d.). An open source tool to measure and visualize the carbon footprint of cloud usage. Retrieved from https://www.cloudcarbonfootprint.org/.
  6. Verma, A., Pedrosa, L., Korupolu, M., Oppenheimer, D., Tune, E., & Wilkes, J. (2015). Large-scale cluster management at Google with Borg. Proceedings of the European Conference on Computer Systems (EuroSys).