`

СПЕЦІАЛЬНІ
ПАРТНЕРИ
ПРОЕКТУ

Чи використовує ваша компанія ChatGPT в роботі?

BEST CIO

Определение наиболее профессиональных ИТ-управленцев, лидеров и экспертов в своих отраслях

Человек года

Кто внес наибольший вклад в развитие украинского ИТ-рынка.

Продукт года

Награды «Продукт года» еженедельника «Компьютерное обозрение» за наиболее выдающиеся ИТ-товары

 

Андрій Михайленко

Мікросервіси, як шлях до гнучкого та масштабованого середовища розробки

+11
голос

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

При цьому застосунки розроблені за традиційними методиками зазвичай включають кілька складних програмних модулів, які сильно пов’язані один з одним - через це навіть незначні зміни в коді зачіпають весь застосунок з усіма наслідками.

Мікросервіс як випливає з його назви - це невеликий сервіс, що автономно працює та має чітко окреслену функціональність. Із багатьох таких сервісів - десятків, сотень і навіть тисяч - складається застосунок. Завдяки тому, що мікросервіси можна розробляти та підтримувати незалежно один від одного, процес розробки застосунку спрощується та прискорюється.

Серед особливостей мікросервісів варто відзначити, що вони виконують якесь одне завдання та використовують власну логіку, при цьому розгортаються та перебудовуються окремо, не торкаючись інших.

Взаємодіють один з одним мікросервіси через прості інтерфейси (API) і можуть бути створені з використанням різних технологічних стеків та бібліотек.

Найчастіше код для кожного мікросервісу пише одна команда розробників.

У чому різниця між монолітною та мікросервісною архітектурою?

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

Для розгортання застосунків на основі мікросервісів використовують технологію контейнеризації. Одна з найпопулярніших платформ для запуску та управління контейнерами має назву Kubernetes.

Часто про перехід на мікросервісну архітектуру починають замислюватися тоді, коли монолітний застосунок постійно масштабується та ускладнюється, над ним вже працюють десятки інженерів, але їхня продуктивність починає знижуватися, а виходи релізів - затримуватися. Однак варто підготуватися до того, що після «міграції» з моноліту на мікросервіси кількість останніх може все одно вражати - наприклад, від 1000 у великих онлайн-проєктів плюс стільки ж чи більше баз даних. Можливо, над проєктом продовжуватимуть працювати ті самі фахівці, проте продуктивність їх роботи зросте, як і швидкість розробки в цілому, а виправлення помилок і випуск оновлень займатимуть менше часу.

Серед переваг мікросервісної архітектури слід зазначити.

Гнучкість. Зміни, що вносяться в один мікросервіс, не торкаються інших, що спрощує оновлення додатків і прискорює розробку.

Кросплатформність. Мікросервіси для однієї програми пишуть різними мовами програмування, не прив’язуючись до одного технологічного стека. Це дозволяє створювати застосунки, які однаково добре працюють у різних середовищах.

Безпека. З мікросервісною архітектурою простіше контролювати всі залежності, що виникають у процесі запуску застосунків, та керувати доступом до окремих сервісів.

Стабільність. Помилки, допущені в розробці одного мікросервісу, торкнуться тільки його роботи й не позначаться на інших (захист від каскадних помилок).

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

Ready, set, buy! Посібник для початківців - як придбати Copilot для Microsoft 365

+11
голос

Напечатать Отправить другу

Читайте также

 

Ukraine

 

  •  Home  •  Ринок  •  IТ-директор  •  CloudComputing  •  Hard  •  Soft  •  Мережі  •  Безпека  •  Наука  •  IoT