2025-11-14T05:07:10.818918

MLOps with Microservices: A Case Study on the Maritime Domain

Ferreira, Trapmann, Heuvel
This case study describes challenges and lessons learned on building Ocean Guard: a Machine Learning-Enabled System (MLES) for anomaly detection in the maritime domain. First, the paper presents the system's specification, and architecture. Ocean Guard was designed with a microservices' architecture to enable multiple teams to work on the project in parallel. Then, the paper discusses how the developers adapted contract-based design to MLOps for achieving that goal. As a MLES, Ocean Guard employs code, model, and data contracts to establish guidelines between its services. This case study hopes to inspire software engineers, machine learning engineers, and data scientists to leverage similar approaches for their systems.
academic

MLOps مع الخدمات الدقيقة: دراسة حالة في المجال البحري

المعلومات الأساسية

  • معرّف الورقة: 2506.06202
  • العنوان: MLOps مع الخدمات الدقيقة: دراسة حالة في المجال البحري
  • المؤلفون: Renato Cordeiro Ferreira, Rowanne Trapmann, Willem-Jan van den Heuvel
  • المؤسسات: أكاديمية Jheronimus لعلوم البيانات (JADS)، جامعة Eindhoven للتكنولوجيا (TUe)، جامعة Tilburg (TiU)
  • التصنيف: cs.SE cs.AI cs.LG
  • تاريخ النشر: arXiv:2506.06202v2 cs.SE 11 أغسطس 2025
  • رابط الورقة: https://arxiv.org/abs/2506.06202

الملخص

تصف دراسة الحالة هذه التحديات والدروس المستفادة من بناء نظام Ocean Guard: وهو نظام يعتمد على التعلم الآلي (MLES) لكشف الشذوذ في المجال البحري. تقدم الورقة أولاً مواصفات النظام والعمارة. يعتمد Ocean Guard على تصميم معمارية الخدمات الدقيقة، مما يمكّن فرقاً متعددة من العمل بالتوازي. ثم تناقش كيفية قيام المطورين بتكييف التصميم القائم على العقود مع MLOps لتحقيق هذا الهدف. كنظام MLES، يعتمد Ocean Guard على عقود الكود والنماذج والبيانات لإنشاء مبادئ توجيهية بين الخدمات.

السياق البحثي والدافع

خلفية المشكلة

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

الدافع البحثي

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

المساهمات الأساسية

  1. اقتراح منهج التصميم القائم على العقود المطبق على MLES: توسيع مفهوم عقود الكود في الخدمات الدقيقة إلى عقود البيانات وعقود النماذج
  2. بناء معمارية نظام كشف الشذوذ البحري الكامل: نظام Ocean Guard القائم على الخدمات الدقيقة، يدعم التطوير المتوازي لفرق متعددة
  3. التحقق من تطبيق DDD في MLOps: استخدام التصميم الموجه بالمجال لإنشاء لغة موحدة، تحسين التواصل بين الفرق متعددة التخصصات
  4. توفير خبرة عملية في تطوير MLES: تحديد وحل ثلاثة تحديات رئيسية: الاقتران والمحاذاة والتواصل

شرح المنهجية

مواصفات النظام

المتطلبات الوظيفية

وظائف المحقق (Investigator):

  • I1-I6: عرض الموقع الجغرافي، التصفية، تحديد نوع الكائن، استرجاع متعدد المصادر، عرض البيانات الوصفية، تتبع المسار
  • I7-I9: تمييز الشذوذ، تصفية الشذوذ، عرض شرح الشذوذ

وظائف كاشف الشذوذ (Anomaly Detector):

  • A1-A3: كشف الشذوذ، تعداد الشذوذ، شرح الشذوذ

المتطلبات غير الوظيفية

  1. القابلية للتفسير: استخدام نماذج قابلة للتفسير أو تقنيات شرح الصندوق الأسود (SHAP، LIME)
  2. التوافقية: الامتثال للمعايير الأوروبية، دعم التكامل السريع مع الأنظمة الأخرى
  3. المرونة: التعامل مع مصادر البيانات عالية الحجم والسرعة
  4. الامتثال: الامتثال للوائح الأوروبية مثل GDPR وقانون الذكاء الاصطناعي

معمارية النظام

