Что такое strangler pattern и чем он полезен при миграции с монолита на микросервисы?

02.04.2024
изображение статьи
Название “удушающий паттерн” происходит от тропической лианы, которая начинает свой рост в верхних ветвях деревьев, постепенно спускается вниз, красиво переплетая ствол дерева, и постепенно убивает его.

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

Традиционный паттерн

Долгие годы компании не имели других возможностей, кроме как использовать метод, так называемого «большого взрыва» (Big bang). При использовании этого метода компании перестраивали всю архитектуру и выпускали ее целиком одним релизом. Таким образом, развитие старой платформы было полностью или частично заморожено до наступления «большого взрыва», который переключал на новую инфраструктуру.

 Среди плюсов Big bang метода можно отметить:

  • отсутствие необходимости взаимодействия с кодом старой системы
  • более четкое понимание даты перехода к новой версии.

Среди недостатков: 

  • необходимость тщательного планирования, что в свою очередь не исключает возможность отката в случае большого количества ошибок
  • высокие затраты на внедрение и длительное время окупаемости.

Удушающий паттерн

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

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

3 этапа миграции с использованием удушающего паттерна

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

Изображение статьи

Удушающий паттерн в действии

 

Чтобы упростить переход от монолита к микросервисам следуйте простым правилам: 

  1. Трансформируйте, создавая новые версий существующих сервисов, таким образом вы всегда сможете протестировать новый функционал по сравнению с текущим легаси-кодом. 

  2. Не спешите устранять устаревший функционал, делайте так чтобы его можно было быстро вернуть если с новым что-то пойдет не так. 

  3. Избавляться от монолита стоит только после полного перехода на микросервисы, когда каждый сервис имеет свое хранилище и CI/CD-процесс.
Изображение статьи

Развертывание микросервисов

 

Почему все больше компаний выбирают удушающий паттерн? 

 

В отличии от традиционного Big bang подхода, удушающий паттерн позволяет осуществить постепенную миграцию компонентов за счет композитной, микросервисной, API-ориентированной природы метода. Поэтапная миграция позволяет там где нужно выпускать MVP компонентов и со временем их совершенствовать, соблюдая цикл проверки гипотез, что безусловно выигрывает по отношению к длительному проекту по замене всего решения. 

 

Существует три основных пути миграции с использованием удушающего паттерна:

 

  1. Если ваши разработчики не имеют опыта в работе с микросервисами или вы хотите протестировать подход, для начала выберите компонент с самым низким уровнем риска.

  2. Решите проблему, такую как сложный каталог продуктов, и переместите его в микросервисы как первый шаг.

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

 

Независимо от того, как вы переходите на Composable Commerce, удушающий паттерн позволяет вам начать работу в вашем собственном темпе, создать свой MVP и протестировать наилучший подход для вашего бизнеса.