ЕВОЛЮЦІЯ АРХІТЕКТУР ПРОГРАМНОГО ЗАБЕЗПЕЧЕННЯ ОБЧИСЛЮВАЛЬНИХ СИСТЕМ: ВІД МОНОЛІТНИХ ДО МІКРОСЕРВІСНИХ
DOI:
https://doi.org/10.36994/2788-5518-2025-02-10-04Ключові слова:
архітектура програмного забезпечення, монолітна архітектура, мікросервіси, сервіс-орієнтована архітектура (SOA), клієнт-серверна модель, масштабованість, DevOps, контейнеризація, Kubernetes, Infrastructure as Code, еволюція програмних систем.Анотація
Анотація. Проведено дослідження історичної еволюції архітектур програмного забезпечення обчислювальних систем – від перших монолітних структур до сучасних мікросервісних рішень. Розглянуто ключові етапи розвитку: ранні обчислювальні системи з простими програмними структурами (1940–1960-ті роки), становлення монолітної архітектури як фундаментального підходу до побудови цілісних систем, перехід до клієнт-серверних та багаторівневих (n-tier) моделей, появу розподілених об’єктних систем (CORBA, RMI) та web-сервісів (SOAP), еволюцію REST як легковагової альтернативи та формування сервіс-орієнтованої архітектури (SOA), що підготувала ґрунт для мікросервісної парадигми. Особливу увагу приділено детальному аналізу мікросервісної архітектури як сучасного стандарту побудови масштабованих, гнучких та відмовостійких програмних систем, підтримуваних екосистемою технологій контейнеризації (Docker), оркестрації (Kubernetes) та Service Mesh. Здійснено систематичне порівняння монолітних, перехідних (клієнт-серверних, n-tier, SOA) та мікросервісних архітектур за критеріями масштабованості, гнучкості, складності підтримки, економічної ефективності та безпеки. Виявлено їхні переваги й обмеження та визначено законо- мірності еволюційного переходу між ними. Показано, що мікросервісний підхід є природним етапом розвитку архітектур програмного забезпечення, який забезпечує високий рівень автономності команд розробки, горизонтальну масштабованість компонентів, технологічну незалежність (поліглотне програмування) та інтеграцію з практиками DevOps і CI/CD. Водночас окреслено виклики мікросервісної архітектури – ускладнення інфраструктури, проблеми управління узгодженістю даних у розподілених системах і забезпечення безпеки міжсервісної комунікації. Окреслено перспективні напрями розвитку архітектур програмного забезпечення: поширення serverless-підходів та event-driven моделей для реактивних систем, впровадження Service Mesh технологій для надійної комунікації, інтеграцію edge computing для обробки даних на периферії мережі, автоматизацію через Infrastructure as Code (IaC) та використання штучного інтелекту (AIOps) для інтелектуальної оптимізації, моніторингу й створення self-healing систем. Результати дослідження є корисними для архітекторів програмного забезпечення, інженерів і дослідників у галузі розподілених систем.
Посилання
Гавриляк А. В., Ліщук К. І. Архітектурні шаблони та стилі програмного забезпечення. Вісник НТУУ «КПІ». Серія: Інформатика та обчислювальна техніка. 2020. № 73. С. 47–54.
Киселевич В., Усата О., Сікора Я., Вербівський Д., Іванов Д. Мікросервісна архітектура: переваги та недоліки її практичного застосування. Інформаційні технології та комп’ютерна інженерія. 2024. № 2 (63). С. 45–54. DOI: https://doi.org/10.32782/IT/2024-2-7.
Newman S. Building Microservices: Designing Fine-Grained Systems. 2nd ed. Sebastopol, CA : O’Reilly Media, 2021. 612 p.
Richardson C. Microservices Patterns: With Examples in Java. Shelter Island, NY : Manning Publications, 2018. 520 p.
Kleppmann M. Designing Data-Intensive Applications: The Big Ideas Behind Reliable, Scalable, and Maintainable Systems. Sebastopol, CA : O’Reilly Media, 2017. 616 p.
Bass L., Clements P., Kazman R. Software Architecture in Practice. 4th ed. Boston, MA : Addison-Wesley Professional, 2021. 464 p.
Waseem M., Liang P., Shahin M. A Systematic Mapping Study on Microservices Architecture in DevOps. Journal of Systems and Software. 2020. Vol. 170. Article 110798. DOI: https://doi.org/10.1016/j.jss.2020.110798.
Taibi D., Lenarduzzi V., Pahl C. Microservices Anti-patterns: A Taxonomy. In: Microservices: Science and Engineering. Cham : Springer, 2020. P. 111–128. DOI: https://doi.org/10.1007/978-3-030-31646-4_5.
##submission.downloads##
Опубліковано
Як цитувати
Номер
Розділ
Ліцензія

Ця робота ліцензується відповідно до Creative Commons Attribution 4.0 International License.