تصميم الأنظمة الفرعية الخمسة

  1. الحصول على البيانات (Data Acquisition)
    • موفرو الجهات الخارجية (1)، المستشعرات الفيزيائية (2)، زحافات البيانات (3)
    • تخزين التسميات (A) وتخزين البيانات الخام (B)
  2. التدريب المستمر (Continuous Training)
    • خط أنابيب توليد البيانات الاصطناعية (I)، خط أنابيب تعزيز البيانات (II)
    • خط أنابيب التدريب القائم على القواعد (III)، خط أنابيب التدريب القائم على ML (IV)
    • تخزين البيانات الوصفية (F) وسجل النماذج (G)
  3. الخدمة (Serving)
    • خط أنابيب التنبؤ الدفعي (VIII) وخدمة التنبؤ عبر API (8)
    • تخزين التنبؤات (H)
  4. المراقبة (Monitoring)
    • تطبيق الحوكمة (7) وتخزين القياس عن بعد (I)
  5. التسليم المستمر (Continuous Delivery)
    • خط أنابيب CI (V)، خط أنابيب CD (VI)، خط أنابيب CD4ML (VII)
    • سجل الأعمال (D)

تصميم معمارية API

استخدام المعمارية السادسة الأضلاع (Hexagonal Architecture):

  1. النواة (Core): تنفيذ منطق الأعمال، الامتثال لنمط DDD
    • الكيانات (Entities)، كائنات القيمة (Value Objects)
    • التجميعات (Aggregates)، الخدمات (Services)
  2. المنافذ (Ports): إنشاء عقود بين النواة والمحولات
    • مستودعات قاعدة البيانات، الحقن بالاعتماد، آليات الأمان، موجهات الويب
  3. المحولات (Adapters): التواصل مع التبعيات الخارجية
    • محولات الإدخال: النماذج، واجهات برمجية الجهات الخارجية، التخزين، قواعد البيانات، الإعدادات
    • محولات الإخراج: الويب، التخزين المؤقت

تكوين الفرق وسير العمل

الفريقالمسؤوليةالمكونات
فريق البحثاستكشاف التقنيات الحدوديةخطوط أنابيب التجارب والتدريب
فريق الابتكاراستكشاف التقنيات العمليةخطوط أنابيب التجارب والتدريب
فريق التطوير الأساسيتطوير الواجهة الخلفية والبنية الأساسيةAPI، قواعد البيانات، مستودع النماذج
فريق تطوير واجهة المستخدمتطوير الواجهة الأمامية وتصميم الواجهةتطبيق الويب

نقاط الابتكار التقني

التطوير القائم على العقود (Contract-Based Development)

1. عقود الكود (Code Contracts)

  • التعريف: توثيق السلوك المتوقع للتفاعلات المتزامنة/غير المتزامنة بين خدمتين عبر بروتوكول HTTP
  • حالات التطبيق:
    • العقد بين زحافات البيانات ومصادر البيانات الخارجية
    • العقد بين خدمة التنبؤ عبر API وتطبيق الويب

2. عقود البيانات (Data Contracts)

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

3. عقود النماذج (Model Contracts)

  • التعريف: توثيق المدخلات والمخرجات المتوقعة للنموذج وصيغة التخزين
  • حالات التطبيق: العقد بين خطوط أنابيب التدريب وخدمات التنبؤ في سجل النماذج

اللغة الموحدة (Ubiquitous Language)

إنشاء مفردات مشتركة بين الفرق من خلال DDD، تحسين:

  • فهم أصحاب المصلحة والمطورين
  • المحاذاة بين الفرق
  • شرح مفاهيم البيانات والنماذج

إعداد التجارب

بيئة التطوير

  • مستودع الكود: إدارة مركزية للكود المصدري
  • أدوات التطوير: بيئات التطوير المتكاملة (4) للهندسة البرمجية المنظمة، دفاتر الملاحظات (5) للنماذج الأولية التفاعلية والتحليل
  • CI/CD: خط أنابيب التكامل المستمر، خط أنابيب التسليم المستمر، خط أنابيب التسليم المستمر للتعلم الآلي

معمارية النشر

  • الحاويات: استخدام سجل الأعمال لإدارة مكونات البرمجيات المصدرة
  • خدمة الجدولة: تنسيق تنفيذ المكونات المختلفة
  • نظام المراقبة: تطبيق الحوكمة يراقب استخدام النموذج والنظام

التحديات والحلول

التحديات الثلاثة الرئيسية

  1. الاقتران (Coupling)
    • المشكلة: تعقيد النظام يجعل تعديلات المكونات تؤثر بسهولة على مكونات أخرى
    • الحل: تقليل مشاكل التكامل من خلال التصميم القائم على العقود
  2. المحاذاة (Alignment)
    • المشكلة: تحديات التنسيق عند عمل أربع فرق متخصصة بالتوازي
    • الحل: تعريف واضح للحدود، تكامل خطوط أنابيب CI/CD
  3. التواصل (Communication)
    • المشكلة: شرح تطور النظام لأصحاب المصلحة ذوي الخلفيات التقنية المختلفة
    • الحل: إنشاء لغة موحدة من خلال DDD

فعالية الحلول

