Что такое blue-green deployment?
Этот вопрос проверяет знание blue-green deployment, метода развертывания, который снижает время простоя и риски.
Короткий ответ
Blue-green deployment — это стратегия развертывания, при которой две среды (синяя и зелёная) работают параллельно. Новая версия приложения разворачивается в зелёной среде, тестируется, а затем весь трафик переключается на неё, превращая её в новую продакшн-среду.
Длинный ответ
Blue-green deployment помогает минимизировать простои и риски при развертывании:
- Blue (Синяя среда) — текущая продакшн-версия приложения.
- Green (Зелёная среда) — новая версия, развёрнутая параллельно.
- Переключение трафика — после тестирования трафик направляется на зелёную среду.
- Откат (Rollback) — если в новой версии обнаружены ошибки, можно быстро вернуться к синей среде.
Пример переключения трафика в Kubernetes:
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: my-app
spec:
rules:
- host: myapp.com
http:
paths:
- path: /
backend:
service:
name: my-app-green
port:
number: 80
Blue-green deployment позволяет безопасно развертывать новые версии без простоя для пользователей.