Чому бізнес обирає мікросервіси
Мікросервіси давно стали стандартом у розробці, і часто їх подають як безальтернативний варіант. Вони нібито роблять систему зрозумілішою, дозволяють працювати незалежним командам, обіцяють надзвичайну відмовостійкість і масштабованість. Однак, багато з цих selling points мають підводні камені:
- Код можна писати на різних мовах? Так, а потім доведеться підтримувати зоопарк із десятків технологій.
- Один мікросервіс можна переписати за два тижні? Так, а ось систему розгортання, інтеграції, тестування переробити так само швидко вже не вийде.
- Висока відмовостійкість? Теоретично так, але на практиці падіння одного сервісу часто спричиняє каскадну відмову всієї системи.
- Масштабованість? Моноліт теж можна масштабувати, особливо з теперішнім потужним і дешевим залізом.
Але попри всі ці нюанси, бізнес все одно обирає мікросервіси. Чому?
Швидка перевірка гіпотез
Бізнес постійно експериментує, і 9 з 10 таких експериментів провалюються. У випадку моноліту будь-який експеримент вимагає значних зусиль: спочатку потрібно продумати його впровадження, потім вносити зміни в основний код, тестувати їх, і врешті-решт, якщо експеримент провалився, позбуватися залишків цього коду. Альтернативний варіант — робити щось «на колінці», але тоді це залишається назавжди в кодовій базі, створюючи технічний борг.
Мікросервіси ж дозволяють швидко створити окремий модуль, що не впливає на основну систему, протестувати гіпотезу, і якщо вона не спрацювала — просто видалити цей мікросервіс без шкоди для основного продукту.
Найм розробників
Сучасний ринок праці у сфері ІТ дуже конкурентний, і знайти потрібного фахівця буває складно. Монолітні проєкти вимагають глибокого розуміння великої кодової бази, знання специфічного стеку та готовності працювати з легасі-кодом. А ось мікросервісна архітектура дозволяє залучати будь-яких розробників, незалежно від їхньої експертизи у конкретному стеку.
Висновок
Так, мікросервіси ускладнюють розробку, додають проблем з оркестрацією, підтримкою та зміною підходів до управління системою. Але можливість швидко тестувати гіпотези та наймати будь-яких доступних розробників переважує всі технічні труднощі. Саме тому бізнес і обирає мікросервіси — не через технічні переваги, а через реальні бізнесові вигоди, а може і ні 😂
А ви шо думаєте?
Найкращі коментарі пропустити