一句话:提出 Mono2Micro 工具,基于业务用例与运行时调用关系对单体 Java 应用做时空分解,生成功能内聚的微服务划分。
企业将生产负载迁移到云端时,常需把庞大的单体应用演进为微服务架构,这一任务极具挑战。IBM 研发了 Mono2Micro 工具来辅助该过程。该工具执行“时空分解”(spatio-temporal decomposition):一方面利用定义良好的业务用例刻画应用在业务维度上的功能边界,另一方面结合运行时的调用关系捕捉类之间的实际交互,从而将应用类划分成功能内聚的分区,每个分区可对应一个候选微服务。作者对 Mono2Micro 进行了初步评估,结果显示该工具具有良好前景,表明这种结合业务用例与动态调用关系的分解思路在实践中是可行且有效的。
In migrating production workloads to cloud, enterprises often face the daunting task of evolving monolithic applications toward a microservice architecture. At IBM, we developed a tool called Mono2Micro to assist with this challenging task. Mono2Micro performs spatio-temporal decomposition, leveraging well-defined business use cases and runtime call relations to create functionally cohesive partitioning of application classes. Our preliminary evaluation of Mono2Micro showed promising results.
@inproceedings{paperbot6331,
title = {Mono2Micro: a practical and effective tool for decomposing monolithic Java applications to microservices},
author = {Anup K. Kalia and Jin Xiao and Rahul Krishna and Saurabh Sinha and Maja Vukovic and Debasish Banerjee},
booktitle = {FSE},
year = {2021},
doi = {10.1145/3468264.3473915}
}