Дослідження та розробка архітектури мікросервісів за допомогою Kubernetes

Автор: Лобай Роман Ігорович
Кваліфікаційний рівень: магістр
Спеціальність: Системне програмування
Інститут: Інститут комп'ютерних технологій, автоматики та метрології
Форма навчання: денна
Навчальний рік: 2022-2023 н.р.
Мова захисту: англійська
Анотація: Дана магістерська кваліфікаційна робота ? розробка архітектури мікросервісів за допомогою Kubernetes. Мікросервіси – незалежні компоненти комплексної програмної системи, що використовують брокери повідомлень для міжсервісної комунікації. Kubernetes – це система для оркестрування контейнерів, де кожен мікросервіс ізолюється в контейнері з налаштуваннями, що дозволяють легко керувати ними(комунікацією, взаємодією, нетворкінгом, оновленням і т.д). Система полегшує роботу з мікросервісами, значно автоматизовуючи всі процеси, та дозволяє будувати надзвичайно великі та ефективні системи, якими, все ще, легко керувати. До основного функціоналу входить можливість оркестрації контейнерів в яких ізолюються мікросервіси з подальшим налаштування роутингу трафіку, відмовостійкості, стратегії оновлень, лімітів по споживанню ресурсів, моніторингу і т.д. Система побудована з використанням провідних технологій в сфері мікросервісної оркестрації та розробки, а саме Kubernetes, та NodeJS на базі фреймворка NestJS для побудови мікросервісів. Prometheus та Grafana стек використовувався для налаштування моніторингу системи, а також відправки сповіщень у випадку критичних збоїв на кластері. Fluentbit та Amazon CloudWatch використовувались для логування подій в мікросервісах, а CloudWatch log insights для аналізу зібраних подій. Отож, поєднання сучасних технологій, та добре продуманого архітектурного підходу є гарантією високої продуктивності, надійності та безпомилкової роботи системи.