Breaking Down Monoliths: A Graph Based Approach to Microservices Migration

Authors

  • Azaz Ahmad Kayani National University of Modern Languages (NUML), Rawalpindi, Pakistan.
  • Zain Ul Islam Adil National University of Modern Languages (NUML), Rawalpindi, Pakistan.
  • Yasir Hafeez Pir Mehr Ali Shah Arid Agriculture University, Rawalpindi, Pakistan.
  • Javed Iqbal National University of Science and Technology (NUST), Islamabad, Pakistan.
  • Fahad Burhan Ahmed Pir Mehr Ali Shah Arid Agriculture University, Rawalpindi, Pakistan.

Keywords:

Microservices, Monolithic, Clustering Algorithm, Microservices Decomposition, Microservices Identification

Abstract

Introduction: The software industry has increasingly transitioned from Monolithic Architecture (MA) to Microservices Architecture (MSA) due to the significant advantages offered by MSA. A crucial first step in this migration process is the identification of suitable microservices.

Novelty Statement: This work aims to introduce an automated method for more effectively identifying potential microservices within monolithic applications.

Materials and Methods: Our approach leverages the source code to construct a frequency-based class dependency graph through graph analysis techniques. A clustering algorithm is then applied to this graph to identify optimal candidate microservices.

Results and Discussion: We evaluate the effectiveness of the proposed approach using several metrics, including the number of microservices, Newman-Girvan Modularity (NGM), and F1-Score. The results demonstrate that the approach accurately identifies candidate microservices, achieving an average F1 score of 0.88 and an average NGM score of 0.526.

Concluding Remarks: The proposed approach proves to be an effective tool for assisting developers in migrating from MA to MSA, facilitating a more streamlined transition process.

References

J. Fritzsch, J. Bogner, A. Zimmermann, and S. Wagner, “From Monolith to Microservices: A Classification of Refactoring Approaches,” Lect. Notes Comput. Sci. (including Subser. Lect. Notes Artif. Intell. Lect. Notes Bioinformatics), vol. 11350 LNCS, pp. 128–141, Jul. 2018, doi: 10.1007/978-3-030-06019-0_10.

J. Kazanavicius and D. Mazeika, “Migrating Legacy Software to Microservices Architecture,” 2019 Open Conf. Electr. Electron. Inf. Sci. eStream 2019 - Proc., Apr. 2019, doi: 10.1109/ESTREAM.2019.8732170.

Y. Abgaz et al., “Decomposition of Monolith Applications Into Microservices Architectures: A Systematic Review,” IEEE Trans. Softw. Eng., vol. 49, no. 8, pp. 4213–4242, Aug. 2023, doi: 10.1109/TSE.2023.3287297.

D. Kuryazov, D. Jabborov, and B. Khujamuratov, “Towards Decomposing Monolithic Applications into Microservices,” 14th IEEE Int. Conf. Appl. Inf. Commun. Technol. AICT 2020 - Proc., Oct. 2020, doi: 10.1109/AICT50176.2020.9368571.

L. De Lauretis, “From monolithic architecture to microservices architecture,” Proc. - 2019 IEEE 30th Int. Symp. Softw. Reliab. Eng. Work. ISSREW 2019, pp. 93–96, Oct. 2019, doi: 10.1109/ISSREW.2019.00050.

Z. Ren et al., “Migrating web applications from monolithic structure to microservices architecture,” ACM Int. Conf. Proceeding Ser., Sep. 2018, doi: 10.1145/3275219.3275230.

A. F. A. A. Freire, A. F. Sampaio, L. H. L. Carvalho, O. Medeiros, and N. C. Mendonça, “Migrating production monolithic systems to microservices using aspect oriented programming,” Softw. Pract. Exp., vol. 51, no. 6, pp. 1280–1307, Jun. 2021, doi: 10.1002/SPE.2956.

K. Sellami, M. A. Saied, and A. Ouni, “A Hierarchical-DBSCAN Method for Extracting Microservices from Monolithic Applications,” pp. 11–2022, Jun. 2022, doi: 10.1145/3530019.3530040.

H. Ren, Q. H., Li, S. L., Qiao, “Method of Refactoring a Monolith into Micro-services,” J. Softw., vol. 13, no. 12, pp. 646–653, 2018.

J. Kazanavičius and D. Mažeika, “The Evaluation of Microservice Communication While Decomposing Monoliths,” Comput. INFORMATICS, vol. 42, no. 1, pp. 1-36–1–36, May 2023, doi: 10.31577/CAI_2023_1_1.

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,” Proc. - IEEE 17th Int. Conf. Softw. Archit. ICSA 2020, pp. 157–168, Mar. 2020, doi: 10.1109/ICSA47634.2020.00023.

O. Al-Debagy and P. Martinek, “Dependencies-based microservices decomposition method,” Int. J. Comput. Appl., vol. 44, no. 9, pp. 814–821, 2022, doi: 10.1080/1206212X.2021.1915444.

“An Innovative Methodology for Transitioning from Monolith to Microservices.” Accessed: Jul. 31, 2024. [Online]. Available: http://www.icicel.org/ell/contents/2023/4/el-17-04-10.pdf

M. Kamimura, K. Yano, T. Hatano, and A. Matsuo, “Extracting Candidates of Microservices from Monolithic Application Code,” Proc. - Asia-Pacific Softw. Eng. Conf. APSEC, vol. 2018-December, pp. 571–580, Jul. 2018, doi: 10.1109/APSEC.2018.00072.

O. Al-Debagy and P. Martinek, “A Microservice Decomposition Method Through Using Distributed Representation of Source Code,” Scalable Comput. Pract. Exp., vol. 22, no. 1, pp. 39–52, Feb. 2021, doi: 10.12694/SCPE.V22I1.1836.

O. Al-Debagy and P. Martinek, “A new decomposition method for designing microservices,” Period. Polytech. Electr. Eng. Comput. Sci., vol. 63, no. 4, pp. 274–281, 2019, doi: 10.3311/PPEE.13925.

M. Abdullah, W. Iqbal, and A. Erradi, “Unsupervised learning approach for web application auto-decomposition into microservices,” J. Syst. Softw., vol. 151, pp. 243–257, May 2019, doi: 10.1016/J.JSS.2019.02.031.

G. Mazlami, J. Cito, and P. Leitner, “Extraction of Microservices from Monolithic Software Architectures,” Proc. - 2017 IEEE 24th Int. Conf. Web Serv. ICWS 2017, pp. 524–531, Sep. 2017, doi: 10.1109/ICWS.2017.61.

N. Santos and A. Rito Silva, “A complexity metric for microservices architecture migration,” Proc. - IEEE 17th Int. Conf. Softw. Archit. ICSA 2020, pp. 169–178, Mar. 2020, doi: 10.1109/ICSA47634.2020.00024.

G. Rossetti, L. Pappalardo, and S. Rinzivillo, “A Novel Approach to Evaluate Community Detection Algorithms on Ground Truth,” Stud. Comput. Intell., vol. 644, pp. 133–144, 2016, doi: 10.1007/978-3-319-30569-1_10.

Downloads

Published

2024-07-30

How to Cite

Kayani, A. A., Adil, Z. U. I., Hafeez, Y., Iqbal, J., & Ahmed, F. B. (2024). Breaking Down Monoliths: A Graph Based Approach to Microservices Migration. International Journal of Innovations in Science & Technology, 6(3), 1076–1087. Retrieved from https://journal.50sea.com/index.php/IJIST/article/view/958