Prog Academy
RU UA
DevOps та хмари

Що таке мікросервіси?

Мікросервіси — архітектурний підхід, за якого застосунок складається з кількох невеликих самостійних сервісів. Кожен відповідає за свою область — оплату, каталог, сповіщення, — розгортається окремо й спілкується з рештою через API.

Головна перевага — незалежність. Команди випускають свої сервіси, не чекаючи одна на одну, кожен сервіс масштабується окремо під своє навантаження, а відмова одного не обовʼязково роняє всю систему.

Ціна — складність експлуатації. Зʼявляються мережеві затримки, розподілені помилки, потреба у наскрізному логуванні та узгодженості даних між сервісами. Тому більшість продуктів розумно починати з моноліту й виділяти сервіси тоді, коли для цього є конкретна причина.

Повʼязані терміни

Backend

Backend — серверна частина застосунку: вона зберігає й обробляє дані, містить бізнес-логіку, відповідає за авторизацію та безпеку й віддає результат фронтенду через API. Користувач її не бачить, але саме вона визначає, що застосунок уміє.

Container

Контейнер — ізольоване середовище, у якому застосунок запускається разом зі своїми залежностями, але використовує ядро операційної системи хоста. Усередині контейнера програма «бачить» лише власні файли та процеси.

Kubernetes

Kubernetes — система оркестрації контейнерів: вона сама запускає потрібну кількість контейнерів на групі серверів, перезапускає ті, що впали, розподіляє навантаження й викочує оновлення без зупинки сервісу.

API

API (Application Programming Interface) — це набір правил, за якими одна програма звертається до іншої: які запити можна надіслати, які параметри передати і в якому вигляді прийде відповідь. API дозволяє використовувати чужий сервіс, нічого не знаючи про його внутрішню будову.

DevOps

DevOps — підхід до розробки, у якому створення програми та її експлуатація обʼєднані в один процес: та сама команда відповідає і за код, і за те, як він збирається, розгортається та працює на серверах. Мета — випускати зміни часто, швидко й безпечно.