МІКРОСЕРВІСНА АРХІТЕКТУРА: ПЕРЕВАГИ ТА НЕДОЛІКИ ЇЇ ПРАКТИЧНОГО ЗАСТОСУВАННЯ

Автор(и)

  • Володимир КИСЕЛЕВИЧ томирський державний університет імені Івана Франка
  • Олена УСАТА Житомирський державний університет імені Івана Франка https://orcid.org/0000-0002-0610-7007
  • Ярослава СІКОРА Житомирський державний університет імені Івана Франка https://orcid.org/0000-0003-2621-6638
  • Дмитрій ВЕРБІВСЬКИЙ Житомирський державний університет імені Івана Франка https://orcid.org/0000-0002-5238-1189
  • Дмитро ІВАНОВ Житомирський державний університет імені Івана Франка https://orcid.org/0000-0001-9956-6589

DOI:

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

Ключові слова:

архітектура програмного забезпечення, монолітна архітектура, мікросервісна архітектура

Анотація

Невпинний розвиток технологій та інновацій є рушієм удосконалення та появи підходів проєктування архітектури програмного забезпечення. Нагальність вибору правильної архітектури для програмних систем зумовлена зростанням складності та масштабів сучасних систем, в яких архітектура відіграє одну з вирішальних ролей у визначенні майбутнього успіху проєкту. Метою дослідження є аналіз та визначення переваг і недоліків мікросервісної архітектури шляхом розгляду конкретних випадків практичного застосування її на системах різних масштабів. Методологія полягає у аналізі прикладів застосування мікросервісної архітектури у випадках систем середньої та високої складності, визначенні переваг та ризиків з метою прийняття оптимального рішення щодо обрання архітектури системи, що відповідатиме її специфічним потребам та умовам. Наукова новизна. У дослідженні детально розглядається та аналізується приклад нераціонального застосування мікросервісної архітектури в контексті системи середньої складності, а також приклад застосування монолітної архітектури в контексті системи високої складності, їх ризики та потенційні проблеми кожного з підходів, що в свою чергу, дозволяє осягнути межі ключових факторів, що впливають на доцільність вибору архітектурного підходу проєктування системи. Висновки. Результати дослідження демонструють, що мікросервісна архітектура може стати як ефективним рішенням, так і джерелом значних проблем. Переваги та недоліки мікросервісної архітектури не можуть бути оцінені однозначно поза контекстом конкретної системи, для якої вона застосовується. Перш ніж приймати рішення про імплементацію мікросервісної архітектури, необхідно провести ґрунтовний аналіз вимог та можливостей, оскільки безпідставне та необґрунтоване використання даного архітектурного підходу може викликати технічні та фінансові проблеми у проєкту, котрі потенційно можуть призвести до його краху. Важливо враховувати усі аспекти, включаючи вимоги до масштабованості, швидкості розробки, складності управління та витрат на обслуговування. Таким чином, мікросервісна архітектура не є універсальним рішенням, і її успішне застосування залежить від багатьох факторів, які потрібно ретельно оцінювати у контексті кожної системи окремо.

Посилання

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

##submission.downloads##

Опубліковано

2024-07-31