SEJul 20, 2021

Mono2Micro: A Practical and Effective Tool for Decomposing Monolithic Java Applications to Microservices

arXiv:2107.09698v294 citationsHas Code
AI Analysis

This addresses the challenge for enterprises migrating production workloads to cloud by providing a practical tool, though it appears incremental as it builds on existing decomposition techniques with specific improvements.

The paper tackles the problem of decomposing monolithic Java applications into microservices by developing Mono2Micro, a tool that uses spatio-temporal decomposition based on business use cases and runtime call relations, and shows it significantly outperforms state-of-the-art baselines in specific metrics for decomposition quality and efficiency.

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. How well does Mono2Micro perform against other decomposition techniques, and how do practitioners perceive the tool? This paper describes the technical foundations of Mono2Micro and presents results to answer these two questions. To answer the first question, we evaluated Mono2Micro against four existing techniques on a set of open-source and proprietary Java applications and using different metrics to assess the quality of decomposition and tool's efficiency. Our results show that Mono2Micro significantly outperforms state-of-the-art baselines in specific metrics well-defined for the problem domain. To answer the second question, we conducted a survey of twenty-one practitioners in various industry roles who have used Mono2Micro. This study highlights several benefits of the tool, interesting practitioner perceptions, and scope for further improvements. Overall, these results show that Mono2Micro can provide a valuable aid to practitioners in creating functionally cohesive and explainable microservice decompositions.

Code Implementations1 repo
Foundations

The foundational work for this paper's niche, ranked by how specifically the neighbourhood builds on it — not by global fame.

Your Notes