Канареечное развертывание это процесс, когда релиз растягивается по времени, изменения становятся доступными лишь для небольшой доли пользователей, плавно увеличивая их количество и делая пользователей тестировщиками системы в боевой среде.
Проследив их поведение и метрики использования, сняв определенные параметры мониторинга, можно определить успешен ли релиз, не несет ли он новые ошибки и проблемы. После этого можно будет постепенно сделать доступным обновление для остальных пользователей.
Если по метрикам видны критичные ошибки, то новая версия откатывается и ранние пользователи новой версии переключаются обратно на основную (старую) версию.
Метрики определяет команда разработчиков и поддержки, например: процент ошибочных запросов (ошибки 4xx, 5xx), процент ошибок в логах, время обработки запросов и т. п. В случае срабатывания негативных метрик и отката нового релиза происходит поиск причины ошибок, исправление в коде, выпуск баг-фикса.
Цель канареечного развертывания — чтобы команда не была привязана по времени к релизам, к техническому окну. Это позволяет быстрее выкатывать задачи, отделять критичные задачи для бизнеса от других. За счет этого релизы становятся меньше по объему, а time to market ниже.