ANALYSIS THE IMPACT OF REFACTORING FROM MONOLITHIC APPLICATIONS TO MICROSERVICES ON RESPONSE TIME USING THE MDA AND SCA APPROACHES

  • Shidqi Fadhlurrahman Yusri Informatics, School of Computing, Telkom University, Indonesia
  • Dawam Dwi Jatmiko Suwawi Informatics, School of Computing, Telkom University, Indonesia
  • Monterico Adrian Informatics, School of Computing, Telkom University, Indonesia
Keywords: Microservices, Meta-data Aided, Monolithic, Refactor, Response Time, Static Code Analysis

Abstract

This study investigates the impact of refactoring from a monolithic to a microservices architecture on application response time. Monolithic architecture, initially chosen for ease of development, faces scalability challenges as the application grows. Microservices offer a solution by enabling independent service deployment and enhanced scalability. This research uses Meta-Data Aided (MDA) and Static Code Analysis (SCA) methodologies to facilitate the refactoring process, applying them to the inventory-application project from a collaborative software development platform (GitHub). The refactoring involves decomposing the monolithic application, containerizing it with Docker, and evaluating performance using JMeter. Results show that microservices significantly reduce response time, particularly in API interaction tasks. While microservices improve scalability and flexibility, they require careful management of service communication. This research enhances understanding of the benefits of microservices in terms of response time and offers practical guidance for developers considering refactoring.

Downloads

Download data is not yet available.

References

Y. Wei, Y. Yu, M. Pan, and T. Zhang, “A Feature Table approach to decomposing monolithic applications into microservices,” in ACM International Conference Proceeding Series, Association for Computing Machinery, Nov. 2020, pp. 21–30. doi: 10.1145/3457913.3457939.

F. Ponce, G. Márquez, and H. Astudillo, “Migrating from monolithic architecture to microservices: A Rapid Review,” 2019 38th International Conference of the Chilean Computer Science Society (SCCC), pp. 1–7, 2019, doi: 10.1109/SCCC49216.2019.8966423.

B. J. Široký, “From Monolith to Microservices: Refactoring Patterns,” 2021.

J. Fritzsch, J. Bogner, A. Zimmermann, and S. Wagner, “From monolith to microservices: A classification of refactoring approaches,” in Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics), Springer Verlag, 2019, pp. 128–141. doi: 10.1007/978-3-030-06019-0_10.

Q. Ren and S. Li, “Method of Refactoring a Monolith into Micro-services,” Journal of Software, vol. 13, no. 12, pp. 646–653, Dec. 2018, doi: 10.17706/jsw.13.12.646-653.

P. Zaragoza, A. D. Seriai, A. Seriai, H. L. Bouziane, A. Shatnawi, and M. Derras, “Refactoring monolithic object-oriented source code to materialize microservice-oriented architecture,” in Proceedings of the 16th International Conference on Software Technologies, ICSOFT 2021, SciTePress, 2021, pp. 78–89. doi: 10.5220/0010557800780089.

M. Kalske, N. Mäkitalo, and T. Mikkonen, “Challenges When Moving from Monolith to Microservice Architecture,” in Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics), Springer Verlag, 2018, pp. 32–47. doi: 10.1007/978-3-319-74433-9_3.

L. Traini et al., “How Software Refactoring Impacts Execution Time,” ACM Transactions on Software Engineering and Methodology, vol. 31, no. 2, Apr. 2022, doi: 10.1145/3485136.

A. Almogahed, M. Omar, and N. H. Zakaria, “Impact of Software Refactoring on Software Quality in the Industrial Environment: A Review of Empirical Studies,” 2018. [Online]. Available: http://www.kmice.cms.net.my/

ISO/IEC 25010, “ISO/IEC 25010:2011 Systems and software engineering — Systems and software Quality Requirements and Evaluation (SQuaRE) — System and software quality models.,” 2011

R. B. Khan, “Comparative Study of Performance Testing Tools: Apache JMeter and HP LoadRunner,” 2016, [Online]. Available: www.bth.se

D. Al Fansha, M. Yusril, H. Setyawan, and M. N. Fauzan, “Load Test pada Microservice yang menerapkan CQRS dan Event Sourcing,” Jurnal Buana Informatika, vol. 12, no. 2, pp. 126–134, 2021, doi: https://doi.org/10.24002/jbi.v12i2.4749.

Q. Gu, S. Wagner, and J. Fritzsch, “A Meta-Approach to Guide Architectural Refactoring from Monolithic Applications to Microservices,” 2020, doi: http://dx.doi.org/10.18419/opus-11501.

J. Zhao and K. Zhao, “Applying Microservice Refactoring to Object-2riented Legacy System,” in Proceedings - 2021 8th International Conference on Dependable Systems and Their Applications, DSA 2021, Institute of Electrical and Electronics Engineers Inc., 2021, pp. 467–473. doi: 10.1109/DSA52907.2021.00070.

N. Goncalves, D. Faustino, A. R. Silva, and M. Portela, “Monolith Modularization towards Microservices: Refactoring and Performance Trade-offs,” in Proceedings - 2021 IEEE 18th International Conference on Software Architecture Companion, ICSA-C 2021, Institute of Electrical and Electronics Engineers Inc., Mar. 2021, pp. 54–61. doi: 10.1109/ICSA-C52384.2021.00015.

J. Han, S. Deng, X. Xia, D. Wang, and J. Yin, “Characterization and prediction of popular projects on gitHub,” in Proceedings - International Computer Software and Applications Conference, IEEE Computer Society, Jul. 2019, pp. 21–26. doi: 10.1109/COMPSAC.2019.00013.

L. Baresi and M. Garriga, “Microservices: The evolution and extinction of web services?,” in Microservices: Science and Engineering, Springer International Publishing, 2019, pp. 3–28. doi: 10.1007/978-3-030-31646-4_1.

Mohamed Eleshmawy, “inventory-application.” Accessed: Mar. 19, 2024. [Online]. Available: https://github.com/moelashmawy/inventory-application

D. Marcilio, R. Bonifacio, E. Monteiro, E. Canedo, W. Luz, and G. Pinto, “Are static analysis violations really fixed? a closer look at realistic usage of sonarqube,” in IEEE International Conference on Program Comprehension, IEEE Computer Society, May 2019, pp. 209–219. doi: 10.1109/ICPC.2019.00040.

Dr. D. De Silva, P. Samarasekera, and H. Ridmi, “A Comparative Analysis of Static and Dynamic Code Analysis Techniques Techniques,” 2023, doi: 10.36227/techrxiv.22810664.v1.

Published
2024-12-29
How to Cite
[1]
S. F. Yusri, D. D. J. Suwawi, and M. Adrian, “ANALYSIS THE IMPACT OF REFACTORING FROM MONOLITHIC APPLICATIONS TO MICROSERVICES ON RESPONSE TIME USING THE MDA AND SCA APPROACHES”, J. Tek. Inform. (JUTIF), vol. 5, no. 6, pp. 1861-1872, Dec. 2024.