Mono2Micro: an AI-based toolchain for evolving monolithic enterprise applications to a microservice architecture
Abstract
Mono2Micro is an AI-based toolchain that provides recommendations for decomposing legacy web applications into microservice partitions. Mono2Micro consists of a set of tools that collect static and runtime information from a monolithic application and process the information using an AI-based technique to generate recommendations for partitioning the application classes. Each partition represents a candidate microservice or a grouping of classes with similar business functionalities. Mono2Micro takes a temporo-spatial clustering approach to compute meaningful and explainable partitions. It generates two types of partition recommendations. First, it computes business-logic-seams-based partitions that represent a desired encapsulation of business functionalities. However, such a recommendation may cut across data dependencies between classes, accommodating which could require significant application updates. To address this, Mono2Micro computes natural-seams-based partitions, which respect data dependencies. We describe the set of tools that comprise Mono2Micro and illustrate them using a well-known open-source JEE application.
BibTeX
@inproceedings{Kalia-al:FSE20,
author = {Anup K. Kalia and
Jin Xiao and
Chen Lin and
Saurabh Sinha and
John J. Rofrano and
Maja Vukovic and
Debasish Banerjee},
title = {{Mono2Micro:} an {AI-based} toolchain for evolving monolithic enterprise applications to a microservice architecture},
booktitle = {{ESEC/SIGSOFT} {FSE}},
pages = {1606--1610},
publisher = {{ACM}},
year = {2020},
}