Индекс журналаDockup / заметка с места
Note / zero-downtime-deployments

Деплой без простоя: полное руководство

Узнайте, как деплоить приложения без прерывания работы сервиса с помощью rolling updates и стратегий blue-green deployment.

Введение

Деплой без простоя больше не роскошь — это необходимость. В современном мире, где сервисы должны быть доступны постоянно, даже несколько секунд простоя могут привести к потере дохода, ущербу для репутации и недовольству пользователей.

В Dockup вся наша платформа построена вокруг принципа, согласно которому деплой должен быть незаметен для пользователей. Вот как мы этого добиваемся и как вы можете реализовать похожие стратегии в собственной инфраструктуре.

Что такое деплой без простоя?

Деплой без простоя — это обновление приложений без прерывания работы сервиса. Пользователи продолжают беспрепятственно пользоваться приложением, пока выполняется rollout новых версий.

Основные стратегии

1. Rolling updates

Rolling updates постепенно заменяют старые инстансы новыми. В каждый момент времени часть инстансов работает со старой версией, а остальные — с новой.

# dockup.yaml
deploy:
  strategy: rolling
  maxSurge: 25%
  maxUnavailable: 0

2. Blue-green deployments

Эта стратегия поддерживает две идентичные production-среды. После проверки новой версии трафик переключается с одной среды на другую.

3. Canary releases

Canary releases направляют небольшой процент трафика на новую версию перед полным rollout.

Health checks критически важны

Без корректных health checks стратегия деплоя не сработает. Dockup автоматически настраивает:

  • Liveness probes: определяют, работает ли ваше приложение
  • Readiness probes: определяют, готово ли ваше приложение обрабатывать трафик

Заключение

Деплой без простоя возможен при использовании правильных инструментов и стратегий. Dockup автоматически берет все эти задачи на себя, чтобы вы могли сосредоточиться на разработке функций, а не на управлении инфраструктурой.