Analysis of selected features of application based on monolithic and microservice architecture
Kamil Jaskot
kamil.jaskot@pollub.edu.plLublin University of Technology (Poland)
Sławomir Przyłucki
Lublin University of Technology (Poland)
Abstract
The article describes the performance of applications built in monolithic and microservice architectures. The base of research includes application supporting prescription management developed with the use of Spring Framework technology and implemented in the Docker Swarm test environment. The tested applications were subjected to various loads in the form of sending HTTP requests that simulated user behaviour. The research has proven that an application created based on microservices architecture offers better traffic handling in case of high load. Scaling a microservice application allows for greater gains in performance measured as quantity served client requests per unit of time than scaling a monolithic application under the same conditions scaling.
Keywords:
microservices, monolith-software architecture, scaling services, spring frameworkReferences
C. Richardson, Mikroserwisy: Wzorce z przykładami w języku Java, PWN, 2020.
Google Scholar
P. Mell, T. Grance, et al. The NIST definition of cloud computing. National Institute of Standards and Technology Special Publication 800-145, Gaithersburg (2011) 1-7.
DOI: https://doi.org/10.6028/NIST.SP.800-145
Google Scholar
V. Andrikopoulos, T. Binz, F. Leymann, S. Strauch, How to adapt applications for the cloud environment. Challenges and solutions in migrating applications to the cloud, Computing 95(6) (2013) 493–535.
DOI: https://doi.org/10.1007/s00607-012-0248-2
Google Scholar
P. Jamshidi, A. Ahmad, C. Pahl, Cloud migration research: A systematic review, IEEE Transactions on Cloud Computing 1(2) (2013) 142–157.
DOI: https://doi.org/10.1109/TCC.2013.10
Google Scholar
A. Balalaie, A. Heydarnoori, P. Jamshidi, Migrating to Cloud-Native Architectures Using Microservices. An Experience Report, European Conference on Service-Oriented and Cloud Computing (2015) 201-215.
DOI: https://doi.org/10.1007/978-3-319-33313-7_15
Google Scholar
L. Bass, I. Weber, L. Zhu, DevOps: A Software Architect’s Perspective, O’Reilly, 2019.
Google Scholar
S. Stoja, S. Vukmirovic, N. Dalcekovic, D. Capko, Accelerating Performance in Critical Topology Analysis of Distribution Management System Process by Switching from Monolithic to Microservices, Revue Roumaine des Sciences Techniques Serie Electrotechnique et Energetique 63 (2018) 338-343.
Google Scholar
K. Cebeci, Ö. Korçak, Design of an Enterprise Level Architecture Based on Microservice, Bilişim Teknolojileri Dergisi 13 (2020) 357-371.
DOI: https://doi.org/10.17671/gazibtd.558392
Google Scholar
B. Shafabakhsh, R. Lagerström, S. Hacks, Evaluating the Impact of Inter Process Communication in Microservice Architectures, International Workshop on Quantitative Approaches to Software Quality 2767 (2020) 55–63.
Google Scholar
Strona główna Apache JMeter, https://jmeter.apache.org/, [27.05.2022].
Google Scholar
V. Adamescu, Analysing monolithic and microservices software architecture for SME web services/applications, (2020) https://www.researchgate.net/publication/341353952_Analysing_monolithic_and_microservices_software_architecture_for_SME_web_servicesapplications
Google Scholar
D. Taibi, V. Lenarduzzi, P, Claus, Architectural Patterns for Microservices: A Systematic Mapping Study, Closer (2018) https://hdl.handle.net/10863/5599
DOI: https://doi.org/10.5220/0006798302210232
Google Scholar
F. Vera-Rivera, H. Astudillo, M. Gaona, Desarrollo de aplicaciones basadas en microservicios: tendenciasy desafíos de investigación, Revista Iberica de Sistemas e Tecnologias de Informacao E23 (2019) 107 - 120.
Google Scholar
Strona główna narzędzia testowego Locust, https://locust.io/, [27.05.2022].
Google Scholar
Dokumentacja narzędzia Gatling, https://gatling.io/docs/gatling/reference/3.7/, [27.05.2022].
Google Scholar
S. Shrivastava, S. B. Prapulla, Comprehensive Review of Load Testing Tools, IRJET (2020) 3392-3395.
Google Scholar
A. Raj, K. Jasmine, Building Microservices with Docker Compose, The International journal of analytical and experimental modal analysis XIII (2021) 1215- 1219.
Google Scholar
S. Newman, Budowanie mikrousług. Projektowanie drobnoziarnistych systemów, Helion, 2022.
Google Scholar
S. Newman, Monolith to Microservices. Evolutionary Patterns to Transform Your Monolith, O’Reilly, 2019.
Google Scholar
Decompose by transactions, https://docs.aws.amazon.com/prescriptive-guidance/latest/modernization-decomposing-monoliths/decompose-transactions.html, [27.05.2022].
Google Scholar
Wzorce projektowe architektury mikrousługowej, https://microservices.io/patterns/index.html, [27.05.2022].
Google Scholar
Dokumentacja Spring Cloud, https://spring.io/projects/spring-cloud, [27.05.2022].
Google Scholar
Authors
Sławomir PrzyłuckiLublin University of Technology Poland
Statistics
Abstract views: 179PDF downloads: 186
License
This work is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.