الطريقة التقنيةالتحديات المحلولةالتأثير المحدد
التصميم القائم على العقودالاقتران + المحاذاةتقليل مشاكل التكامل، تحسين تماسك النظام
اللغة الموحدةالتواصل + المحاذاةتعميق الفهم، تحسين جودة التغذية الراجعة

الأعمال ذات الصلة

تطور مجال MLOps

  • من 2022 فصاعداً: تم اقتراح معمارية مرجعية متعددة لـ MLES
  • SE4AI: مجال ناشئ يتعلق بتكييف تقنيات الهندسة البرمجية لإنشاء أنظمة الذكاء الاصطناعي
  • تعديل المكونات: يتم وصف MLES بأنها تحتوي على مكونات متعددة يمكن توزيعها عبر الخدمات

معمارية الخدمات الدقيقة

  • من 2015 فصاعداً: ظهور نمط معمارية الخدمات الدقيقة، حل تحديات التعديلية والقابلية للتوسع والمرونة
  • الملاءمة البحرية: معالجة المكونات المتخصصة لمصادر البيانات البحرية المختلفة واحتياجات التحليل

الخلاصة والنقاش

الاستنتاجات الرئيسية

  1. فعالية المعمارية: دعمت معمارية الخدمات الدقيقة بنجاح التطوير المتوازي لـ MLES من قبل فرق متعددة التخصصات
  2. توسيع العقود: تم توسيع مفهوم عقود الكود في الخدمات الدقيقة بنجاح إلى أبعاد البيانات والنماذج
  3. قابلية تطبيق DDD: حسّن التصميم الموجه بالمجال بشكل فعال التواصل والتنسيق بين الفرق متعددة التخصصات
  4. التعامل مع التحديات: حلّ التصميم القائم على العقود واللغة الموحدة بشكل فعال تحديات الاقتران والمحاذاة والتواصل

القيود

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

الاتجاهات المستقبلية

  1. تحسين الوظائف: الاستمرار في التطوير لتلبية جميع المتطلبات الوظيفية وغير الوظيفية
  2. استكشاف التقنيات: الاستمرار في استكشاف التقنيات الحدودية والعملية مع فرق البحث والابتكار
  3. تطور المعمارية: توجيه عملية التطوير بناءً على طريقة العقود المعروفة واللغة الموحدة

التقييم المتعمق

المميزات

  1. قيمة عملية عالية: توفير دراسة حالة شاملة لدمج MLOps مع الخدمات الدقيقة
  2. ابتكار الطريقة: توسيع التصميم القائم على العقود إلى أبعاد البيانات والنماذج له أصالة عالية
  3. معمارية شاملة: تصميم معمارية النظام شامل، يغطي جميع جوانب MLES
  4. التعاون بين الفرق: حل ناجح لتحديات التطوير المتوازي لفرق متعددة التخصصات
  5. الإرشادات العملية: توفير خبرة وتعليمات قابلة للتطبيق على مشاريع مماثلة

أوجه القصور

  1. عمق تقني محدود: نقص التفاصيل المحددة للخوارزميات والمعالجة بسبب قيود الحساسية
  2. تقييم غير كافٍ: نقص التقييمات الكمية لأداء النظام والقابلية للتوسع
  3. غياب التحقق طويل الأمد: لم يعمل النظام لفترة طويلة في بيئة الإنتاج
  4. نقص التحليل المقارن: عدم وجود مقارنة مع حلول معمارية MLES أخرى

التأثير

  1. مساهمة المجال: توفير مرجع عملي مهم لدمج MLOps مع الخدمات الدقيقة
  2. قيمة المنهجية: توسيع التصميم القائم على العقود له قابلية تطبيق واسعة
  3. الممارسة الهندسية: توفير نمط فعال للتعاون بين الفرق في MLES المعقدة
  4. القابلية للتكرار: تتمتع تصميم المعمارية والمنهجية بقابلية تكرار جيدة

حالات التطبيق

  1. تطوير MLES متعدد الفرق: أنظمة التعلم الآلي التي تتطلب تطويراً متوازياً من فرق متعددة التخصصات
  2. معالجة البيانات المعقدة: معمارية الأنظمة التي تتضمن بيانات متعددة المصادر وغير متجانسة
  3. المتطلبات العالية للامتثال: تطبيقات الصناعة التي تحتاج إلى تلبية متطلبات تنظيمية صارمة
  4. الأنظمة القابلة للتوسع: معمارية أنظمة ML التي تتطلب تعديلية عالية وقابلية للتوسع

المراجع

تستشهد الورقة بـ 17 مرجعاً مهماً، تغطي:

  • أبحاث التحول الرقمي البحري
  • أفضل ممارسات معمارية الخدمات الدقيقة و MLOps
  • منهجيات الهندسة البرمجية (DDD، المعمارية السادسة الأضلاع)
  • هندسة أنظمة التعلم الآلي (SE4AI)

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