Canary Release vs Feature Flags
Это стратегия развертывания, используемая для минимизации рисков.
| Canary Release | Feature Flags | |
|---|---|---|
| Definition | Canary Release — это стратегия развертывания в разработке программного обеспечения, используемая для снижения рисков при внедрении новой версии путем первоначального выпуска ее небольшой группе пользователей. | Feature Flags, также известные как Feature Toggles, — это техника, позволяющая разработчикам включать или отключать определенные функциональности в программном приложении без изменения кодовой базы. |
| Categories | DevOps, deployment, release, risks | A/B Testing, CD, CI, development |
Что такое Canary Release?
Это стратегия развертывания, используемая для минимизации рисков.
Определение
Canary Release — это стратегия развертывания в разработке программного обеспечения, используемая для снижения рисков при внедрении новой версии путем первоначального выпуска ее небольшой группе пользователей.
Происхождение
Название происходит от шахтеров, которые носили с собой в шахты канарейку в клетке. Если в шахту просачивались токсичные газы, канарейка погибала раньше шахтеров.
Мониторинг
Система тщательно мониторится на предмет проблем, и если новая версия работает хорошо, она постепенно выпускается для большего числа пользователей.
Откат
Если обнаруживаются проблемы, выпуск может быть откачен, и старая версия восстановлена для всех пользователей.
Выбор
Используются различные стратегии для выбора пользователей, которые будут подвергнуты новой версии, такие как случайная выборка или выборка на основе демографических данных.
Что такое Feature Flag?
Это техника, позволяющая включать или отключать функциональности.
Определение
Feature Flags, также известные как Feature Toggles, — это техника, позволяющая разработчикам включать или отключать определенные функциональности в программном приложении без изменения кодовой базы.
Реализация
Они могут быть реализованы с использованием булевых значений в конфигурационных файлах, которые условно проверяются для определения, должна ли функциональность быть видимой и активной или нет.
Примеры использования
Используются в подходах непрерывной поставки (CD), выпусках Canary, A/B тестировании и для управления видимостью функциональностей для различных сегментов пользователей.
Преимущества
Feature Flags позволяют безопаснее и эффективнее разрабатывать, давая командам возможность развертывать и тестировать новые функции без воздействия на всю базу пользователей.
Рост
Использование Feature Flags стало более популярным с ростом практик Agile, DevOps и непрерывной поставки в разработке программного обеспечения.
Конфигурация
Они могут быть определены с помощью сервиса вроде Bullet Train или Launch Darkly, созданием пользовательского бэкенд-сервиса или использованием локальных файлов в приложении.