A New Decomposition Method for Designing Microservices

  • Omar Al-Debagy Department of Electronics Technology, Faculty of Electrical Engineering and Informatics, Budapest University of Technology and Economics, H-1521 Budapest, P. O. B. 91, Hungary
  • Peter Martinek Department of Electronics Technology, Faculty of Electrical Engineering and Informatics, Budapest University of Technology and Economics, H-1521 Budapest, P. O. B. 91, Hungary

Abstract

Many companies are migrating from monolithic architectures to microservice architectures, and they need to decompose their applications in order to create a microservices application. Therefore, the need comes for an approach that helps software architects in the decomposition process. This paper presents a new approach for decomposing monolithic application to a microservices application through analyzing the application programming interface. Our proposed decomposition methodology uses word embedding models to obtain word representations using operation names, as well as, using a hierarchical clustering algorithm to group similar operation names together in order to get suitable microservices. Also, using grid search method to find the optimal parameter values for Affinity Propagation algorithm, which was used for clustering, as well as using silhouette coefficient score to compare the performance of the clustering parameters. The decomposition approach that was introduced in this research consists of the OpenAPI specifications as an input, then extracts the operation names from the specifications and converts them into average word embedding using fastText model. Lastly the decomposition approach is grouping these operation names using Affinity Propagation algorithm. The proposed methodology presented promising results with a precision of 0.84, recall of 0.78 and F-Measure of 0.81.

Keywords: microservice architecture, microservices identification, service extraction, monolithic decomposition
Published online
2019-06-19
How to Cite
Al-Debagy, O. and Martinek, P. “A New Decomposition Method for Designing Microservices”, Periodica Polytechnica Electrical Engineering and Computer Science. doi: https://doi.org/10.3311/PPee.13925.
Section
Articles