Нужно ли использовать канареечные релизы для бизнес-логики?

Канареечные релизы позволяют поэтапно внедрять изменения, снижая риски от ошибок, особенно при выпуске новых версий BPMN-схем в Camunda. Для этого применяется тег версии, позволяющий отделить стабильную схему от разрабатываемой. Запуск процессов может быть направлен на новую или стабильную версию, в зависимости от флага для конкретного пользователя.
Нужно ли использовать канареечные релизы для бизнес-логики?
Изображение носит иллюстративный характер

Для распределения пользователей можно использовать Togglz, который дает возможность через админку включать/выключать фичи, устанавливать процент пользователей. Togglz использует ID пользователя или логин для определения группы тестирования. Если Togglz не подходит, можно реализовать функцию распределения пользователей самостоятельно.

Однако, не все изменения бизнес-логики можно безопасно выкатить на часть пользователей. В таких случаях, раскатка на 10% может привести к неконсистентности данных. Тем не менее, есть ситуации, где канареечные релизы уместны, например, при добавлении новых уведомлений.

Канареечные релизы не универсальны, их применение зависит от специфики проекта и его функциональности. Подход неудобен при частых изменениях нескольких больших схем разными разработчиками. В случае небольших фич, проще использовать if-else разветвления.


Новое на сайте