Індекс журналуDockup / польова нотатка
Note / zero-downtime-deployments

Розгортання без простою: повний посібник

Дізнайтеся, як розгортати застосунки без переривання роботи сервісу, використовуючи rolling updates і стратегії blue-green deployment.

Вступ

Розгортання без простою більше не є розкішшю — це необхідність. У сучасному світі, де сервіси мають бути доступними цілодобово, навіть кілька секунд простою можуть призвести до втрати доходу, зіпсованої репутації та невдоволення користувачів.

У Dockup ми побудували всю платформу навколо принципу, що розгортання мають бути непомітними для користувачів. Ось як ми цього досягаємо та як ви можете впровадити подібні стратегії у власній інфраструктурі.

Що таке розгортання без простою?

Розгортання без простою — це практика оновлення застосунків без переривання роботи сервісу. Користувачі й надалі безперешкодно отримують доступ до застосунку, поки розгортаються нові версії.

Основні стратегії

1. Rolling updates

Rolling updates поступово замінюють старі інстанси новими. У будь-який момент часу частина інстансів працює зі старою версією, а інша — з новою.

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

2. Blue-green deployments

Ця стратегія підтримує два ідентичні production-середовища. Після перевірки нової версії трафік перемикається з одного середовища на інше.

3. Canary releases

Canary releases спрямовують невеликий відсоток трафіку на нову версію перед її повним розгортанням.

Health checks мають критичне значення

Без належних health checks ваша стратегія розгортання не спрацює. Dockup автоматично налаштовує:

  • Liveness probes: визначають, чи працює ваш застосунок
  • Readiness probes: визначають, чи готовий ваш застосунок обробляти трафік

Висновок

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