As microservices become the reference architecture for many practitioners, decomposing an application into microservices remain a challenge. This paper tackles the problem with Pangaea, a semi-automatic tool to decompose a software system into microservices. Pangaea (i) takes in input a high-level model of the system; (ii) formulates decomposition as an optimization problem, and (iii) outputs a proposed placement of functionalities and data onto microservices, using a visual representation that helps reasoning on the overall architecture. Pangaea evaluates design concerns, communication overheads, data management requirements, opportunities and costs of data replication. Our evaluation on a real-world application shows that Pangaea consistently delivers more efficient solutions than simple heuristics and state-of-the-art approaches, and provides useful insights to developers.
Pangaea: Semi-automated Monolith Decomposition into Microservices
Giovanni Quattrocchi;Alessandro Margara;Gianpaolo Cugola
2021-01-01
Abstract
As microservices become the reference architecture for many practitioners, decomposing an application into microservices remain a challenge. This paper tackles the problem with Pangaea, a semi-automatic tool to decompose a software system into microservices. Pangaea (i) takes in input a high-level model of the system; (ii) formulates decomposition as an optimization problem, and (iii) outputs a proposed placement of functionalities and data onto microservices, using a visual representation that helps reasoning on the overall architecture. Pangaea evaluates design concerns, communication overheads, data management requirements, opportunities and costs of data replication. Our evaluation on a real-world application shows that Pangaea consistently delivers more efficient solutions than simple heuristics and state-of-the-art approaches, and provides useful insights to developers.I documenti in IRIS sono protetti da copyright e tutti i diritti sono riservati, salvo diversa indicazione.