Темное (скрытое) развертывание (Dark Deployment) — это стратегия развертывания, при которой новая версия приложения развертывается параллельно с текущей рабочей версией, но трафик на новую версию не направляется. Она остается "невидимой" для конечных пользователей. Это позволяет протестировать новую версию в реальной инфраструктуре под реалистичной нагрузкой без риска влияния на пользователей.
A/B-развертывание - это стратегия, при которой часть трафика направляется на новую версию приложения (B), а оставшаяся часть - на старую версию (A). Это позволяет сравнить производительность и стабильность новой версии с текущей на реальных пользователях или их сегменте. Если новая версия показывает лучшие результаты или соответствует ожиданиям, трафик постепенно переключается на нее.
Различия:
| Характеристика | Темное развертывание | A/B-развертывание |
|---|---|---|
| Цель | Тестирование в реальной среде | Сравнение версий, постепенный переход |
| Трафик на новую версию | Нет (или минимальный для внутреннего тестирования) | Часть трафика |
| Пользовательский опыт | Не затрагивается | Может отличаться для пользователей сегмента B |
| Риск для пользователей | Низкий | Есть, но контролируемый |
Пример темного развертывания:
Развертывание новой версии API без изменения настроек балансировщика нагрузки, чтобы проверить ее работоспособность под нагрузкой, направляя на нее тестовый трафик или используя метрики.
Пример A/B-развертывания:
Настройка балансировщика нагрузки или шлюза API для направления 10% пользователей на новую версию сервиса, а 90% - на старую, для измерения времени ответа или уровня ошибок.
Обе стратегии являются частью практик непрерывной поставки (Continuous Delivery) и сине-зеленого развертывания, позволяя снизить риски при выпуске новых версий.