MICROSERVICE ARCHITECTURE: ADVANTAGES AND DISADVANTAGES OF ITS PRACTICAL APPLICATION
DOI:
https://doi.org/10.32782/IT/2024-2-7Keywords:
software architecture, monolithic architecture, microservice architectureAbstract
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