ML-Enabled Systems (MLES) are inherently complex since they require multiple components to achieve their business goal. This experience report showcases the software architecture reusability techniques applied while building Ocean Guard, an MLES for anomaly detection in the maritime domain. In particular, it highlights the challenges and lessons learned to reuse the Ports and Adapters pattern to support building multiple microservices from a single codebase. This experience report hopes to inspire software engineers, machine learning engineers, and data scientists to apply the Hexagonal Architecture pattern to build their MLES.
翻译:机器学习赋能系统(MLES)本质上具有复杂性,因其需要多个组件协同以实现业务目标。本经验报告展示了在构建Ocean Guard(一个用于海事领域异常检测的MLES)过程中应用的软件架构可复用性技术。报告特别强调了复用端口与适配器模式以支持从单一代码库构建多个微服务时所面临的挑战与经验教训。本报告旨在启发软件工程师、机器学习工程师及数据科学家应用六边形架构模式来构建其MLES。