Azure Pack в Облакотеке: зачем и как мы это сделали

В феврале 2015 года мы запустили новую IaaS-платформу AzuRus, предназначенную для размещения IT-инфраструктур с интерфейсом управления «как в Microsoft Azure».В этой статье мы хотим поделиться опытом внедрения и эксплуатации платформы Azurus с интерфейсом управления Azure Pack.

Почему Azure PackТрадиционно основой IaaS-платформы Облакотеки является стек продуктов Microsoft: виртуализация Hyper-V и весь необходимый «обвес» на Microsoft System Center. В качестве провиженинговой системы мы использовали некоторую собственную разработку, на развитие которой уходило много сил. Мы следили за развитием Azure Pack с момента его появления и динамика его развития впечатляла. Второй причиной внедрения Azure Pack является то, что многие специалисты и разработчики имеют опыт работы с интерфейсом портала управления Microsoft Azure что, конечно, существенно упрощает для них использование сервисов Облакотеки. Появление программы COSN Russia и перенос даты вступления в силу 242-ФЗ на 1 сентября 2015, что активизировало миграцию в РФ с зарубежных хостингов, ускорило принятие решения о необходимости внедрения Azure Pack.Функционал Azure Pack Функционально Azure Pack очень неплохо решает основные задачи Облакотеки — развертывание и сопровождение (элементов) IT-инфраструктур предприятий, то есть современная IaaS-платформа с максимальным самообслуживанием. Azure Pack дает действительно хороший баланс между простотой развертывания IT-инфраструктур, удобными доступным из любого браузера веб-интерфейсом управления Azure, возможностью создания виртуальных сетей и построением Site-to-Site VPN-соединений, а также возможностью делегирования технических функций управления путем добавление со-администраторов к управлению виртуальными ресурсами. Специальный функционал даёт возможность партнёрам управлять всеми ресурсами облака из единого интерфейса управления.Кроме того, для данной платформы характерна надежность, быстродействие и Azure Pack позволяет провести мероприятия на соответствие требованиям закона по защите персональных данных.Сразу нужно сказать, что еще на стадии планирования возникло очень много вопросов –, а как интегрировать, как правильнее использовать, что учесть и как решать возможные сложности интеграции продукта со своей инфраструктурой. Мы обратились за помощью в Microsoft — и на всех этапах внедрения значительную помощь нам оказали именно специалисты Microsoft Consulting. Совместно с ними были проработаны как основные архитектурные моменты, так и важные технические детали.

Как именно совместно с командой Microsoft Consulting всё это удалось завернуть в единое решение, речь пойдет дальше.

Развёртывание и интеграция Всё развёртывание сначала выполнялось в «песочнице», где мы изучили все возможности, плюсы и минусы Azure Pack и сделали интеграцию. Принципиально особых сложностей с развертыванием решения не возникло. Весь набор нужных служб развертывается достаточно быстро и без проблем. Основной задачей было решить вопрос с учетом ресурсов и биллингом.Следует сказать, что для биллинга и учета ресурсов и финансов у нас существует панель управления собственной разработки, и необходимо было связать два разных инструмента управления.

Здесь пришлось учитывать некоторые особенности:

Во-первых, сам Azure Pack не создает никаких облаков (подписок) и не может удалять ни сами облака, ни ресурсы внутри них. Все привязывается к уже созданным ресурсам в VMM.Поэтому этот момент пришлось учитывать при интеграции с панелью управления — облака создаются именно из нашей панели, и затем «подвязываются» в интерфейс Azure Pack.

Во-вторых, полная и достаточная документация по решению отсутствует, особенно в части автоматизации. В итоге для интеграции с биллингом и панелью управления мы решили не использовать API, и используем powershell-скрипты, которые позволяют выполнить создание ресурсов и управление ими.

В-третьих, для работы с библиотекой штатный функционал в Azure Pack отсутствует.Поэтому мы реализовали возможность использования собственной библиотеки так: в рамках тарифных планов создается FTP-доступ к собственной изолированной библиотеке, которая используется потом учетной записью пользователя Azure Pack. Таким образом предоставляется возможность загрузить свои образы или шаблоны и затем использовать их.

