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