COMPARATIVE TESTING OF APPLICATIONS DEVELOPED BASED ON MONOLITHIC AND MICROSERVICES ARCHITECTURES - Lymarenko, Y. О.; Popivshchyi, V. I.; Novak, V. V.; Mikhailutsa, O. M.; Skrypnyk, I. A. (Computer Science and Applied Mathematics, 2023)
Nowadays, there are two basic approaches to web application development: monolithic and microservices architectures. The question of which of these two approaches is better remains open. The answer is controversial and depends on many factors. Therefore, the problem of comparing these two architectures based on various indicators testing is quite actual. The aim of the paper is to compare monolithic and microservices architectures. We use analysis of performance and throughput testing of developed web applications. In order to be able to compare two architectural approaches, it is necessary to have two different applications that would solve the same business problems, but one should be implemented on the basis of a monolithic architecture, and the other should be implemented with the use of microservices. Implementation and processing of online product orders with the aim of further address delivery of these orders by couriers was chosen as a business task. The server parts of both applications were developed on Java platform using Java Spring Framework and Java Spring Cloud. PostgreSQL was used as a DBMS. The interaction of main services with databases is implemented in according to the principle “One database for one service” in the microservice application. JMeter and Gatling tools were chosen for load testing and performance determination of both applications. The results in most test scenarios showed a slight advantage of the monolithic architecture over the microservices architecture. But for the case of requests with multi services and multi databases at the same time, it is observed a shorter response time for the microservice application.