Performance Comparison of Web Services Built Using Monolithic Architecture and Microservices on Point of Sales Systems

  • Fiqri Syah Redha Universitas Tanjungpura
Keywords: software architecture, monolithic, microservices, load testing, point of sales

Abstract

There have been many emerging approaches to software development in terms of architecture lately. One of them is the microservices architecture. The microservices architecture is often compared to the classic monolithic software architecture. Many organizations are starting to implement microservices architectures. However, deciding to implement a microservices architecture into software development is not easy. Many considerations must be taken into account when choosing a software architecture. In this study, the two architectures, namely monolithic and microservices, were compared to the development of the NekoToko POS system. The web services of the system were developed using these two architectures and tested for their performance through load testing. Tests were carried out with three different scenarios; monolithic uses Linux hosts, monolithic uses Docker, and microservices uses Docker. Parameters observed are CPU usage, memory usage, response time, and throughput. From the results of load testing using Locust with 100 users, the response time and throughput of the monolithic architecture are 421 milliseconds and 230.5 rps. While in the microservices architecture, the response time and throughput are 415 milliseconds and 233.8 rps. CPU and memory usage in microservices architecture (scenario 3) is on average 22% and 1,135 MB is greater than CPU usage in monolithic architecture (scenario 1). Therefore, the monolithic architecture was chosen for the NekoToko POS system because with smaller resources it can provide the same performance as microservices that use larger resources.

References

[1] Murugesan, S. (2007). Understanding Web 2.0. IT Professional, 9, 34–41.
[2] Gruhn, V., & Striemer, R. (Ed.). (2018). The Essence of Software Engineering. Cham: Springer International Publishing.
[3] Jaiswal, M. (2019). Software Architecture and Software Design. International Research Journal of Engineering and Technology (IRJET), 06, 2452–2454.
[4] Ponce Mella, F., Márquez, G., & Astudillo, H. (2019, September 10). Migrating from monolithic architecture to microservices: A Rapid Review. International Conference of the Chilean Computer Science Society, SCCC 2019.
[5] Shadija, D., Rezai, M., & Hill, R. (2017). Towards an Understanding of Microservices. 2017 23rd International Conference on Automation and Computing (ICAC), 1–6. Huddersfield, United Kingdom: IEEE.
[6] Al-Debagy, O., & Martinek, P. (2018). A Comparative Review of Microservices and Monolithic Architectures. 2018 IEEE 18th International Symposium on Computational Intelligence and Informatics (CINTI), 000149–000154. Budapest, Hungary: IEEE.
[7] Tapia Leon, F., Mora, M., Fuertes, W., Aules, H., Flores, E., & Toulkeridis, T. (2020). From Monolithic Systems to Microservices: A Comparative Study of Performance. Applied Sciences, 10, 5797.
[8] Gos, K., & Zabierowski, W. (2020). The Comparison of Microservice and Monolithic Architecture (hlm. 153). 2020 IEEE XVIth International Conference on the Perspective Technologies and Methods in MEMS Design (MEMSTECH).
[9] Puspita Sari, R., Rusi, I., & Febriyanto, F. (2021). Penerapan Metode Weighted Product Pada Sistem Penentuan Dosen Pembimbing Dan Penguji Skripsi. Jurnal Teknik Informatika Dan Sistem Informasi, 8, 1429–1441.
[10] Pradeep, S., & Sharma, Dr. Y. (2019, Februari 1). A Pragmatic Evaluation of Stress and Performance Testing Technologies for Web Based Applications. 399–403.
[11] Shrivastava, S., & Sb, P. (2020). Comprehensive Review of Load Testing Tools. International Research Journal of Engineering and Technology (IRJET), 07, 3392–3395.
Published
2023-03-15