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- 논문 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
본 사례 연구는 해사 도메인의 이상 탐지를 위한 기계학습 활성화 시스템(MLES)인 Ocean Guard 시스템 구축의 과제와 교훈을 설명합니다. 논문은 먼저 시스템 명세 및 아키텍처를 소개합니다. Ocean Guard는 마이크로서비스 아키텍처 설계를 채택하여 여러 팀이 병렬로 작업할 수 있도록 합니다. 이후 개발자들이 계약 기반 설계를 MLOps에 적응시켜 이를 달성하는 방법을 논의합니다. MLES로서 Ocean Guard는 코드, 모델 및 데이터 계약을 채택하여 서비스 간 지도 원칙을 수립합니다.
- 해사 산업의 디지털 변환 가속화: 국제해사기구(IMO)에 따르면, 현대 선박은 "부유하는 데이터 센터"가 되었으며, 수백 개의 센서를 장착하여 대량의 이질적 데이터를 생성합니다
- 복잡한 운영 환경: 해사 도메인은 국경을 넘는 지속적 이동, 다양한 규제 프레임워크, 날씨의 영향을 받기 쉬운 특성을 가집니다
- 데이터 처리 과제: 연결성과 조건이 빠르게 변하는 환경에서 운영 신뢰성을 유지하면서 대규모로 다양한 데이터 스트림을 수집, 처리 및 분석할 수 있는 시스템이 필요합니다
- 기술 융합 필요성: MLOps 모범 사례를 마이크로서비스 아키텍처와 결합하여 해사 도메인의 예측 분석, 이상 탐지 및 경로 최적화 요구사항에 대응
- 다중 팀 협업: 소프트웨어 엔지니어, 데이터 과학자 및 기계학습 엔지니어 등 다양한 전문 팀의 병렬 개발 지원 필요
- 시스템 확장성: 마이크로서비스 아키텍처는 해사 도메인의 모듈화, 확장성 및 탄력성 요구사항에 특히 적합합니다
- MLES에 적용 가능한 계약 기반 설계 방법 제시: 마이크로서비스의 코드 계약 개념을 데이터 계약 및 모델 계약으로 확장
- 완전한 해사 이상 탐지 시스템 아키텍처 구축: 마이크로서비스 기반 Ocean Guard 시스템으로 다중 팀 병렬 개발 지원
- MLOps에서 DDD 적용 검증: 도메인 주도 설계를 통해 통일된 언어 생성, 전문 분야 간 팀 커뮤니케이션 개선
- MLES 개발의 실무 경험 제공: 결합, 정렬 및 커뮤니케이션의 세 가지 주요 과제 식별 및 해결
조사자(Investigator) 기능:
- I1-I6: 지리적 위치 표시, 필터링, 객체 유형 식별, 다중 데이터 소스 검색, 메타데이터 보기, 궤적 추적
- I7-I9: 이상 강조 표시, 이상 필터링, 이상 설명 보기
이상 탐지기(Anomaly Detector) 기능:
- A1-A3: 이상 탐지, 이상 열거, 이상 설명
- 해석 가능성: 해석 가능한 모델 또는 블랙박스 설명 기술(SHAP, LIME) 사용
- 호환성: EU 표준 준수, 다른 시스템과의 빠른 통합 지원
- 탄력성: 높은 용량, 고속 데이터 소스 처리
- 규정 준수: GDPR 및 AI Act 등 유럽 규정 준수
- 데이터 수집(Data Acquisition)
- 제3자 제공자(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): 외부 의존성과의 통신
- 입력 어댑터: 모델, 제3자 API, 저장소, 데이터베이스, 구성
- 출력 어댑터: 웹, 캐시
| 팀 | 책임 | 컴포넌트 |
|---|
| 연구 팀 | 최첨단 기술 탐색 | 실험 및 훈련 파이프라인 |
| 혁신 팀 | 실무 기술 탐색 | 실험 및 훈련 파이프라인 |
| 핵심 개발 팀 | 백엔드 개발 및 인프라 | API, 데이터베이스, 모델 리포지토리 |
| UI 개발 팀 | 프론트엔드 개발 및 인터페이스 설계 | 웹 애플리케이션 |
- 정의: 두 서비스 간 HTTP 프로토콜을 통한 동기/비동기 상호작용 행동을 문서화
- 적용 사례:
- 데이터 크롤러와 외부 데이터 소스 간 계약
- API 예측 서비스와 웹 애플리케이션 간 계약
- 정의: 데이터 저장소의 예상 형식을 문서화, 유형, 형식, 분포 및 읽기/쓰기 프로토콜 포함
- 적용 사례:
- 레이블 저장소의 생산자와 소비자 간 계약
- 원본 데이터 저장소의 다자간 계약
- 처리된 데이터의 파이프라인 간 계약
- 정의: 모델의 예상 입출력 및 저장 형식을 문서화
- 적용 사례: 모델 레지스트리의 훈련 파이프라인과 예측 서비스 간 계약
DDD를 통해 팀 간 공유 어휘 생성, 다음 개선:
- 이해관계자와 개발자 간 이해
- 팀 간 정렬
- 데이터 및 모델 개념 설명
- 코드 리포지토리: 중앙 집중식 소스 코드 관리
- 개발 도구: IDE(4) - 구조화된 소프트웨어 엔지니어링용, Notebooks(5) - 대화형 프로토타이핑 및 분석용
- CI/CD: 지속적 통합 파이프라인, 지속적 배포 파이프라인, ML 지속적 배포 파이프라인
- 컨테이너화: 아티팩트 레지스트리를 사용한 버전화된 소프트웨어 컴포넌트 관리
- 스케줄링 서비스: 각 컴포넌트 실행 조율
- 모니터링 시스템: 거버넌스 애플리케이션이 모델 및 시스템 사용 모니터링
- 결합(Coupling)
- 문제: 시스템 복잡성으로 인한 컴포넌트 수정의 연쇄 영향
- 해결: 계약 기반 설계를 통한 통합 문제 감소
- 정렬(Alignment)
- 문제: 4개 전문 팀의 병렬 작업 조율 과제
- 해결: 명확한 경계 정의, CI/CD 파이프라인 통합
- 커뮤니케이션(Communication)
- 문제: 다양한 기술 배경의 이해관계자에게 시스템 진화 설명
- 해결: DDD를 통한 통일된 언어 수립
| 기술 방법 | 해결 과제 | 구체적 효과 |
|---|
| 계약 기반 설계 | 결합 + 정렬 | 통합 문제 감소, 시스템 응집도 개선 |
| 통일된 언어 | 커뮤니케이션 + 정렬 | 이해도 심화, 피드백 품질 개선 |
- 2022년 이후: 다수의 MLES 참조 아키텍처 제시
- SE4AI: AI 시스템 생성을 위한 소프트웨어 엔지니어링 기술 적응의 신흥 분야
- 시스템 컴포넌트화: MLES는 서비스 간 분산 가능한 다중 컴포넌트를 포함하는 것으로 설명됨
- 2015년 이후: 마이크로서비스 아키텍처 스타일 부상, 모듈화, 확장성 및 탄력성 과제 해결
- 해사 적용성: 다양한 해사 데이터 소스 및 분석 요구사항 처리를 위한 전문 컴포넌트
- 아키텍처 유효성: 마이크로서비스 아키텍처가 다중 전문 팀의 MLES 병렬 개발을 성공적으로 지원
- 계약 확장: 마이크로서비스의 코드 계약 개념을 데이터 및 모델 차원으로 성공적 확장
- DDD 적용성: 도메인 주도 설계가 전문 분야 간 팀의 커뮤니케이션 및 조율 효과적 개선
- 과제 대응: 계약 기반 설계 및 통일된 언어가 결합, 정렬 및 커뮤니케이션 과제 효과적 해결
- 민감성 제약: 프로젝트 민감성으로 인해 구체적 데이터 모델 및 이상 탐지 기술 미포함
- 학술 제약: 연구 및 혁신 팀이 학생으로 구성되어 학술 마감일 제약
- 구현 단계: 시스템이 개발 중이며 생산 환경의 장기 검증 부족
- 기능 완성: 모든 기능 및 비기능 요구사항 충족을 위한 지속적 개발
- 기술 탐색: 연구 및 혁신 팀과의 최첨단 및 실무 기술 지속적 탐색
- 아키텍처 진화: 수립된 계약 방법 및 통일된 언어에 기반한 개발 프로세스 지도
- 높은 실무 가치: MLOps와 마이크로서비스 결합의 완전한 사례 연구 제공
- 방법론 혁신: 계약 기반 설계를 데이터 및 모델 차원으로 확장하는 것이 독창적
- 완전한 아키텍처: 시스템 아키텍처 설계가 포괄적이며 MLES의 모든 측면 포함
- 팀 협업: 다중 전문 팀의 병렬 개발 과제 성공적 해결
- 실용적 지침: 유사 프로젝트에 참고할 수 있는 경험 및 교훈 제공
- 기술 깊이 제한: 민감성 제약으로 인한 구체적 ML 알고리즘 및 데이터 처리 세부사항 부족
- 평가 부족: 시스템 성능, 확장성 등 정량적 평가 부족
- 장기 검증 부재: 시스템이 생산 환경에서 장기 운영 검증 미실시
- 비교 분석 부족: 다른 MLES 아키텍처 방안과의 비교 분석 부족
- 분야 기여: MLOps와 마이크로서비스 결합에 중요한 실무 참고 제공
- 방법론 가치: 계약 기반 설계 확장이 광범위한 적용성 보유
- 공학 실무: 복잡한 MLES의 팀 협업에 효과적 모델 제공
- 재현성: 아키텍처 설계 및 방법론이 우수한 재현성 보유
- 다중 팀 MLES 개발: 다양한 전문 팀의 병렬 개발이 필요한 기계학습 시스템
- 복잡한 데이터 처리: 다중 소스 이질적 데이터를 포함하는 시스템 아키텍처 설계
- 높은 규정 준수 요구: 엄격한 규제 요구사항을 충족해야 하는 산업 애플리케이션
- 확장 가능 시스템: 높은 수준의 모듈화 및 확장성이 필요한 ML 시스템 아키텍처
논문은 다음을 포함하는 17편의 중요 문헌을 인용합니다:
- 해사 산업 디지털 변환 관련 연구
- 마이크로서비스 아키텍처 및 MLOps 모범 사례
- 소프트웨어 엔지니어링 방법론(DDD, 육각형 아키텍처)
- 기계학습 시스템 공학(SE4AI)
요약: 본 논문은 Ocean Guard 사례 연구를 통해 마이크로서비스 아키텍처의 MLOps 적용을 성공적으로 입증하며, 특히 계약 기반 설계의 다중 팀 협업에서의 가치를 보여줍니다. 민감성 제약으로 인해 기술 세부사항을 깊이 있게 다루지는 못했지만, 방법론 기여도 및 실무 지침 가치가 현저하며, 유사한 복잡한 MLES 프로젝트에 귀중한 아키텍처 설계 및 팀 협업 경험을 제공합니다.