Steinmetz: Toward Automatic Decomposition of Monolithic Software Into Microservices.
Jakob Löhnertz, Ana Oprescu · UvA-DARE (University of Amsterdam) · 2020
Industry is adopting the microservices paradigm for greenfield development as well as for migrating monolithic software. However, the latter approach involves significant manual work, specifically in the early stages of the decomposition process, when determining boundaries between the services. We devise a methodology to automatically generate microservice candidate recommendations for any given monolithic software. We leverage three coupling dimensions: static, semantic, and evolutionary. For each dimension, we calculate a weighted graph. We aggregate the three dimensions into a single graph that we cluster into microservice candidate recommendations. We evaluate our methodology using several established metrics as well as our PoC implementation, Steinmetz 1. Preliminary results are encouraging: the methodology works as expected, there are clear results regarding feasibility of metrics to assess the quality of microservice candidate recommendations, and we are able to identify the best suitable graph clustering algorithm.