Сине-зеленое развертывание

Сине-зеленое развертывание — стратегия обновления работающих компьютерных систем с минимальным временем простоя. Оператор использует два окружения: «синее» и «зеленое». Одно из них обслуживает production-трафик (в нем работает текущая версия, с которой взаимодействуют пользователи), а другое в это время обновляется. После успешного завершения тестирования «зеленого» окружения (с новой версией) production-трафик переключается на него (часто с помощью балансировщика нагрузки). Отметим, что в этой стратегии окружения обычно переключаются сразу со всеми сервисами. Однако иногда этот термин используется по отношению к отдельным сервисам в системе. Чтобы избежать подобной двусмысленности, для отдельных компонентов предпочтительно использовать термин «развертывание с нулевым временем простоя» (zero-downtime deployment).

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

Сине-зеленые развертывания позволяют свести к минимуму время простоя при обновлении программного обеспечения, разные версии которого несовместимы (т. е. когда приходится обновлять сразу все компоненты). Например, сине-зеленое развертывание отлично подойдет для интернет-магазина, состоящего из сайта и базы данных. Предположим, что базу даных необходимо обновить, однако ее новая версия несовместима со старой версией сайта, и наоборот. В этом случае необходимо сразу обновить и сайт, и базу данных. Если это делать на живой production-системе, клиенты заметят перебои в работе.

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

Сине-зеленое развертывание — подходящая стратегия для ненативного облачного ПО, которое необходимо обновлять с минимальным временем простоя. Необходимость в этой стратегии обычно намекает на то, что программное обеспечение нуждается в перепроектировании, в результате которого его компоненты можно было бы обновлять по отдельности.


Последнее изменение October 27, 2023: [ru] Localize blue-green-deployment.md (cd798e3)