Блоги

DevOps на Openshift: A/B и Blue/Green. Заключение.

Различные стратегии разворачивания приложений и возможность варьирования ими является основополагающей характеристикой платформы DevOps. К базовым способам можно отнести:

  • Recreate - полная остановка текущей работающей версии приложения и запуск новой версии. Этот способ будет полезен, когда нужно мигрировать данные или есть запрет на одновременную работу двух версий одного приложения.
  • Rolling - при выборе этой стратегии DevOps платформа дожидается старта новой версии приложения и только после этого завершает работу старой.

Если вести речь о продвинутых стратегиях, то к ним относятся:

  • A/B - данная стратегия даёт возможность проверить работоспособность новой версии приложения на ограниченном числе пользователей. Обычно это делается при помощи правил распределения трафика - например 10% пользователей, проходя по одному и тому же адресу в браузере, попадают на новую версию приложения.
  • Blue/Green - используется для возможности быстрого отката к старой версии приложения. В рамках DevOps платформы этого можно достичь перенаправлением трафика.

В рамках тестового проекта были реализованы обе продвинутые стратегии. Для наглядности демонстрации эти стратегии разнесены по проектам - в конце pipeline происходит деплой в оба проекта. На снимках снизу показаны результаты работы:

Рис. 1 A/B деплой. 2 версии приложения.

Рис. 2 A/B деплой. Распределение трафика.

Рис. 3 Blue/Green деплой. 2 версии приложения. Трафик распределяется только на одну.

В качестве итога этого цикла статей можно сказать, что Openshift является полноценным инструментом DevOps, который способен решать самые серьёзные задачи обеспечения жизнедеятельности приложений. Если добавить к этому ролевую модель и модель безопасности, то мы получаем мощнейший инструмент для работы. 

18.12.2018