Dynamic Sampling for Telemetry in Microservices: A Reinforcement Learning and Entropy-Based Approach
تقدم هذه الورقة RADAR، وهو وكيل يعتمد على التعلم المعزز والإنتروبيا يعمل على تحسين أخذ عينات القياس عن بُعد للخدمات المصغرة ديناميكيًا لتقليل استهلاك الموارد بشكل جذري مع الحفاظ على قابلية المراقبة وجودة البيانات الحرجة.
البحث الأصلي مرخَّص بموجب CC BY 4.0 (https://creativecommons.org/licenses/by/4.0/). هذا شرح مولَّده بالذكاء الاصطناعي للبحث أدناه. لم يكتبه المؤلفون ولم يصادقوا عليه. وللتحقق من الدقة التقنية، يرجى الرجوع إلى البحث الأصلي. اقرأ إخلاء المسؤولية الكامل
غالبًا ما تعيش البرمجيات الحديثة ليس كبرنامج واحد ضخم، بل كأسراب من الخدمات الصغيرة والمستقلة التي تتواصل مع بعضها البعض عبر الشبكة. هذا النهج، المعروف باسم "الخدمات المصغرة" (microservices)، يسمح للشركات بتحديث أجزاء من تطبيقاتها بسرعة وتوسيع نطاقها صعودًا أو هبوطًا حسب الحاجة. ومع ذلك، فإن هذه المرونة تأتي بتكلفة خفية: إذ يصبح من الصعب للغاية رؤية ما يحدث داخل النظام عندما تسوء الأمور. ولحل هذه المشكلة، يستخدم المهندسون تقنية تسمى "التتبع الموزع" (distributed tracing). تخيل عميلًا يضع طلبًا على موقع إلكتروني؛ قد ينتقل هذا الطلب الواحد عبر درزن من الخدمات المختلفة، حيث يتحقق من المخزون، ويحسب الضرائب، ويعالج عمليات الدفع. يتتبع التتبع الموزع ذلك الطلب من البداية إلى النهاية، مما ينشئ خريطة مفصلة لرحلته. هذه الخريطة ضرورية للعثور على الأخطاء وفهم مشكلات الأداء، لكنها تولد كمية هائلة من البيانات. فإذا كان النظام يعالج ملايين الطلبات، فإن جمع كل تتبع بمفرده سيؤدي إلى إغراق الشبكة، واستهلاك كميات ضخمة من قدرة الحوسبة، وملء وحدات التخزين بمعدل غير مستدام.
التحدي إذن، هو جمع قدر كافٍ من البيانات لرؤية المشكلات دون الغرق في ضجيج العمليات الناجحة الروتينية. تعتمد الطرق التقليدية غالبًا على قواعد بسيطة، مثل تسجيل طلب واحد فقط من بين كل مائة طلب، أو الانتظار حتى وقوع خطأ ما للبدء في التسجيل. هذه الأساليب غالبًا ما تكون جامدة للغاية؛ فقد تفوت حالات الفشل النادرة ولكن الحرجة، أو قد تهدر الموارد في تسجيل حركة مرور عادية لا تقدم أي رؤى جديدة. وقد طور باحثون في الاتحاد الفيدرالي في ريو غراندي دو سول في البرازيل طريقة جديدة للتعامل مع هذه المعضلة. لقد أنشأوا نظامًا يسمى "رادار" (RADAR)، والذي يعمل كمرشح ذكي وذاتي الضبط لهذه البيانات. فبدلاً من استخدام قواعد ثابتة، يتعلم "رادار" أي التتبعات تستحق الاحتفاظ بها من خلال اختبار مجموعات مختلفة من قواعد أخذ العينات باستمرار ومراقبة النتائج.
الفكرة الجوهرية وراء "رادار" هي التعامل مع عملية جمع البيانات كعملية تعلم. يستخدم النظام طريقة تسمى "التعلم التعزيزي" (reinforcement learning)، حيث يتخذ وكيل حاسوبي قرارات، ويرى ما يحدث، ويعدل استراتيجيته للحصول على نتائج أفضل بمرور الوقت. في هذه الحالة، هدف الوكيل هو تعظيم "القيمة المعلوماتية" للبيانات التي يحتفظ بها مع تقليل كمية البيانات التي يخزنها. ولقياس القيمة المعلوماتية، استخدم الباحثون مفهومًا من نظرية المعلومات يُعرف باسم "الإنتروبيا" (entropy). وببساطة، تقيس الإنتروبيا مدى تنوع أو عدم قابلية مجموعة من البيانات للتنبؤ. فمجموعة التتبعات التي تكون جميعها متطابقة ذات إنتروبيا منخفضة وقيمة منخفضة، لأنها لا تخبرك بشيء جديد. أما المجموعة التي تتضمن مسارات عديدة ومختلفة ونادرة وغير معتادة، فهي ذات إنتروبيا عالية وقيمة عالية، لأنها تكشف عن السلوكيات المعقدة والخلل المحتمل في النظام. يستخدم "رادار" هذا المقياس للتنوع كإشارة مكافأة. فعندما يختار الوكيل مجموعة من القواعد التي تلتقط مجموعة واسعة من السلوكيات الفريدة دون جمع الكثير من البيانات، فإنه يحصل على مكافأة عالية ويتعلم تكرار ذلك الخيار.
لاختبار هذه الفكرة، بنى الباحثون متجرًا إلكترونيًا محاكيًا يعمل على عنقود من أجهزة الكمبيوتر، ليحاكي البيئة المعقدة لتطبيق في العالم الحقيقي. لقد أدخلوا أنواعًا مختلفة من حركة المرور، بما في ذلك التصفح العادي وسيناريوهات محددة مصممة لإثارة الأخطاء أو السلوك غير المعتاد. ثم تركوا وكيل "رادار" يعمل لعدة ساعات، مما سمح له بالتجربة بقواعد مختلفة. ركزت بعض القواعد على التقاط الطلبات البطيئة، وأخرى على الأخطاء، وأخرى على أحداث تجارية محددة مثل المشتريات عالية القيمة. كان الوكيل ينتقل بين هذه القواعد، مراقبًا عدد التتبعات التي تم جمعها ومدى تنوعها. ومع مرور الوقت، تعلم الوكيل كيفية إيجاد التوازن المثالي. فقد اكتشف أنه ليس بحاجة لتسجيل كل طلب لفهم النظام؛ فبدلاً من ذلك، ومن خلال التركيز على المسارات الأكثر تنوعًا وإفادة، يمكنه الحفاظ على صورة واضحة لصحة النظام مع تقليل حجم البيانات بشكل كبير.
كانت نتائج هذه التجربة مذهلة. فمقارنة بنظام يسجل كل تتبع بمفرده، قلل "رادار" من كمية البيانات المرسلة عبر الشبكة بنسبة 97.4 بالمائة. كما قلل من قدرة الحوسبة المطلوبة لمعالجة تلك البيانات بنسبة 99.0 بالمائة. وهذه التوفيرات كبيرة لأنها تعني أن النظام يمكنه العمل بتكلفة أقل وسرعة أكبر. ومع ذلك، كان الباحثون حذرين لضمان أن هذه الكفاءة لم تأتِ على حساب فقدان معلومات مهمة. فقد قارنوا البيانات التي جمعها "رادار" بمجموعة البيانات الكاملة لمعرفة ما إذا كان قد التقط الأحداث النادرة والحرجة. ووجدوا أن "رادار" احتفظ بنحو 85.6 بالمائة من أنماط التتبع النادرة — تلك الأحداث الفريدة التي تحدث لمرة واحدة والتي غالبًا ما تشير إلى بداية مشكلة خطيرة. علاوة على ذلك، زاد متوسط تنوع البيانات التي تم الاحتفاظ بها بنحو 25 بالمائة، مما يعني أن البيانات المتبقية كانت أكثر فائدة للتشخيص مما لو كانت عينة عشوائية.
يمثل هذا النهج تحولاً من القواعد الثابتة التي يحددها البشر إلى الإدارة الديناميكية المستقلة. تتطلب الأنظمة التقليدية من المهندسين تحديد القواعد التي يجب تطبيقها يدويًا، وهي مهمة تصبح صعبة مع تغير النظام ونموه. وفي المقابل، يتكيف "رادار" باستمرار مع الحالة الراهنة للنظام. فهو لا يحتاج إلى أن يُقال له كيف يبدو الخطأ مسبقًا؛ بل يتعلم ببساطة أن مجموعة متنوعة من السلوكيات هي أكثر قيمة من المجموعة المتكررة. ويعمل النظام بالكامل ضمن الأدوات القياسية التي يستخدمها مهندسو البرمجيات الحديثة، مما يجعله متوافقًا مع البنية التحتية الموجودة دون الحاجة إلى تغييرات جذرية في كود التطبيق نفسه.
توضح الدراسة أنه من الممكن تقليل عبء مراقبة الأنظمة المعقدة بشكل كبير دون التضحية بالقدرة على رؤية ما هو خاطئ. فمن خلال استخدام مقياس رياضي للتنوع لتوجيه عملية الجمع، أظهر الباحثون أنه يمكن لوكيل ذكي أن يتعلم كيفية تصفية الضجيج والاحتفاظ بالإشارة. وبينما أُجريت التجربة في بيئة محكومة، فإن النتائج تشير إلى مسار قابل للتطبيق لإدارة التعقيد المتزايد للتطبيقات القائمة على السحابة. ويسلط هذا العمل الضوء على أن مستقبل مراقبة الأنظمة قد لا يكمن في جمع المزيد من البيانات، بل في جمع بيانات أكثر ذكاءً، بتوجيه من وكلاء يفهمون قيمة المعلومات في الوقت الفعلي.
غارق في أبحاث مجالك؟
تصلك نشرة يومية بأحدث الأبحاث المطابقة لكلماتك البحثية المفتاحية — مع ملخصات تقنية، بلغتك.