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.
- ID статьи: 2506.06202
- Название: MLOps with Microservices: A Case Study on the Maritime Domain
- Авторы: Renato Cordeiro Ferreira, Rowanne Trapmann, Willem-Jan van den Heuvel
- Учреждения: Jheronimus Academy of Data Science (JADS), Eindhoven University of Technology (TUe), Tilburg University (TiU)
- Классификация: cs.SE cs.AI cs.LG
- Дата публикации: arXiv:2506.06202v2 cs.SE 11 Aug 2025
- Ссылка на статью: https://arxiv.org/abs/2506.06202
Данное тематическое исследование описывает проблемы и извлеченные уроки при разработке системы Ocean Guard — системы, включающей машинное обучение (MLES) для обнаружения аномалий в морской области. В статье сначала представлены спецификация и архитектура системы. Ocean Guard использует архитектуру микросервисов, позволяющую нескольким командам работать параллельно. Затем обсуждается, как разработчики адаптировали проектирование на основе контрактов для MLOps с целью достижения этой цели. Как MLES, Ocean Guard использует контракты кода, модели и данных для установления руководящих принципов между сервисами.
- Ускорение цифровой трансформации в морской отрасли: Согласно Международной морской организации (IMO), современные суда стали "плавающими центрами обработки данных", оснащенными сотнями датчиков, генерирующих большие объемы разнородных данных
- Сложная операционная среда: Морская область характеризуется постоянным движением через границы, разнообразными нормативно-правовыми базами, подверженностью влиянию погодных условий
- Проблемы обработки данных: Требуется система, способная масштабируемо получать, обрабатывать и анализировать различные потоки данных, сохраняя при этом операционную надежность в условиях быстро меняющейся связности
- Потребность в технологической интеграции: Объединение лучших практик MLOps с архитектурой микросервисов для решения задач прогнозной аналитики, обнаружения аномалий и оптимизации маршрутов в морской области
- Многопрофильное сотрудничество: Необходимость поддержки параллельной разработки командами инженеров-программистов, специалистов по данным и инженеров машинного обучения
- Масштабируемость системы: Архитектура микросервисов особенно подходит для требований модульности, масштабируемости и устойчивости морской области
- Предложен метод проектирования на основе контрактов, применимый к MLES: Расширение концепции контрактов кода из микросервисов на контракты данных и модели
- Построена полная архитектура системы обнаружения аномалий в морской области: Система Ocean Guard на основе микросервисов, поддерживающая параллельную разработку несколькими командами
- Проверена применимость DDD в MLOps: Использование проектирования, управляемого доменом, для создания единого языка, улучшающего коммуникацию между многопрофильными командами
- Предоставлены практические опыт разработки MLES: Выявлены и решены три основных вызова: связанность, согласованность и коммуникация
Функциональность Investigator (Исследователь):
- I1-I6: отображение географического положения, фильтрация, идентификация типов объектов, извлечение из нескольких источников данных, просмотр метаданных, отслеживание траектории
- I7-I9: выделение аномалий, фильтрация аномалий, просмотр объяснений аномалий
Функциональность Anomaly Detector (Детектор аномалий):
- A1-A3: обнаружение аномалий, перечисление аномалий, объяснение аномалий
- Интерпретируемость: Использование интерпретируемых моделей или методов объяснения черного ящика (SHAP, LIME)
- Совместимость: Соответствие стандартам ЕС, поддержка быстрой интеграции с другими системами
- Устойчивость: Обработка источников данных с высокой емкостью и высокой скоростью
- Соответствие нормативным требованиям: Соответствие европейским нормативным актам, включая GDPR и AI Act
- Получение данных (Data Acquisition)
- Поставщики третьих сторон (1), физические датчики (2), веб-скреперы данных (3)
- Хранилище меток (A) и хранилище сырых данных (B)
- Непрерывное обучение (Continuous Training)
- Конвейер синтеза данных (I), конвейер увеличения данных (II)
- Конвейер обучения на основе правил (III), конвейер обучения на основе ML (IV)
- Хранилище метаданных (F) и реестр моделей (G)
- Обслуживание (Serving)
- Конвейер пакетного прогнозирования (VIII) и служба прогнозирования API (8)
- Хранилище прогнозов (H)
- Мониторинг (Monitoring)
- Приложение управления (7) и хранилище телеметрии (I)
- Непрерывная доставка (Continuous Delivery)
- Конвейер CI (V), конвейер CD (VI), конвейер CD4ML (VII)
- Реестр артефактов (D)
Использование шестиугольной архитектуры (Hexagonal Architecture):
- Ядро (Core): Реализация бизнес-логики в соответствии с паттерном DDD
- Сущности (Entities), объекты-значения (Value Objects)
- Агрегаты (Aggregates), сервисы (Services)
- Порты (Ports): Установление контрактов между ядром и адаптерами
- Репозитории баз данных, внедрение зависимостей, механизмы безопасности, маршрутизаторы веб-приложений
- Адаптеры (Adapters): Коммуникация с внешними зависимостями
- Входные адаптеры: модели, API третьих сторон, хранилища, базы данных, конфигурация
- Выходные адаптеры: веб-приложения, кэширование
| Команда | Ответственность | Компоненты |
|---|
| Исследовательская команда | Изучение передовых технологий | Экспериментальные и обучающие конвейеры |
| Инновационная команда | Практическое изучение технологий | Экспериментальные и обучающие конвейеры |
| Основная команда разработки | Разработка бэкенда и инфраструктура | API, базы данных, репозиторий моделей |
| Команда разработки UI | Разработка фронтенда и дизайн интерфейса | Веб-приложение |
- Определение: Документирование поведения синхронного/асинхронного взаимодействия между двумя сервисами через протокол HTTP
- Сценарии применения:
- Контракты между веб-скреперами данных и внешними источниками данных
- Контракты между службой прогнозирования API и веб-приложением
- Определение: Документирование ожидаемого формата в хранилищах данных, включая типы, форматы, распределение и протоколы чтения-записи
- Сценарии применения:
- Контракты между производителем и потребителем хранилища меток
- Многосторонние контракты хранилища сырых данных
- Контракты между конвейерами обработанных данных
- Определение: Документирование ожидаемых входных/выходных данных модели и формата хранения
- Сценарии применения: Контракты между конвейерами обучения и службами прогнозирования в реестре моделей
Создание общего словаря между командами через DDD, улучшающее:
- Понимание между заинтересованными сторонами и разработчиками
- Согласованность между командами
- Объяснение концепций данных и моделей
- Репозиторий кода: Централизованное управление исходным кодом
- Инструменты разработки: IDE (4) для структурированной разработки программного обеспечения, Notebooks (5) для интерактивного прототипирования и анализа
- CI/CD: Конвейер непрерывной интеграции, конвейер непрерывной доставки, конвейер ML непрерывной доставки
- Контейнеризация: Использование реестра артефактов для управления версионированными компонентами программного обеспечения
- Служба планирования: Координация выполнения компонентов
- Система мониторинга: Приложение управления для мониторинга использования моделей и системы
- Связанность (Coupling)
- Проблема: Сложность системы приводит к каскадному влиянию изменений компонентов
- Решение: Снижение проблем интеграции через проектирование на основе контрактов
- Согласованность (Alignment)
- Проблема: Проблемы координации при параллельной работе четырех профессиональных команд
- Решение: Четкое определение границ, интеграция конвейеров CI/CD
- Коммуникация (Communication)
- Проблема: Объяснение эволюции системы заинтересованным сторонам с различным техническим опытом
- Решение: Установление единого языка через DDD
| Технический метод | Решаемые вызовы | Конкретные результаты |
|---|
| Проектирование на основе контрактов | Связанность + Согласованность | Снижение проблем интеграции, улучшение внутренней согласованности системы |
| Единый язык | Коммуникация + Согласованность | Углубление понимания, улучшение качества обратной связи |
- С 2022 года: Предложены несколько эталонных архитектур MLES
- SE4AI: Новая область адаптации методов программной инженерии для создания систем с ИИ
- Компонентизация систем: MLES описываются как содержащие несколько компонентов, распределяемых между сервисами
- С 2015 года: Возникновение архитектурного стиля микросервисов, решающего проблемы модульности, масштабируемости и устойчивости
- Применимость в морской области: Специализированные компоненты для обработки различных источников данных и требований аналитики в морской области
- Эффективность архитектуры: Архитектура микросервисов успешно поддержала параллельную разработку MLES многопрофильными командами
- Расширение контрактов: Концепция контрактов кода из микросервисов успешно расширена на измерения данных и моделей
- Применимость DDD: Проектирование, управляемое доменом, эффективно улучшило коммуникацию и координацию между многопрофильными командами
- Решение вызовов: Проектирование на основе контрактов и единый язык эффективно решили вызовы связанности, согласованности и коммуникации
- Ограничения конфиденциальности: Из-за конфиденциальности проекта статья не охватывает конкретные модели данных и методы обнаружения аномалий
- Академические ограничения: Исследовательская и инновационная команды состоят из студентов, ограниченных академическими сроками
- Этап реализации: Система все еще находится в разработке, отсутствует долгосрочная проверка в производственной среде
- Функциональное совершенствование: Продолжение разработки для удовлетворения всех функциональных и нефункциональных требований
- Технологическое исследование: Продолжение изучения передовых и практических технологий с исследовательской и инновационной командами
- Эволюция архитектуры: Направление процесса разработки на основе установленных методов контрактов и единого языка
- Высокая практическая ценность: Предоставляет полное тематическое исследование объединения MLOps и микросервисов
- Методологическая инновация: Расширение проектирования на основе контрактов на измерения данных и моделей обладает оригинальностью
- Полнота архитектуры: Проектирование архитектуры системы всеобъемлюще охватывает все аспекты MLES
- Командное сотрудничество: Успешное решение проблем параллельной разработки многопрофильными командами
- Практическое руководство: Предоставляет опыт и уроки, применимые к аналогичным проектам
- Ограниченная техническая глубина: Из-за ограничений конфиденциальности отсутствуют конкретные детали алгоритмов ML и обработки данных
- Недостаточная оценка: Отсутствуют количественные оценки производительности системы, масштабируемости и т.д.
- Отсутствие долгосрочной проверки: Система еще не прошла долгосрочную проверку в производственной среде
- Недостаточный сравнительный анализ: Отсутствует сравнение с другими решениями архитектуры MLES
- Вклад в область: Предоставляет важный практический справочник для объединения MLOps и микросервисов
- Методологическая ценность: Расширение проектирования на основе контрактов имеет широкую применимость
- Инженерная практика: Предоставляет эффективные модели командного сотрудничества для сложных MLES
- Воспроизводимость: Проектирование архитектуры и методология обладают хорошей воспроизводимостью
- Разработка многокомандных MLES: Системы машинного обучения, требующие параллельной разработки несколькими профессиональными командами
- Сложная обработка данных: Архитектура систем, включающих многоисточные разнородные данные
- Высокие требования соответствия: Приложения в отраслях с жесткими нормативными требованиями
- Масштабируемые системы: Архитектура ML систем, требующих высокой модульности и масштабируемости
Статья цитирует 17 важных работ, охватывающих:
- Исследования цифровой трансформации в морской области
- Лучшие практики архитектуры микросервисов и MLOps
- Методологию программной инженерии (DDD, шестиугольная архитектура)
- Инженерия систем машинного обучения (SE4AI)
Резюме: Данная статья посредством тематического исследования Ocean Guard успешно демонстрирует применение архитектуры микросервисов в MLOps, особенно ценность проектирования на основе контрактов в многокомандном сотрудничестве. Хотя ограничения конфиденциальности препятствуют углубленному рассмотрению технических деталей, методологический вклад и практическая ценность статьи значительны, предоставляя ценный опыт архитектурного проектирования и командного сотрудничества для аналогичных сложных проектов MLES.