Ahmed Hany Fawzy Zaki,

Framework for automatic detection of anomalies in devops / / إطار عمل للكشف التلقائى عن الحالات المنحرفة في تطوير و عمليات البرمجيات by Ahmed Hany Fawzy Zaki ; Supervision of Prof. Khaled Tawfeek Wassif, Dr. Hanan Moussa. - 77 leaves : illustrations ; 30 cm. + CD.

Thesis (M.Sc.)-Cairo University, 2023.

Bibliography: pages 69-76.

DevOps is a collaboration and cross-disciplinary organizational efforts that aims to automate the continuous delivery of software releases while ensuring their accuracy, reliability, and correctness. Inside DevOps, development and operations are efficiently integrated, thus facilitating a lean fluid interaction of these traditional separated silos.
Log-based anomaly detection is important for improving the reliability and availability of software systems, especially those evolving using DevOps, owing to the huge number of logs generated during the continuous practices. However, DevOps practitioners typically inspect and interpret the generated data and logs manually on specific occasions as part of the troubleshooting process. This process of manual inspection is time consuming and challenging because these data and logs have grown to an unmanageable size owing to the increasing size and complexity of the systems.
This research introduces the DevOps Anomaly Detection Framework (DADF). DADF is composed of two components that rely on Machine Learning (ML) to analyze the data and logs generated during DevOps practices to automatically detect anomalies.
The first component is Anomaly Detection Before Production (ADBP), which aims to detect anomalies in the prospective release before its operation in the production environment by adopting the Local Outlier Factor (LOF) technique on the data collected during implementation, building, testing, and deployment. The second component is Anomaly Detection After Staging (ADAS), which aims to detect anomalies after the operation of the released system by adopting the Vector Auto-Regression (VAR) technique on the data collected during monitoring from the system log, application log, and performance metrics (CPU and memory). The ADBP and ADAS components are experimentally evaluated in two different real-world industrial projects.
The experimental results demonstrated that the accuracy, precision, recall, and F1-score of the ADBP component were 96%, 87.5%, 100%, and 93.3%, respectively, and the normalized Root Mean Squared Error (nRMSE) of the ADAS component was 2-19%. Hence, the results demonstrate the effectiveness of DADF in helping DevOps practitioners and researchers automatically detect anomalies throughout the lifecycle of DevOps by monitoring all DevOps’ practices. التطوير و العمليات (DevOps) عبارة عن جهود تنظيمية تعاونية ومتعددة التخصصات تهدف إلى أتمتة التسليم المستمر لإصدارات البرامج مع ضمان دقتها وموثوقيتها وصحتها. داخل DevOps، يتم دمج التطوير والعمليات بكفاءة، مما يسهل التفاعل السلس لهذه الصوامع المنفصلة التقليدية.
يعد اكتشاف الحالات الشاذة المستندة إلى السجل أمرًا مهمًا لتحسين موثوقية وتوافر أنظمة البرامج، خاصة تلك التي يتم تطويرها باستخدام DevOps، نظرًا للعدد الهائل من السجلات التي تم إنشاؤها أثناء الممارسات المستمرة. ومع ذلك، يقوم ممارسو DevOps عادةً بفحص وتفسير البيانات والسجلات التي تم إنشاؤها يدويًا في مناسبات محددة كجزء من عملية استكشاف الأخطاء وإصلاحها. تستغرق عملية الفحص اليدوي وقتًا طويلاً وتمثل تحديًا لأن هذه البيانات والسجلات قد نمت إلى حجم لا يمكن التحكم فيه بسبب زيادة حجم الأنظمة وتعقيدها.
يقدم هذا البحث إطار عمل الكشف عن الحالات المنحرفة داخل DevOps (DADF). يتكون DADF من مكونين يعتمدان على التعلم الآلي (ML) لتحليل البيانات والسجلات التي تم إنشاؤها أثناء ممارسات DevOps لاكتشاف الحالات الشاذة تلقائيًا.
المكون الأول هو الكشف عن الحالات الشاذة قبل الإنتاج (ADBP)، والذي يهدف إلى اكتشاف الحالات الشاذة في الإصدار المحتمل قبل تشغيله في بيئة الإنتاج من خلال اعتماد تقنية العامل الخارجي المحلي (LOF) على البيانات التي تم جمعها أثناء التنفيذ والبناء والاختبار. المكون الثاني هو اكتشاف الحالات الشاذة بعد التدريج (ADAS)، والذي يهدف إلى اكتشاف الحالات الشاذة بعد تشغيل النظام الذي تم إصداره من خلال اعتماد تقنية الانحدار التلقائي المتجه (VAR) على البيانات التي تم جمعها أثناء المراقبة من سجل النظام وسجل التطبيق و مقاييس الأداء (وحدة المعالجة المركزية والذاكرة). تم تقييم مكونات ADBP وADAS بشكل تجريبي في مشروعين صناعيين مختلفين في العالم الحقيقي.
أظهرت النتائج التجريبية أن الدقة والضبط والاستدعاء ودرجة F1 لمكون ADBP كانت 96%، 87.5%، 100%، و93.3%، على التوالي، والخطأ التربيعي لمتوسط الجذر (nRMSE) لمكون ADAS يتراوح بين 2-19%. ومن ثم، توضح النتائج فعالية DADF في مساعدة ممارسي DevOps والباحثين على اكتشاف الحالات الشاذة تلقائيًا طوال دورة حياة DevOps من خلال مراقبة جميع ممارسات DevOps.
- تم تنظيم العمل المقدم في هذه الرسالة في ستة فصول. يتم وصف النقاط الرئيسية لهذه الفصول على النحو التالي:
الفصل الأول : في هذا الفصل، نقدم DevOps وممارساتها المستمرة بالإضافة إلى الأدوات المستخدمة لتنفيذ ودعم مسار CI/CD. يحدد القسم 1.2 بيان المشكلة. بينما يقدم القسمان 1.3 و1.4 الحل المقترح ومساهمته على التوالي. وأخيرا، تم توضيح محتويات الرسالة في القسم 1.5.
الفصل الثاني: في هذا الفصل، تم مناقشة DevOps وممارساتها المستمرة في القسم 2.1. أما القسم 2.2 فيناقش تعريف AIOps وفوائده وتحدياته. ويناقش القسم 2.3 اكتشاف الحالات الشاذة. بعد ذلك، تمت مناقشة خوارزميات التعلم الآلي التي سيتم استخدامها في النماذج المقترحة في هذه الأطروحة في القسم 2.4. ويناقش القسم 2.5 تقنيات المعالجة المسبقة للتطبيع والتحقق المتبادل التي سيتم استخدامها لبناء النماذج المقترحة لإطار العمل. وأخيرًا، يناقش القسم 2.6 السجلات وبنية رسائل السجل وبعض مصطلحات السجل التي سيتم استخدامها في هذه الرسالة. حيث أن معرفة طبيعة السجلات وبنيتها يمكن أن توفر فهمًا أكبر لكيفية استخدام هذه السجلات للحصول على بعض الأفكار حول النظام وحالته. بالإضافة إلى ذلك، يعد الحصول على فهم متعمق للسجلات أمرًا بالغ الأهمية لأتمتة عملية تحليل السجل، والكشف عن الحالات المنحرفة المستندة إلى السجل.
الفصل الثالث: في هذا الفصل، يناقش القسم 3.1 تحليل السجل ويوضح خصائص محلل السجل. كما يناقش بعض الأمثلة على موزعي السجل، ودراسة سابقة قامت بمقارنة وتقييم العديد من موزعي السجل. وأخيرًا، يقدم محلل سجل التصريف الذي سيتم استخدامه أثناء إنشاء مكون ADAS. أما القسم 3.2 فيناقش الكشف عن الشذوذ القائم على السجل ويوضح الأعمال الحديثة ذات الصلة. بالإضافة إلى ذلك، يوضح أنه يمكن تصنيف الدراسات السابقة على أنها خاضعة للإشراف أو غير خاضعة للإشراف أو شبه خاضعة للإشراف بناءً على تقنية التعلم الآلي التي استخدمتها كل دراسة لبناء نموذج الكشف عن الشذوذ. لاحقًا، أظهرت الأقسام الفرعية 3.2.1 و3.2.2 دراسات الكشف عن الشذوذ القائمة على السجل الخاضعة للإشراف، ودراسات الكشف عن الشذوذات القائمة على السجل غير الخاضعة للإشراف وشبه الخاضعة للإشراف، على التوالي. الدراسات التي تمت مناقشتها في الأقسام الفرعية 3.2.1 و3.2.2 ليست جميع الدراسات في مجال الكشف عن الشذوذ القائم على السجل ولكنها فقط الدراسات الأكثر صلة للبحث المقدم في هذه الرسالة. ويتم تفصيل كل دراسة ذات صلة من حيث مساهمتها في الأدبيات ونتائجها. علاوة على ذلك، تم توضيح أوجه التشابه والتفرد بين البحث المقدم في هذه الرسالة والدراسات السابقة.
الفصل الرابع: يقدم هذا الفصل إطار عمل الكشف التلقائي عن الحالات المنحرفة في تطوير و عمليات البرمجيات (DADF)، المصمم لتحديد الحالات المنحرفة تلقائيًا طوال دورة حياة DevOps. يتمحور إطار العمل حول نموذج التطوير والتجهيز والإنتاج (DSP)، وتصنيف الأنشطة إلى ثلاث بيئات نشر: التطوير والتجهيز والإنتاج. والهدف من ذلك هو اكتشاف الحالات المنحرفة في وقت مبكر من العملية، سواء قبل النشر في الإنتاج أو أثناء المراقبة. يقدم القسم 4.2 مكونات ADBP ويناقش استخدام خوارزمية العامل الخارجي المحلي (LOF) للكشف عن الحالات الشاذة في بيئات التطوير والتدريج. ويقدم القسم 4.3 مكون ADAS. الخطوط العريضة لإعداد التجربة، بما في ذلك قياس الأداء وجمع السجل.
الفصل الخامس: في هذا الفصل، يتم عرض نتائج ومناقشات التجارب التي أجريت على مكونات ADBP و ADAS. يبدأ الفصل بتوضيح الغرض من التجارب وبنيتها. أظهر القسم 5.2 تجارب ونتائج مكون ADBP. كما أظهر القسم 5.3 تجربة مكون ADAS ونتائجه.
الفصل السادس: : في هذا الفصل، اختتم القسم 6.1 البحث وشرح DADF ومكوناته. أظهر القسم 6.2 فوائد DADF ومكوناته. يقدم القسم 6.3 الدروس المستفادة خلال تطوير وتجريب DADF، والتي يمكن أن تكون بمثابة رؤى للبحث والتنفيذ في المستقبل. ثم ناقش القسم 6.4 حدود البحث. وأخيرا، قدم القسم 6.5 سبل البحث والتحسين في المستقبل.




Text in English and abstract in Arabic & English.


Programming

DevOps AIOps CI/CD Anomaly detection Release management Machine learning

005.27