# Канареечное развертывание

> For AI agents: the complete glossary index is at [llms.txt](https://glossary.cncf.io/ru/llms.txt).
> Markdown versions of every glossary page are available by appending `index.md` to the page URL.

Стратегия канареечных развертываний _(canary deployments)_ начинается с двух окружений: 
одно из них уже обслуживает пользователей, другое — содержит обновленный код (но пока без трафика).
Трафик постепенно переключается с исходной, старой версии приложения на новую.
Начинают обычно с минимального процента (например, с 1%) и постепенно увеличивают долю трафика, 
которая поступает в новую версию, пока та не достигнет 100%.
Такая стратегия позволяет протестировать новую версию ПО в production, получить обратную связь, 
диагностировать ошибки и при необходимости быстро откатиться к старой стабильной версии.

Сам термин происходит от старой практики, когда канарейки помогали выявлять опасные газы в шахтах.
Если в шахте были вредные газы, не имеющие запаха, птица погибала, и шахтеры понимали, что необходимо срочно эвакуироваться.
То же самое справедливо и для канареечных развертываний: если окажется, что с новым кодом что-то не так, 
можно сразу откатиться на старую версию.

## Какую проблему решает

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

## Как именно решает проблему

Канареечные развертывания позволяют увидеть, как новое программное обеспечение поведет себя в реальных условиях, 
прежде чем направлять на него весь трафик.
Такая стратегия помогает минимизировать время простоя и быстро откатиться назад в случае возникновения проблем с новым развертыванием.
Также она позволяет проводить более глубокое тестирование production-приложений, не оказывая существенного влияния на пользовательский опыт.

---

- Canonical URL: https://glossary.cncf.io/ru/canary-deployment/
- Status: Completed
- Последнее изменение October 27, 2023: ` [ru] Localize canary-deployment.md ` ([4b46d1b](https://github.com/cncf/glossary/commit/4b46d1bbc057ef624222f94b8a7808ff4411e674))
- Source: https://github.com/cncf/glossary/blob/main/content/ru/canary-deployment.md
- License: [CC BY 4.0](https://creativecommons.org/licenses/by/4.0/)
