Розгортання без простою: повний посібник
Дізнайтеся, як розгортати застосунки без переривання роботи сервісу, використовуючи 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 автоматично виконує всю цю роботу, тож ви можете зосередитися на розробці функцій, а не на керуванні інфраструктурою.
