Автоматическая миграция контейнеров в ЦОДах: интеграция Microsoft Azure и AWS

Мы продолжаем рассказывать о компаниях-разработчиках решений (ISV), использующих облако Microsoft Azure. В этом выпуске мы продолжим рассказ про платформу компании Jelastic темой автоматической миграции контейнеров между ЦОДами. Предыдущие статьи цикла вы всегда можете найти по ссылке #isvcloudstory. — Владимир Юнев

463b2ae32b1542688432e1674d5dda6f.pngУмное управление Jelastic позволяет унифицировать и агрегировать различные комплекты оборудования от разных ЦОДов в рамках единой установки облачной платформы. Такие ДЦ, представленные в виде отдельных регионов окружений, могут быть выбраны в качестве местоположения для окружающей среды при его создании.

Такой подход позволяет создавать сложные и многофункциональные объединения облачных сервисов, где основными получаемыми выгодами являются:

Автономия — вы избавитесь от необходимости обслуживания у одного лишь поставщика и повысите эффективность использования ЦОДов, обеспечивая низкую задержка в обработке данных для конечных клиентов через обширную сеть гео-распределения;

Гибридность — унификация частных и общедоступных облаков обеспечивает эффективность нагрузок, позволяя получить более высокую производительность с меньшими затратами;

HA и DR — приобретение повышенной отказоустойчивости и исключение рисков, связанных с простоем сервисов.
Мы уже рассмотрели некоторые примеры использования таких возможностей, как обеспечение мультиаппаратной целостности, например, через настройки DNS по алгоритму Round Robin для балансировки нагрузки между несколькими центрами обработки данных. И для того, чтобы получить еще больше возможностей, которые может дать автоматическая миграция, она обеспечивает возможность легко перемещать окружения (группы контейнеров) от одного ДЦ к другому. В связи с постоянной необходимостью обслуживания приложений на базе контейнеров, эта задача становится намного проще и помогает ускорить принятие Мульти-облаков, делая многочисленные существующие сценарии обеспечения высокой доступности и аварийного восстановления доступными.

Специфика автоматической миграции


Для обеспечения плавного и гладкого взаимодействия облачных регионов, процессы миграции между ними должны свести на нет простои приложений и не требуют настройки позднее. Автоматическая миграция — это вариант, который идеально подходит для этой цели.

В Jelastic, это реализуется с помощью CRIU (Чекпоинт/Восстановление в пользовательском пространстве), как часть заёмного контейнера на основе технологии виртуализации OpenVZ и P.Haul — специально разработанный на базе Python механизм во главе CRIU, предназначенный для динамической миграции контейнеров и процессами обработки памяти внутри.

9de3620d90c14e1eb29dd6dbf65926cd.png


Это позволяет заморозить запущенное окружение и сохранить данные, с которыми оно работает в настоящее время с жёсткого диска (т. е. сделать чекпойнт). В результате, приложения могут быть легко перенесены в разные места, где они будут восстановлены в состоянии, в котором они был заморожены и продолжать работать как и раньше. При этом, такое перемещение занимает в среднем 10–15 секунд, во время которых все входящие запросы помещаются в очередь, поэтому пользователи могут только испытать краткие разовые задержки в ответе от сервера. Если вы добавите расширенную балансировку трафика, то вы сможете перенести большое количество контейнеров без переразвёртывания и простоев.

Big Data: Автоматическая миграция контейнеров не рекомендуется для работы с Big Data. Однако, с программной СХД, можно автоматизировать даже миграцию Big Data.

