Pull to refresh
0
Jelastic
Jelastic DevOps PaaS для хостеров и ISV

Jelastic — easy and fast swap domains between environments

Reading time2 min
Views945
Jelastic Easy To ManageПри обновлении приложения до более новой версии необходимо максимально быстро с минимальными задержками и потерями запросов произвести переключение потока пользователей на новую версию. Для решения этой проблемы в разных проектах используются разные подходы. Одним из таких подходов является смена привязки главного домена к окружению с более новой версией приложения.
Как происходит процесс обновления в таком случае? Очень просо — вы настраиваете полноценную работу новой версии приложения в отдельном окружении, а потом производите смену привязки домена к другому IP, или проще говоря переключаете поток пользователей на обновленное окружение. Конечно в этом случае будут возникать
проблемы с кешем DNS серверов. Давайте проанализируем что предлагает Jelastic (Java Elastic Cloud Platform) для решения задачи обновления приложений и как обойти проблему DNS кеша.

Ниже представлена пошаговая инструкция решения подобной задачи с помощью Jelastic.

Первым делом создадим окружение. Назовем его prod-v1. В нашем случае это будет окружение с сервером GlassFish 3.1. Создадим простой проект HelloWorld.war. Загрузим его в Менеджер Деплоя и сделаем деплой этого приложения в наше окружение.

Jelastic Production V1

Привяжем к нашему приложению внешний домен. Для примера предположим, что я купил extdomain.org. с привязкой к домену prod-v1.jelastic.com

Теперь припаркуем домен в окружении.

Jelastic Bind Ext Domain

Проверяем привязку домена к окружению

Jelastic Open in Browser V1

Все прошло удачно.
Мы проделали стандартные операции для привязки внешнего домена к приложению.

Далее начинается самое интересное.
Внесем изменения в наше приложение, создадим его более новую обновленную версию.
Загрузим его в менеджер деплоя. Сделаем клон текущего окружения целиком и назовем его prod-v2.

Jelastic Clone Environment

Задеплоим новую версию нашего приложения в только что склонированное окружение

Jelastic Deploy App V2

Проверяем его работоспособность и если все ок, можем приступать к смене основной продуктивной версии. Для этого открываем панель настоек окружения и выбираем в области Swap Domains окружение для смены внешнего домена. В нашем случае это prod-v1

Jelastic Swap Domains

Смена домена происходит практически моментально и одновременно для всех пользователей.

Jelastic Updated App V2

Проблема с кешем DNS в данном случае отсутствует, т.к. используется внутренний резолвер доменов, который обновляется моментально.
Для экономии ресурсов можно выключить предыдущее окружение или просто удалить его.

Планы на дальнейшее развитие этой функциональности


Далее планируется реализовать постепенное (плавное) введение в строй нового приложения. А именно, балансируя запросы между двумя окружениями, постепенно увеличивая поток пользователей на новое окружение, при этом уменьшая поток на старое, в итоге сведя его полностью к нулю. После чего можно будет «потушить» предыдущее окружение.

P.S.: Завтра планируется выпустить очередное обновление Jelastic, в котором
— поддержка JEE6 на базе GlassFish 3.1.1 (теперь GF будет доступен всем желающим)
— значительно улучшенный менеджер логов
— обновление PostgreSQL до версии 8.4
Возможна временная недоступность панели управления окружениями. Однако, это не касается ваших приложений. Все развернутые приложения будут работать без перебоев.

В скором времени мы выложим очередной апдейт документации и видео.
Оперативно отслеживать наши новости можно в твитере и на странице фейсбука.
Tags:
Hubs:
+20
Comments12

Articles

Change theme settings

Information

Website
jelastic.com
Registered
Founded
Employees
Unknown
Location
США