Anton Sidorov homepage

Bookmark this to keep an eye on my project updates!

Follow me on GitHub

Паттерны отката изменения rollback

Зачем

  • Возможность автоматизации процесса отката на предыдущую версию на уровне
    • контейнеров
    • бэкапов
    • кода
    • паттернов Deploy

Подходы Deploy

  • Blue Green Deployment - одновременно работает и старая (green), и новая (blue) версия, но весь трафик направляет на новую, а если с ней возникают проблемы – то можно переключиться обратно на первую.

Blue Green Deployment

Плюсы:

  • Downtime сокращается
  • Простота внедрения для stateless ИС (микросервисной архитектуры)
  • Необходимо применение автоматизированных подходов CI-CD и контейнеризации (k8s, ingress controler (Istio))

Минусы:

  • Сложность поддержки на уровне statefull компонентов ИС - БД двух версий (Миграция БД) - поддержка новой, старой версии модели данных, чтения\записи по старой\новой модели данных
    • Рекомендуется разворачивать одну БД с поддержкой двух версий модели данных
    • Возможны задержки на уровне БД при миграции модели БД онлайн - увеличение Downtime
  • Необходимость поддержки на уровне компонентов ИС отката
  • Необходимость поддержки на уровне зависимых API ИС отката
    • Версионирование API для поддержки обратной совместимости
    • Автоматизация разворачивания всех зависимых ИС дает ожидаемое снижение Downtime при обновление\откате

Технологии