Decomposing Monolithic to Microservices: Keyword Extraction and BFS Combination Method to Cluster Monolithic’s Classes
Abstract
AbstractMicroservices architecture is widely used because of the ease of maintaining its microservices, as opposed to encapsulating functionality in a monolithic, which may negatively impact the development process when the application continues to grow. The migration process from a monolithic architecture to microservices became necessary, but it often relies on the architect's intuition only, which may cost many resources. A method to assist developers in decomposing monolithic into microservices is proposed to address that problem. Unlike the existing methods that often rely on non-source code artifacts which may lead into inaccurate decomposition if the artifacts do not reflect the latest condition of the monolith, the proposed method relies on analyzing the application source code to produce a grouping recommendation for building microservices. By using specific keyword extraction followed by Breadth First Search traversal with certain rules, the proposed method decomposed the monolith's component into several cluster whose majority of cluster’s members have uniform business domain. Based on the experiment, the proposed method got an 0.81 accuracy mean in grouping monolithic's components with similar business domain, higher than the existing decomposition method's score. Further research is recommended to be done to increase the availability of the proposed method.
Downloads
References
F. Tapia, M. Á. Mora, W. Fuertes, H. Aules, E. Flores, and T. Toulkeridis, “From Monolithic Systems to Microservices: A Comparative Study of Performance,” Appl. Sci., vol. 10, no. 17, Art. no. 17, Aug. 2020, doi: 10.3390/app10175797.
S. Li et al., “A dataflow-driven approach to identifying microservices from monolithic applications,” J. Syst. Softw., vol. 157, p. 110380, Nov. 2019, doi: 10.1016/j.jss.2019.07.008.
K. Gos and W. Zabierowski, “The Comparison of Microservice and Monolithic Architecture,” in 2020 IEEE XVIth International Conference on the Perspective Technologies and Methods in MEMS Design (MEMSTECH), Lviv, Ukraine, Apr. 2020, pp. 150–153. doi: 10.1109/MEMSTECH49584.2020.9109514.
D. Trihinas, A. Tryfonos, M. D. Dikaiakos, and G. Pallis, “DevOps as a Service: Pushing the Boundaries of Microservice Adoption,” IEEE Internet Comput., vol. 22, no. 3, Art. no. 3, May 2018, doi: 10.1109/MIC.2018.032501519.
A. Carrasco, B. van Bladel, and S. Demeyer, “Migrating towards microservices: migration and architecture smells,” in Proceedings of the 2nd International Workshop on Refactoring, Montpellier France, Sep. 2018, pp. 1–6. doi: 10.1145/3242163.3242164.
M. Mazzara, N. Dragoni, A. Bucchiarone, A. Giaretta, S. T. Larsen, and S. Dustdar, “Microservices: Migration of a Mission Critical System,” IEEE Trans. Serv. Comput., vol. 14, no. 5, Art. no. 5, Sep. 2021, doi: 10.1109/TSC.2018.2889087.
A. Furda, C. Fidge, O. Zimmermann, W. Kelly, and A. Barros, “Migrating Enterprise Legacy Source Code to Microservices: On Multitenancy, Statefulness, and Data Consistency,” IEEE Softw., vol. 35, no. 3, Art. no. 3, May 2018, doi: 10.1109/MS.2017.440134612.
A. Singleton, “The Economics of Microservices,” IEEE Cloud Comput., vol. 3, no. 5, pp. 16–20, Sep. 2016, doi: 10.1109/MCC.2016.109.
V. Velepucha and P. Flores, “Monoliths to microservices - Migration Problems and Challenges: A SMS,” in 2021 Second International Conference on Information Systems and Software Technologies (ICI2ST), Quito, Ecuador, Mar. 2021, pp. 135–142. doi: 10.1109/ICI2ST51859.2021.00027.
S. Newman, Monolith to microservices: evolutionary patterns to transform your monolith, First edition. Beijing [China] ; Sebastopol, CA: O’Reilly Media, Inc, 2019.
T. Vresk and I. Cavrak, “Architecture of an interoperable IoT platform based on microservices,” in 2016 39th International Convention on Information and Communication Technology, Electronics and Microelectronics (MIPRO), Opatija, Croatia, May 2016, pp. 1196–1201. doi: 10.1109/MIPRO.2016.7522321.
G. Mazlami, J. Cito, and P. Leitner, “Extraction of Microservices from Monolithic Software Architectures,” in 2017 IEEE International Conference on Web Services (ICWS), Honolulu, HI, USA, Jun. 2017, pp. 524–531. doi: 10.1109/ICWS.2017.61.
L. Baresi, M. Garriga, and A. De Renzis, “Microservices Identification Through Interface Analysis,” in Service-Oriented and Cloud Computing, vol. 10465, F. De Paoli, S. Schulte, and E. Broch Johnsen, Eds. Cham: Springer International Publishing, 2017, pp. 19–33. doi: 10.1007/978-3-319-67262-5_2.
A. Selmadji, A.-D. Seriai, H. L. Bouziane, R. Oumarou Mahamane, P. Zaragoza, and C. Dony, “From Monolithic Architecture Style to Microservice one Based on a Semi-Automatic Approach,” in 2020 IEEE International Conference on Software Architecture (ICSA), Salvador, Brazil, Mar. 2020, pp. 157–168. doi: 10.1109/ICSA47634.2020.00023.
H. Vural and M. Koyuncu, “Does Domain-Driven Design Lead to Finding the Optimal Modularity of a Microservice?,” IEEE Access, vol. 9, pp. 32721–32733, 2021, doi: 10.1109/ACCESS.2021.3060895.
P. Oukes, M. van Andel, E. Folmer, R. Bennett, and C. Lemmen, “Domain-Driven Design applied to land administration system development: Lessons from the Netherlands,” Land Use Policy, vol. 104, p. 105379, May 2021, doi: 10.1016/j.landusepol.2021.105379.
B. Nuralamsyah, “Monolith Mo.” Accessed: Nov. 08, 2022. [Online]. Available: https://github.com/gslayer0/decomposing-monolith-to-microservices
A. R. Sampaio, J. Rubin, I. Beschastnikh, and N. S. Rosa, “Improving microservice-based applications with runtime placement adaptation,” J. Internet Serv. Appl., vol. 10, no. 1, p. 4, Dec. 2019, doi: 10.1186/s13174-019-0104-0.
Copyright (c) 2023 Jurnal RESTI (Rekayasa Sistem dan Teknologi Informasi)

This work is licensed under a Creative Commons Attribution 4.0 International License.
Copyright in each article belongs to the author
- The author acknowledges that the RESTI Journal (System Engineering and Information Technology) is the first publisher to publish with a license Creative Commons Attribution 4.0 International License.
- Authors can enter writing separately, arrange the non-exclusive distribution of manuscripts that have been published in this journal into other versions (eg sent to the author's institutional repository, publication in a book, etc.), by acknowledging that the manuscript has been published for the first time in the RESTI (Rekayasa Sistem dan Teknologi Informasi) journal ;