Для интеграции с интерфейсом управления Azure Pack был разработан собственный Web-сервис, связывающий три элемента — нашу панель, Azure Pack и VMM.Так на выходе нашей панели управления получается облако (подписка), а дальнейшее управление ресурсами внутри подписки передается интерфейсу Azure Pack. Кстати, в итоге мы пришли к концепции «одно облако = один план = одна подписка». Это позволяет нам вести учет и ограничивать набор ресурсов, предоставляемых в использование конечным клиентам.

ffc50a42ec5f4b06ad81b986d28bc13d.png

Технические детали Из технических особенностей нужно отметить следующее: Azure Pack не умеет создавать виртуальные сети на основе VLAN и нормально работает только с виртуальными сетями HVGRE, поэтому для развёртывания нам пришлось настроить виртуализацию сетей (с логическими сетями и шлюзами) и перенастроить VMM на работу с ними. Быстрое развертывание Azure Pack может быть выполнено на одном сервере, но мы предпочли разнести роли по разным серверам с целью дальнейших возможностей масштабирования. Получилось так: 179532a30ee14625b0b6be53d4c7ea10.png

И еще одна особенность: уже в ходе полноценной эксплуатации выяснилось, что присутствует ограничение на количество выводимых объектов в интерфейсе Azure Pack. SPF ограничивает количество выводимых объектов до 500, а поскольку Azure Pack работает с облаками через SPF, часть объектов просто не отображалась.Мы столкнулись с этим в административном интерфейсе управления, в документации информации нет, но в итоге проблема исправляется изменением параметра в двух конфигурационных файлах Web.config в строчке »/>» Функционал для партнеров Облакотека — это прежде всего платформа для партнёров: интеграторов и аутсорсеров, которые обслуживают десятки IT-инфраструктур конечных клиентов. Нам всегда очень важно добавить элементы массового обслуживания, чтобы партнер в идеале мог обслужить «всех клиентов одним кликом». Azure Pack идеально для этого подходит. Назначая одного и того же администратора или со-администратора на клиентское облако (подписку), портал управления Azure Pack позволяет партнеру-администратору видеть все сервисы всех клиентов в едином списке и, соответственно, проводить манипуляции без постоянной переавторизации.С чем ещё нам пришлось столкнуться В Azure Pack есть небольшой набор ограничений, с которыми нам пришлось столкнуться и искать пути обойти их. Хочется их отметить: Фиксированные конфигурации виртуальных машин — поскольку развёртывание виртуальных машин осуществляется только из шаблонов, гибкость определяется только тем набором конфигураций, которые определены как профили оборудования для виртуальных машин. Функционала «собери свою виртуалку», к сожалению, нет. В связи с этим количество шаблонов, выдаваемых в список, равно декартову произведению наборов параметров: vCPU, RAM, тип хранилища, ОС, то есть если делать относительно гибко, то несколько сот. Конечно, мы отсекли многие ветки, но все равно пришлось подготовить и поддерживать большой набор более-менее типовых конфигураций, чтобы удовлетворить наиболее часто встречающиеся потребности клиентов. И мы держим открытым этот набор, то есть расширяем по запросам конечных клиентов. Не работают снепшоты (они в Azure Pack называются чекпойнты) — Мы планируем внедрение этой, безусловно, очень важной и нужной функции в ближайшее время (поскольку такая возможность уже появилась в UR6). Нет возможности подключать и управлять ресурсами в облаках в разных локациях — к сожалению, функционал подключения в едином интерфейсе к частным облакам и облакам, размещенным у других провайдеров, отсутствует. Соответственно нет возможности быстро переносить виртуальные машины, допустим, с основной площадки, на резервную. Мы ожидаем появления этого функционала в будущем. Тем не менее, подводя итоги, можно сказать, что, безусловно, Azure Pack как инструмент для управления облаками — очень хорошая и приятная штука, позволяющая выполнять большой набор типовых операций и сэкономить значительное время на развертывание и настройку инфраструктур. Очень не тяжелое, при этом достаточно функциональное, причем уже привычное многим специалистам, решение. Простота установки и интеграции дает возможность быстро и без дополнительных затрат получить готовый интерфейс управления. С учетом постоянной доработки нужного функционала и планами на развитие решение является очень перспективным продуктом и конечно же заслуживает внимания провайдеров, предоставляющих услуги размещения IaaS-инфраструктур или для администраторов частных облаков.

© Habrahabr.ru