Mono2Micro:一个实用且有效的将单体 Java 应用分解为微服务的工具
软件工程
2021-09-16 v2
摘要
在将生产工作负载迁移到云时,企业经常面临将单体应用演化为微服务架构的艰巨任务。在 IBM,我们开发了一个名为 Mono2Micro 的工具来辅助这一具有挑战性的任务。Mono2Micro 执行时空分解,利用定义良好的业务用例和运行时调用关系来创建应用类的功能内聚划分。我们对 Mono2Micro 的初步评估显示了有前景的结果。Mono2Micro 与其他分解技术相比表现如何,以及从业者对该工具有何看法?本文描述了 Mono2Micro 的技术基础,并给出回答这两个问题的结果。为回答第一个问题,我们在一组开源和专有的 Java 应用上,使用不同指标评估分解质量和工具效率,将 Mono2Micro 与四种现有技术进行比较。我们的结果表明,在针对该问题域明确定义的特定指标上,Mono2Micro 显著优于 SOTA 基线。为回答第二个问题,我们对使用过 Mono2Micro 的二十一位不同行业角色的从业者进行了调查。该研究强调了该工具的若干优势、有趣的从业者认知以及进一步改进的空间。总体而言,这些结果表明 Mono2Micro 可以为从业者创建功能内聚且可解释的微服务分解提供有价值的帮助。
引用
@article{arxiv.2107.09698,
title = {Mono2Micro: A Practical and Effective Tool for Decomposing Monolithic Java Applications to Microservices},
author = {Anup Kalia and Jin Xiao and Rahul Krishna and Saurabh Sinha and Maja Vukovic and Debasish Banerjee},
journal= {arXiv preprint arXiv:2107.09698},
year = {2021}
}