Блог компании Microsoft

Microsoft Azure Stack: плед, чай и крутой облачный ЦОД

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

Мы уже давно развиваем гибридные облака. Клиентам, которые их используют, не страшны вышеперечисленные сложности. Можно настроить единое управление идентификационными данными, чтобы сотрудники могли использовать свои учетные записи Active Directory. Возможен мониторинг инфраструктурных объектов как в облаке, так и в локальной инфраструктуре. Есть еще вариант: SQL Server и другие сервисы управления данными, которые могут использоваться в гибридных схемах, к примеру, из SQL в Azure.
В некоторых случаях, конечно, хочется большей гибкости. У одних компаний есть запросы на популярные сервисы (WebApp, Azure Functions) для реализации приложений, которые одинаково хорошо работают и масштабируются. Других привлекают преимущества публичного облака, как запущенного в Microsoft Azure, так и локального. Третьи ограничены географией — в некоторых регионах ЦОД Azure нет, что усложняет работу с сервисами.
Для таких случаев мы и создали Azure Stack. Это программно-аппаратный комплекс (интегрированная система), в котором реализовано подмножество сервисов Microsoft Azure. Не похожих, а тех же самых сервисов виртуальных машин и сетей, веб-приложений, которые реализованы в «большом» облаке. Но работают они локально — развернуты либо в собственном дата-центре, либо у провайдера рядом с компанией. То есть по сути Azure Stack — это гиперконвергентная платформа для облачных вычислений, способная легко интегрироваться с глобальной инфраструктурой Azure.
Возможности Azure Stack
Ключевой элемент Azure — Azure Resource Manager. Это как ядро для управления облачными ресурсами, так и API для создания современных облачных приложений. Он реализован и в Azure Stack — можно писать код и использовать API от «большого» облака Microsoft.
В рамках Azure Stack доступны все основные и востребованные функции Azure, на базе которых можно построить подавляющее большинство современных приложений. А если каких-то сервисов в Azure Stack пока нет – то скорее всего их скоро добавят. Приложение для Azure Stack будет работать одинаково как в облаке Microsoft, так и локально. Таким образом мы реализуем интересную гибридную схему работы.
Вариантов гибридных решений может быть множество. Мы приведем самые популярные примеры.
Унифицированное использование ресурсов в разных облаках
Можно создавать приложения, которые будут пользоваться всеми привычными для облака артефактами и возможностями: горизонтальное масштабирование, масштабирование по запросу. Это код, который пишется с учетом API Resource Manager, — его можно разворачивать там, где необходимо: Azure, Azure Stack, развернутый внутри в компании или у провайдера, или в облаке Azure.
Распределение ресурсов между облаками
Компоненты одного и того же приложения могут располагаться в разных облаках, но использовать публичные точки подключения. К примеру, сервис БД доступен снаружи по HTTPS.
Прозрачные для приложения связи между облаками
В этом случае используется инфраструктурный подход: мы устанавливаем связь между облаком Microsoft и экземпляром Azure Stack, приложение не знает, что компоненты расположены в разных облаках. Для него гибридная структура становится «прозрачной».
Среди компаний, решения которых уже прошли тестирования на совместимость с Azure Stack или находятся в завершающей стадии тестирования, — Acronis, Kaspersky, CheckPoint, Commvault, Redhat, OSIsoft, Positive Technologies, Veeam, 5Nine.
Azure Stack — это платформа гиперконвергентной структуры для решения огромного пула задач: от распределенных решений для интернета вещей и аналитических систем до индустриального блокчейн и платформы разработки универсальных приложений.
Сценарии использования Azure Stack
Благодаря всем этим возможностям Azure Stack становится гибкой и многофункциональной системой. Вот лишь несколько вариантов использования технологии:
1
Сопровождение и тестирование приложений из дата-центра компании
Мощности публичного глобального облака Azure можно использовать для разработки приложения, а затем без изменения кода запускать в локальном дата-центре на базе Azure Stack.
2
Использование на производстве, где есть ограничения по каналам связи или отсутствует интернет
Заводы, буровые вышки, морской и авиационный транспорт, шахты и т.п.
3
Соответствие политике компании, требованиям регуляторов
Компания Ernst and Young активно использует публичное облако Azure для работы одного из своих бизнес-решений. В большинстве случаев приложение пользователям доставляется напрямую из Azure. Там же, где надо соответствовать требованиям регуляторов, на помощь приходит Azure Stack и приложение доставляется локально. Чтобы заработала связка Azure и Azure Stack, нужно было лишь минимально изменить приложение, трогать архитектуру не пришлось.
    4
    Облако, которое работает в обычном режиме локально, на платформе Azure Stack, а в случае пиковых нагрузок подключает дополнительные мощности из «большого» облака
    Все данные локально остаются в дата-центре заказчика. Это решение может быть использовано, к примеру, для интернет-магазинов в сценарии «черной пятницы».
    5
    Выполнение высокопроизводительных задач, требующих высокой скорости приема и передачи данных
    При работе с «большим» облаком загрузка данных в него может быть непозволительно долгой. Локальное облако делает бизнес-процессы комфортнее.
    Со временем список схем использования будет расширяться. Пока одним из самых интересных является гибридный сценарий, когда приложение для Azure можно развернуть и в Azure Stack, не изменяя ни строчки кода. Мы подробно разобрали процесс публикации приложения в Azure Stack в нашем прошлом материале.
    Можно распределить разные компоненты приложения по разным облакам. Back и сами данные будут находиться в Azure Stack — это критичные бизнес-данные, ключи шифрования, персональные данные, которые не могут располагаться в публичном облаке. Фронтальная часть, что характерно для B2B, B2C приложений, выкладываемых в интернет (мобильное или веб-приложение), будет находиться в «большом» Azure. Приложение может быть подвержено DDOS-атакам или взломам — и в таком случае внутренние сервисы Azure его защитят.
    Azure Stack для разработчиков
    Azure Stack подходит для разработчиков. Time-to-market (время вывода продукта на рынок) — основной KPI для компании. Кроме того, Azure Stack — это хороший вариант для тех, у кого запрещено использование публичных облаков для production-систем.
    Azure предлагает разместить в публичном облаке все pre-production среды. Это может быть коллективная среда разработки, песочница для каждого разработчика, среда тестирования и другие. А вот на Azure Stack можно разместить production среды.
    При таком раскладе с помощью Azure разработчики смогут быстро получить любую вычислительную мощность. То же нагрузочное тестирование не подразумевает постоянного использования высоких мощностей. Соответственно, за счет плавающей нагрузки на сервера можно неплохо сэкономить.
    Azure Stack решает проблему обработки данных, поскольку они находятся буквально на территории разработчиков, нет проблем с регуляторами и сертификацией. Azure и Azure Stack совместимы: один скрипт развертывания позволяет развернуть любое приложение с новой конфигурацией одновременно и там, и там.
    Процессы и практики
    Независимо от того, создается ли продукт собственными силами или на подряде, в компании всегда есть отдел разработки и отдел эксплуатации. Разработчики передают новый релиз отделу эксплуатации (куда входит, например, QA). Как правило, перекидывать релиз из одного отдела в другой приходится неоднократно: каждый баг возвращает проект разработчикам для фиксов. Также есть сложности обновления инфраструктуры для развертывания. В результате бизнес-клиенты недовольны: даже малейшие изменения UI могут вноситься слишком долго.
    Опишем традиционный процесс разработки и практики DevOps:
    • Инфраструктура описывается отдельно от кода приложения: существует проблема синхронизации веток.
    • Постоянные перепады нагрузки ИТ-отдела: длинный цикл поставки.
    • Вся автоматизация развертывания приложения привязана к платформе: нет гибкости.
    Когда нужно развернуть текущее приложение в облаке — используются другие приложения. У некоторых компаний организована отдельная команда, которая затем сопровождает релиз и обновления облачного приложения. Это дороже, сложнее и требует больше ресурсов.
    Azure Stack меняет этот подход. Уже сейчас доступна интеграция Azure Stack с Visual Studio 2017. Из IDE код может напрямую деплоиться и тестироваться в Azure Stack. Интегрирован DevOps Pipeline и различные опенсорс решения, к примеру, Jenkins. В ближайшем будущем появится интеграция с VSTS.
    Основная суть и ценность нашего решения — оно полностью целостное. Все то, что доступно в Azure, доступно в Azure Stack: порталы, средства DevOps, менеджер ресурсов.
    Как это отразится на практиках DevOps:
    Инфраструктура как код (IaaC)
    В Azure и Azure Stack код инфраструктуры идентичен. Это не набор скриптов и инструкций, а единый JSON-файл, который можно развернуть как в публичном облаке Azure, так и в локальном Azure Stack. Меняется только один параметр — Location.
    Основные преимущества IaaC — тестируемость, воспроизводимость и версионирование кода. Упрощается поддержка сложных инфраструктур, когда они состоят из большого количества серверов. Если у компании инфраструктура из множества кластеров, ее легко тестировать и проверять. Это надежнее, чем обычное администрирование.
    Непрерывная интеграция (Continuous Integration, CI)
    Код автоматически собирается после отправки в репозиторий, после проверки отправляется фидбэк. Далее происходит автоматическое тестирование и развертывание. Код инфраструктуры может лежать там же, где и код приложения.
    Непрерывное развертывание и управление релизами
    Azure Stack позволяет избавиться от ручных инструкций — скорость развертывания новых сред возрастает. Код приложения и всей инфраструктуры отправляется в репозитарий и спокойно разворачивается в один клик без ручных манипуляций.
    Все среды взаимозаменяемы — используется один движок Azure Resource Manager.
    В результате:
    • быстро внедряются практики DevOps
    • ускоряется time-to-market
    • снижается стоимость разработки
    • выполняются требования службы безопасности и регуляторов
    Как и в «большом» облаке, сторонние разработчики могут добавлять свои приложения в хорошо знакомом Azure Marketplace и разворачивать их на Azure Stack. Есть и уникальные механизмы, подгружаемые внутрь инфраструктуры, — партнеры могут собирать свои шаблоны виртуальных машин и разворачивать в Azure Stack.
    Мнение производителей
    Антон Болдин
    Lenovo
    Azure Stack — платформа для построения гибридного облака. Microsoft предоставляет программный код, а мы стали сертифицированным производителем программно-аппаратного комплекса.

    Партнерство Lenovo с Microsoft длится более 20 лет. В 2016 году на выставке Ignite компания Lenovo была первой и единственной, продемонстрировавшей работающий прототип решения Microsoft Storage Spaces Direct (S2D), технологии, которая лежит в основе платформы Azure Stack. Также у нас в октябре состоялась первая в мире продажа и внедрение сертифицированного программно-аппаратного комплекса Azure Stack — Lenovo Think Agile SX. Заказчик — английский сервис-провайдер ITPS.

    У Lenovo представлено три модели Think Agile для Azure Stack — SXM4400 25U, SXM4400 42U и SXM6400. В комплекте — стойка, в которую устанавливаются от 4 до 12 НОД Lenovo, модули распределения, питания, коммутаторы и другие элементы для обеспечения корректной работы решения.

    Интересный момент: большая часть «железа» в составе платформы — проверенные серверы Lenovo, например, х3650 M5 и НОДы х3550 M5. Большинство сисадминов уже знакомы с этими, хорошо себя зарекомендовавшими аппаратными системами. Таким образом, Think Agile SX — надежное, проверенное и сертифицированное решение с единым окном сервисной поддержки.

    При возникновении сервисного случая с Lenovo Think Agile SX, заказчик может обратиться по телефону в службу поддержки Lenovo, и вне зависимости от проблемы мы разберемся в ситуации. Если проблема находится на уровне железа, мы решим ее сами, а если на уровне ПО — совместно с Microsoft. Мы стремимся обеспечить максимально быструю сервисную поддержку всего решения и избежать случаев разделения зон ответственности, которые зачастую возникают при обслуживании комплексных решений, каким является и Azure Stack.
    Алексей Казьмин
    HPE
    В сентябре мы выпустили программно-аппаратное решение HPE ProLiant на Microsoft Azure Stack, которое позволяет разместить часть облака в собственном ЦОД.

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

    HPE осуществляет поддержку из одного окна — мы помогаем не только тогда, когда проблема относится к «железу», но и когда речь идет о ПО. Устанавливаем комплекс заказчикам и партнерам тоже мы.

    Своим партнерам предоставляем возможность подписки: оплата по мере использования, выделяем минимальные пороговые значения использования и вместо единой оплаты разбиваем ее на ежемесячные платежи.

    Для HPE продукт очень интересен тем, что он встраивается в нашу идеологию.
    Все управляется из одного окна, все сервисы разворачиваются в автоматическом режиме — через сервис OneView. На Хабре про HPE ProLiant можно прочитать подробнее.

    Что в сухом остатке?
    Дотянуться до облака в персональном ЦОДе теперь не сложнее, чем налить кружку горячего чая. Практически все возможности Azure, которыми пользуются разработчики и технические специалисты, можно перенести в собственный ЦОД компании.
    С помощью Azure Stack разработчики могут использовать нужные инструменты и технологии, привычные по Azure, реализовать новые идеи и облегчить работу с регуляторами стран. Задавайте вопросы и делитесь своими идеями и опытом использования в комментариях.
    Комментарии 6
    • +1
      Привет. Интересно, а что с лицензированием данной технологии?
      А допустим полностью закрытая сеть получается без интернета, только интранет, но гепотетическая необходимость развернуть azure и его использовать, как простое решение.
      • +1
        Это отличный вопрос! Базовые вещи касательно лицензирования есть с документе: Microsoft Azure Stack packaging and pricing — July 2017: azure.microsoft.com/mediahandler/files/resourcefiles/5bc3f30c-cd57-4513-989e-056325eb95e1/Azure-Stack-packaging-and-pricing-datasheet.pdf  

        И совершенно верно — есть возможность использовать систему в режиме «подводной лодки» полностью отключенную от как-либо внешних сетей.
        • +1
          Суть в том, что допустим есть производство, но удобно использовать к примеру Azure. Отсюда и возник вопрос — закрытая сеть «подводная лодка».
          За ссылку на лиц. благодарю. Расшифруйте ее для подводников ;) — т.е. меня как сисадмина в первую очередь интересует приобретение лицензии один раз и навсегда (пока метеорит не упадет на сервер) :)
          • 0
            Для вашего случая — как раз capacity mode лицензирование (в документе чуть подробнее, 2-ая страница). В таком случае, нужно лицензировать все физические ядра сервера, это некая фиксированная стоимость ежегодно. Как дальше вы их используете — знаете только вы.
      • 0
        :)
        Azure Stack — это кусочек Azure в вашем дата-центре, поэтому «приобрести лицензию один раз и навсегда» не получится. Потому как — тут работает сервисная модель, как с Azure. Вы же в Azure не покупаете ресурсов раз и навсегда…
        • +1

          Добавить еще облачный токен PKCS#11 — совсем было бы здорово.

          Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.