ВИЗНАЧЕННЯ КРИТЕРІЇВ ВИКОРИСТАННЯ СЕРВІСНОЇ (SOA) ТА МІКРОСЕРВІСНОЇ АРХІТЕКТУРИ (MSA) ПОБУДОВИ ПРОГРАМНОГО ЗАБЕЗПЕЧЕННЯ
DOI:
https://doi.org/10.26565/2519-2310-2024-2-04Ключові слова:
інформаційні системи, сервіс-орієнтована архітектура, мікросервісна архітектура, архітектура програмного забезпеченняАнотація
У сучасній розробці програмного забезпечення одним із ключових завдань є вибір відповідної архітектури для системи на ранніх етапах її проектування. Ця стаття розглядає два популярні підходи побудови програмного забезпечення: сервіс-орієнтованої архітектури (SOA) та мікросервісної архітектури (MSA). На основі аналізу архітектурних особливостей, переваг та недоліків цих підходів, досліджуються критерії, які впливають на вибір архітектурної моделі в залежності від специфіки системи. Мікросервісна архітектура, завдяки своїй незалежності та можливості швидкого масштабування, краще підходить для динамічних систем з високими вимогами до гнучкості. Сервісно-орієнтована архітектура, навпаки, орієнтована на централізоване управління сервісами через ESB (Enterprise Service Bus) і надає кращі можливості для інтеграції та повторного використання компонентів у великих корпоративних системах, та які не потребують частих змін функціоналу. Основна увага у статті приділяється розробці методу оцінки, який дозволить розробникам програмного забезпечення та системним інженерам на ранніх стадіях проектування визначити яку з архітектур, SOA чи MSA, доцільніше використовувати для конкретної системи. Враховуючи різні технічні та вимоги, метод виділяє ключові критерії на які слід звертати увагу при обранні архітектури програмного забезпечення додатку.
Посилання
Newman S. (2020) Monolith to Microservices: Evolutionary Patterns to Transform Your Monolith 1st Edition. O'Reilly Media, 270 p. URL: https://dl.ebooksworld.ir/books/Monolith.to.Microservices.Sam.Newman.OReilly.9781492047841.EBooksWorld.ir.pdf
Newman S. (2015) Building Microservices: Designing Fine-Grained Systems 1st Edition. O'Reilly Media, 278 p.
Richardson C. Microservice Architecture. microservices.io. URL: https://microservices.io/
Richards M., Ford N. (2021) Fundamentals of Software Architecture: An Engineering Approach. O'Reilly Media, 419 p. URL: https://mrce.in/ebooks/Software-Fundamentals%20of%20Software%20Architecture.pdf
Mitra R., Nadareishvili I. (2020) Microservices: Up and Running: A Step-by-Step Guide to Building a Microservices Architecture 1st Edition. O'Reilly Media, 316 p.
C. Martin. R. (2018) Clean Architecture: A Craftsman's Guide to Software Structure and Design. Pearson, 432 p. URL: https://agorism.dev/book/software-architecture/%28Robert%20C.%20Martin%20Series%29%20Robert%20C.%20Martin%20%20Clean%20Architectue_%20A%20Craftsman%E2%80%99s%20Guide%20to%20Software%20Structure%20and%20DesignPrentice%20Hall%20%282017%29.pdf
O.Yu. Ilyin et al. (2019) Scientific notes of the UNDIZ. Features of deploying microservice applications using a container management system. №4(56). P. 49-60. DOI: https://doi.org/10.31673/2518-7678.2019.044960 [in Ukrainian]
