Прогрессивное развёртывание

Проблематика

В крупные проекты вносится много (больше 10) изменений в день.

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

Метрики

Как видно из постановки проблемы, успешность зависит от нескольких факторов:

  • длительность принятия решения;
  • вероятность принятия неправильного решения;
  • количество изменений в единицу времени.

Выводы делаются на основе собираемых данных с сервисов (в идеале технических и бизнес-метрик).

Реализация

Пример в istio https://docs.flagger.app/usage/progressive-delivery