В сочетании с подходом построения кластера из нескольких комплектов оборудования, данная технология становится особенно эффективной. Чтобы доказать это, рассмотрим пару реальных случаев (например, автоматическая миграция в масштабах дата-центров таких конкурентных поставщиков, как Microsoft Azure и Amazon Web Services.

84e0a53c4a1949c09248f04fcfc2b81d.gif


Уже интересно? Только представьте себе разнообразные возможности, такие как внедрение «умного» управления проектами и получения дополнительной надежности, которые становятся доступными с многочисленными возможными сценариями DevOps. Итак, давайте пойдем дальше и узнаем, как вы можете получить пользу при такой интеграции!

Вариант № 1: повышение потенциала кластера без простоя

Для начала, давайте посмотрим, как возможности автоматической миграции могут дополнить решения, предлагаемые по умолчанию в Azure и AWS. Модель, которую предоставляют эти поставщики услуг — основана на использовании виртуальных машин с заданным количеством выделенных ресурсов, без возможности изменения установленных ограничений «на лету». Таким образом, если ресурсы вашей виртуальной машины внезапно кончились (скажем, недостаточно оперативной памяти или места на диске), все соответствующие приложения должны быть закрыты на время настройки виртуальной машины и повторного запуска.

8c501be20baa4c20b33b8fe0b8d54843.gif


Но с поддержкой динамической миграции, весь процесс становится более гладким и безболезненным. Так что, нет больше блокировки ресурсов запущенных приложений — просто мигрировать в виртуальную машину, которой доступно больше ресурсов, при достижении или приближении к опасной черте для использования всех нод в кластере — более эффективный способ.

Совет: с контейнерами Jelastic, вы можете настроить постоянное отслеживание поступающей нагрузки для необходимого вертикального и горизонтального масштабирования, которое будет выполняться автоматически, без каких-либо необходимых ручных регулировок.

Вариант #2: перемещение приложений между облаками

Еще один хороший пример — миграция между регионами различных поставщиков облачных инфраструктур. Это позволяет добиться высокой доступности в различных типах облаков и обеспечивает аварийное восстановление через объединение развертывания рабочих нагрузок DevOps. Например, вы можете мгновенно справляетесь с любыми проблемами производительности, такими как профилактические работы в вашем текущем регионе или временное увеличение нагрузки, через простой перенос всех ваших контейнеров в другой ДЦ.

84076118eec74f0ab4069425fac45477.gif


Еще одним преимуществом является возможность перемещать приложения согласно текущим бизнес-требованиям и, таким образом, получать наиболее достаточно соотношение качество/цена/SLA — например, менее производительный регион может быть использован в качестве частного облака для разработки/тестирования, в то время как другой публичный регион обеспечивает достаточную мощность для production«a. Плавный переход обеспечивает возможность выполнения всех этих изменений можно выполнить, не размышляя о возможных простоях и потерях прибыли.

Как это работает?


Наконец, давайте посмотрим, как описанные выше процессы осуществляются в действии на примере реальных кейсов.

Первый из них посвящён Minecraft — это чрезвычайно популярный строительный симулятор в 3D-текстурах. В коротком видео ниже показано, как данные симулятора, полностью с сохранением состояния приложения, могут быть перенесены в другой ДЦ без единого разрыва подключения, так что игроки могут продолжать крафтить в их мирах даже в период миграции:

Кроме того, вы можете легко запустить свой собственный сервер Minecraft в облаке Jelastic, просто развернув соотвествующие настройки образа Docker в окружении — следуйте инструкциям из статьи Adding Docker Container to Jelastic Environment для достижения этой цели.

И вот ещё один пример, с SeisComP — приложение для отслеживания состояний для геологов и геофизиков, которое собирает сейсмологические данные в определённых местах, следит за ситуацией с землетрясениями. На его основе и построены графики для интерактивного анализа в режиме реального времени.

Как видите, процесс автоматической миграции не влияет на работу ни в окружении, ни внутри приложения, обеспечивая его стабильную работоспособность.

Вот и всё на сегодня, но в скором времени мы рассмотрим ещё несколько интересных решений автоматической миграции между регионами, которые могут вам пригодиться — в частности, как она может применяться в приложениях с внешним IP-адресом. Так что, подписывайтесь на наш блог и следите за обновлениями для получения серии дополнительных инструкций, в то время как рассматривается вопрос о предоставлениии бесплатной демо-версии программного обеспечения облачной платформы, и получите возможность для реализации описанных сценариев для ваших собственных проектов!

Azure Marketplace


Пользователи Azure могут получить быстрой доступ к платформе Jelastic через удобный Azure Marketplace. Начните работать с Jelastic уже сегодня!

© Habrahabr.ru