MICROSERVICE ARCHITECTURE: ADVANTAGES AND DISADVANTAGES OF ITS PRACTICAL APPLICATION

Authors

DOI:

https://doi.org/10.32782/IT/2024-2-7

Keywords:

software architecture, monolithic architecture, microservice architecture

Abstract

The relentless advancement of technology and innovation drives the improvement and emergence of software architecture design approaches. The urgency of choosing the right architecture for software systems is driven by the increasing complexity and scale of modern systems, where architecture plays a crucial role in determining the future success of a project. The purpose of this study is to analyze and identify the advantages and disadvantages of microservice architecture by examining specific cases of its practical application in systems of various scales. The methodology involves analyzing examples of microservice architecture application in cases of medium and high complexity systems, identifying advantages and risks to make an optimal decision regarding the choice of system architecture that meets its specific needs and conditions. Scientific novelty. The study thoroughly examines and analyzes an example of the irrational application of microservice architecture in the context of a medium-complexity system, as well as an example of the application of monolithic architecture in the context of a high-complexity system. It explores the risks and potential problems of each approach, which in turn allows for a comprehensive understanding of the key factors influencing the appropriateness of choosing a particular architectural design approach for a system. Conclusions. The study’s findings demonstrate that microservice architecture can be both an effective solution and a source of significant challenges. The advantages and disadvantages of microservice architecture cannot be assessed unequivocally outside the context of the specific system for which it is applied. Before deciding to implement microservice architecture, it is crucial to conduct a thorough analysis of the requirements and capabilities, as unfounded and unjustified use of this architectural approach can lead to technical and financial issues for the project, potentially resulting in its failure. It is important to consider all aspects, including scalability requirements, development speed, management complexity, and maintenance costs. Therefore, microservice architecture is not a universal solution, and its successful application depends on numerous factors that shall be carefully evaluated in the context of each individual system.

References

Koschel A., Astrova I., Dotterl J. Making the move to microservice architecture. International Conference on Information Society (i-Society). Dublin, Ireland, 2017. pp. 74–79. DOI: 10.23919/i-Society.2017.8354675.

Lv G., Huang B., Liang Z., Qin M., Zou H., Li Z. Microservices: architecture, container, and challenges. IEEE 20th International Conference on Software Quality, Reliability and Security Companion (QRS-C). Macau, China, 2020. pp. 629–635. DOI: 10.1109/QRS-C51114.2020.00107.

Shabani I., Mëziu E., Berisha B., Biba, T. Design of Modern Distributed Systems based on Microservices Architecture. International Journal of Advanced Computer Science and Applications (IJACSA), 12(2), 2021. DOI: 10.14569/IJACSA.2021.0120220

Mazlami G., Cito J., Leitner P. Extraction of Microservices from Monolithic Software Architectures. 2017 IEEE International Conference on Web Services (ICWS). Honolulu, HI, USA, 2017. pp. 524–531. DOI: 10.1109/icws.2017.61

Fowler M. Microservices, a definition of this new architectural term. URL: https://martinfowler.com/articles/microservices.html

Khaleq A. A., Ra, I. Intelligent Microservices Autoscaling Module Using Reinforcement Learning. Springer Science Business Media. 2023. Vol. 26, Issue 5. pp. 2789–2800. DOI: 10.1007/s10586-023-03999-8

Singleton, A. The Economics of Microservices, Cloud Computing. 2016. Vol. 3, № 5, pp. 16–20. DOI: 10.1109/MCC.2016.109.

Feng Z., Xu Y., Xue X., Chen S. Review on the Development of Microservice Architecture. Journal of Computer Research and Development. 2020, Vol. 57(5). Pp. 1103–1122. DOI: 10.7544/issn1000-1239.2020.20190460

Daniel R. F. Apolinário, Breno B. N. de França. A method for monitoring the coupling evolution of microservice-based architectures. Journal of the Brazilian Computer Society. 2021. Vol. 27(1). DOI: 10.1186/ s13173-021-00120-y

Zeng R., Niu Y., Qiao L. A Novel Construction Technology of Microservice Multi-Instance System Automatic Deployment and Upgrade,» 2023 International Conference on Networking and Network Applications (NaNA), Qingdao. China, 2023. pp. 674–679, DOI: 10.1109/NaNA60121.2023.00116.

Mateus-Coelho N., Cruz-Cunha M., Ferreira L. Security in Microservices Architectures. Procedia Computer Science. 2021. Vol.181(6). Pp. 1225–1236. DOI: 10.1016/j.procs.2021.01.320

Smid A., Wang R., Cerny T. Case study on data communication in microservice architecture. Proceedings of the Conference on Research in Adaptive and Convergent Systems. 2019. DOI: 10.1145/3338840.3355659

Ramu V. B. Performance Impact of Microservices Architecture. The Review of Contemporary Scientific and Academic Studies. Vol. 3(6). DOI: 10.55454/rcsas.3.06.2023.010

Iasio A. D., Zimeo E. A framework for microservices synchronization. Software: Practice and Experience. Vol. 51(1). Pp. 25–45. DOI: https://doi.org/10.1002/spe.2877.

Su R., Li X. Modular Monolith: Is This the Trend in Software Architecture?. Cornell University. 2024. DOI: 10.48550/arxiv.2401.11867

Blinowski G., Ojdowska A., Przybyłek A. Monolithic vs. Microservice Architecture: A Performance and Scalability Evaluation, IEEE Access. 2022. Vol. 10. pp. 20357–20374. DOI: 10.1109/ACCESS.2022.3152803.

Aljaloud A., Razzaq A. An Innovative Metric-based Clustering Approach for Increased Scalability and Dependency Elimination in Monolithic Legacy Systems. Engineering, Technology & Applied Science Research. 2023. Vol. 13(4). Pp. 11375–113876. DOI: 10.48084/etasr.6048

Saidi M., Tissaoui A., Faiz S. From a Monolith to a Microservices Architecture Based Dependencies. Intelligent Systems Design and Applications. 2023. DOI: 10.1007/978-3-031-35501-1_4.

Fowler M. Microservice Architecture: Technology Diversity. URL: https://martinfowler.com/articles/microservice-trade-offs.html

Mosleh M., Dalili K., Heydari B. Distributed or Monolithic? A Computational Architecture Decision Framework. Institute of Electrical and Electronics Engineers. 2018. Vol. 12(1). Pp. 125–136. DOI: 10.1109/jsyst.2016.2594290.

Chouhan U., Tiwari V., Kumar H. P. M. 2023 3rd Asian Conference on Innovation in Technology (ASIANCON). Ravet IN, India, 2023. pp. 1–7. DOI: 10.1109/asiancon58793.2023.10270721

Tapia F., Mora M. A., Fuerte W., Aules H., Flores E., Toulkeridis T. From Monolithic Systems to Microservices: A Comparative Study of Performance. Multidisciplinary Digital Publishing Institute. 2020. Vol. 10(17), 5797. DOI: 10.3390/app10175797

Published

2024-07-31