Software Craftsmanship Митап 20: «‎Что микросервисы дают бизнесу? Ответы для инженера»‎

13 Октября 19:30 - 20:30

20-ый онлайн митап Software Craftsmanship будет посвящен тому, каким образом микросервисная архитектура помогает расти бизнесу, и какие дополнительные проблемы создает для бизнеса. При этом будут рассмотрены и альтернативные подходы и решения.

К значимым для бизнеса преимуществам микросервисной архитектуры относятся, в первую очередь, гибкость и масштабируемость - именно эти два свойства позволяют бизнесу быстрее разворачиваться в нужную сторону и уменьшают time to market.

Однако цена за эти подходы достаточно велика - нам нужно организовать взаимодействие между микросервисами. Также мы лишаемся таких удобных ACID транзакций, которые доступны в монолитной архитектуре, и нам приходится переходить к BASE подходам. Это затрудняет data persistence, и приходится использовать специальные средства для эмуляции "транзакционности", например шаблоны transactional outbox, или Saga и ее compensating transaction. Также нам придется добавлять большое количество REST контроллеров и клиентов, message producers и consumers, и все это требует дополнительного времени разработки.

Кроме взаимодействия между микросервисами, нужно еще организовать взаимодействие между командами, которые разрабатывают микросервисы, и помочь им договориться об интерфейсах взаимодействия, форматах обмена данными и SLA - то есть о контрактах. Тут на помощь приходит подход API First и связанные с ним ограничения, swagger документация и средства валидации формата сообщений, такие как Kafka Schema Registry.

Всего этого можно избежать, если не замахиваться на микросервисы, и продолжать работать с монолитным приложением. Это далеко не всегда выход, но в некоторых случаях можно смасштабироваться просто дублируя production окружение и разделяя данные. Это требует дополнительных усилий, но с точки зрения инфраструктуры, процессов и времени разработки это, как правило, гораздо дешевле, чем распиливать существующий монолит.

Однако, такой подход все равно требует грамотного управления контрактами и взаимодействия между командами, но уже не в рамках взаимодействия микросервисов, а в рамках взаимодействия компонентов внутри монолита.

Участие бесплатное, Регистрация здесь

 

Стоимость участия

Бесплатно

Идут 0

© 2008–2021 ЗАО «Дев Бай Медиа»
Перепечатка материалов dev.by возможна только с письменного разрешения редакции.
При цитировании обязательна прямая гиперссылка на соответствующие материалы. Пишите на [email protected].