Pull to refresh
0
Microsoft
Microsoft — мировой лидер в области ПО и ИТ-услуг

Как Jelastic разместили свою платформу на Microsoft Azure

Reading time 4 min
Views 3.7K

Мы продолжаем рассказывать о компаниях-разработчиках решений (ISV), использующих облако Microsoft Azure. В этом выпуске мы представляем историю о том, как это делает компания Jelastic, разрабатывающая DevOps PaaS с поддержкой продвинутой оркестрации Docker-контейнеров. Рассказывает Дмитрий Лазаренко, директор по бизнес-развитию Jelastic.




Добрый день!

Jelastic – это универсальная облачная платформа, совмещающая в себе возможность использования PaaS (платформы как сервиса) и IaaS (инфраструктуры как сервиса). С помощью Jelastic можно значительно упростить разработку облачных сервисов, настроив себе за несколько минут окружение на Java, Ruby, Python, PHP и/или Node.JS и разместив в этой среде проект, используя плагины для Eclipse, NetBeans или IDEA. В прошлом году, на флагманской конференции Microsoft /build, была анонсирована поддержка Jelastic PaaS на платформенных ресурсах Microsoft Azure. О том, как это было, к чему привело и как все работает с техническо-технологической стороны, читайте под катом.

На данный момент «сцепка» Jelastic и Azure со стороны технологических решений выглядит следующим образом – платформа взаимодействует с Azure двумя способами:
  • Ее можно установить целиком в Azure IaaS и получить собственное частное облако. При этом мы задействуем виртуальные машины, виртуальные сети и высокопроизводительные системы хранения данных Azure.
  • Вычислительные ресурсы из разных регионов Azure можно подключить в частное облако Jelastic, развернутое в собственном ЦОД, и тем самым, получить гибридное облако. Этот сценарий востребован, когда клиентам недостаточно собственных вычислительных ресурсов и добавление дополнительных постоянных мощностей в свой ЦОД нецелесообразно из-за переменчивого профиля нагрузки. Например, предновогодняя распродажа или «Хабраэффект», который длится всего несколько дней, а потом спадает. В этом случае мы подключаем новые виртуальные машины из Azure динамически и используем их для масштабирования приложений. Благодаря использованию контейнерной технологии виртуализации, Jelastic может мигрировать приложения между частным облаком и регионами Azure в «живом» режиме без остановки работы приложения. Подобная технология значительно упрощает процесс переноса приложений между ЦОД, делая его абсолютно прозрачным и безопасным.

Оба вышеперечисленных решения можно установить в автоматическом режиме из Azure Marketplace – магазина партнерских решений, доступного пользователям Microsoft Azure.

История с автомасштабированием в публичное облако Azure также очень актуальна среди крупных клиентов. Облако Azure, доступное в большом количестве стран мира позволяет выделять нужные ресурсы как можно ближе к частному ЦОДу клиентов и, тем самым, минимизировать сетевые задержки и время, затрачиваемое на передачу данных. Кроме того, мы интегрировали Azure Traffic Manager для возможности организации высокодоступной гео-балансировки.

Посмотрим теперь на техническую составляющую. Архитектура нашего решения выглядит следующим образом — Jelastic включат в себя набор управляющих сервисов, написанных на Java. Эти сервисы включают в себя: оркестратор, систему безопасности, систему сбора метрик, биллинг, управление пулом шаблонов и т.д. Еще присутствует распределенная точка входа, состоящая из обратного прокси-сервера Nginx и сервера доменных имен Bind. HTTP или TCP-запросы к приложениям конечных пользователей проходят через эту точку входа и распределяются на конкретные приложения.



Пользователи Jelastic обычно создают окружения с архитектурой, похожей на следующую:
  • 2 Nginx сервера для балансировки нагрузки
  • 2-4 Java-сервера приложений (Glassfish/Tomcat/Jboss) с репликацией данных http-сессий
  • SQL СУБД с репликацией (PostgreSQL, MariaDB, Percona)
  • NoSQL СУБД с репликацией (MongoDB, Redis, Cassandra, Neo4j)



В процессе развертывания, несмотря на то, что в целом развертывание проходило без особых проблем, нам пришлось кое в чем адаптировать устоявшуюся архитектуру приложения к специфике Azure, которыми мы хотели бы поделиться. На первых порах возникло несколько проблем:
  1. Низкая производительность Azure Premium Storage в Linux. Оказалось, что это было следствием некорректного размера блока файловой системы, который применялся по умолчанию. После того как мы сменили размер блока с 63 на 4096, производительность дисковой подсистемы Azure Premium Storage выросла на несколько порядков.
  2. Сильная фильтрация сетевых пакетов в виртуальных сетях. Данная проблема для нас актуальна, т.к. мы используем виртуальные контейнеры, распределенные по нескольким виртуальным машинам Azure, и фактически Jelastic самостоятельно управляет внутренней сетью контейнеров. Проблема решилась благодаря созданию оверлейной сети, которая работает по нашим правилам.
  3. Ограничения по количеству внешних IP-адресов, которые могут быть назначены на одну виртуальную машину. На данный момент для одной VM можно задать не более 2х внешних IP-адресов. Т.к. в одной Azure VM может работать несколько виртуальных контейнеров, то им могло потребоваться более 3х IP-адресов. Проблема решилась путем применения зарезервированных IP (Reserved IP).

Взаимодействием с Microsoft Azure и предоставлением нашей платформы через Azure Marketplace мы преследуем несколько целей:
  • Увеличение количества крупных клиентов, которым интересен PaaS для Java и других Open Source технологий поверх Microsoft Azure
  • Запуск совместных продаж Jelastic и Microsoft корпоративным заказчикам, включая международный рынок

На данный момент уже есть несколько прекрасных результатов:
  • Нашим решением на Azure заинтересовались несколько международных компаний
  • Наше решение получило продвижение в рамках программы поддержки стартапов Go-to-Market accelerator. В частности, эта программа включала продвижение через блог и Twitter Microsoft, историю успеха на ресурсе Microsoft и грант на рекламную кампанию. Нашим решением на базе Azure заинтересовалась одна крупная нефтегазовая компания в Латинской Америке. Этому предшествовало много совместной работы с Microsoft в Бразилии.

В использовании Azure есть позитивные моменты, так как платформа дала нам возможность значительно упростить и ускорить установку Jelastic для конечного пользователя. Раньше этот процесс занимал несколько дней и требовал привлечения наших инженеров развертывания. Сейчас, с помощью Azure Marketplace клиент может самостоятельно развернуть изолированный кластер Jelastic и на это уйдет всего полчаса. Если же говорить о том, как мы это делали, как переезжали, то, как такового, перехода и не было: с помощью Azure и Azure Marketplace мы упростили и ускорили установку продукта, оставив при этом альтернативные варианты. На работы по созданию решения для Azure Marketplace ушло порядка полутора месяцев работы наших разработчиков и инженеров развертывания, но эти затраты окупились спустя 3-4 месяца.

Подробное руководство о том, как использовать Jelastic на Azure, доступно на сайте Jelastic.
Tags:
Hubs:
+12
Comments 0
Comments Leave a comment

Articles

Information

Website
www.microsoft.com
Registered
Founded
Employees
Unknown
Location
США