Юрій Петяк

Петяк Ю. Ф.
доц., к.т.н.

Проблема проектування та створення якісного програмного забезпечення є надзвичайно важливою у сучасному інформаційному світі. З розвитком IT-індустрії було знайдено багато різних підходів та концепцій до побудови складних програмних систем. Показником гарно побудованої програми є, звісно, її архітектура, яка правильно описує предметну область та є формальною моделлю системи. Архітектурою можна вважати набір певних структурних компонентів зв’язаних між собою, які задають поведінку всієї системи. Довгий час провідне місце займала так звана “монолітна архітектура”. При даному підході вся система являє собою моноліт, який фізично розташовується на єдиній машині, запускається в одному процесі та виконує всі бізнес-операції системи. Монолітний додаток піддається лише горизонтальному масштабуванню шляхом запуску декількох окремих серверів із кожним окремим монолітом. Але з плином часу знаходилися інші ідеї та підходи, саме таким стала сервіс-орієнтована архітектура (SOA), на відміну від монолітної системи, при SOA вся програма являє собою розподілену систему, яка обмінюється повідомленнями за певним протоколом. Вся система складається з набору незалежних сервісів, які фокусуються на власній задачі. Пізніше було запропоновано новий підхід до організації SOA, так звана мікросервісна архітектура (MSA). Мікросервісна архітектура відрізняється від класичного SOA. Основна відмінність —це невелика кількість кодової бази на кожен сервіс. Також важливим місцем для MSA є те, що кожен сервіс має мати власний обмежений контекст для цієї предметної області, кожен сервіс має працювати лише над одною бізнес-задачею. Для обміну інформацією мікросервіси використовують стандартизовані протоколи передачі даних (наприклад, HTTP), як правило кожен сервіс має своє API для спілкування з іншими мікросервісами. Всі сервіси можуть бути написані на абсолютно різних мовах програмування та використовуючи будь-які бібліотеки, також має місце децентралізоване збереження даних, тобто кожен сервіс має свою власну базу даних.

Оголошення

Психологічна допомога «Я за Тебе»
Студенте! Якщо тобі потрібно прийняти оптимальне рішення в різних ситуаціях життєвого досвіду, розібратися в суті проблемної ситуації...

Детальніше 

Студенте!!!
Якщо тобі потрібна духовна підтримка, і тобі важко прийняти рішення або знайти вихід із важкої життєвої ситуації...

Детальніше 

На гору