Шаблоны для создания служб и сервисов для Virtual Machine Manager 2012 R2

Источник: technet.microsoft.com
Георгий Гаджиев

Всем привет, уважаемые коллеги, дамы и господа, энтузиасты!
Мы все продолжаем радовать вас новыми и интересными рассказами про частное облако и серверные системы - System Center 2012 R2 и Windows Server 2012 R2.

Сегодня мне хотелось бы рассказать вам про еще один интересный функционал Virtual Machine Manager 2012 R2 - создание и работу с шаблонами сервисов. Давайте более подробно рассмотрим связанные с этой темой моменты.

Сервис и облако

Прежде всего давайте разберемся, что такое сервис в контексте облака и System Center в частности.
Сервис - это, по сути, одна или несколько ВМ, необходимых для исполнения приложения, которое и предоставляется как услуга (сервис). Однако сервисы бывают не только приложениями: например, сервис может быть инфраструктурного характера, т.е. это может быть та же самая ВМ, но которая эмулирует какое-либо аппаратное устройство - например виртуальный коммутатор Cisco Nexus 1000V. Сервис тоже представлен в виде ВМ, но выполняет функцию уровня инфраструктуры, в области коммуникации и обмена данными.
Однако, более классическим примером сервиса будет самый обычный веб-магазин - как правило, это трехуровневый сервис, который состоит из следующих уровней или тиров (tier): веб-сервер (интерфейс взаимодействия с пользователем), СУБД (место хранения данных) и уровень бизнес-логики (BI, непосредственно само приложение, его логика и функция).
Важно отметить, что облако должно обладать эластичностью - и с точки зрения структуры сервисов каждый отдельный уровень, тир должен уметь масштабироваться, т.е. изменять количество работающих ВМ на определенно взятом уровне и увеличивать/уменьшать их при условии, что они находятся за балансировщиком нагрузки или в кластере - за счет чего обеспечивается непрерывность при масштабировании сервиса.


Рисунок 1. Пример двухуровневого сервиса Microsoft Exchange 2013 CU2 с ролями Mailbox и Client Access.

Также стоит отметить, что шаблоны сервисов, в свою очередь, составляются из сочетания шаблонов виртуальных машин (по сути профиль виртуалки с ресурсами), шаблона ОС (настраиваются параметры развертывания гостевой ОС, включение в домен, установка ролей и фич и т.д.) и шаблона приложения (веб-приложение, скрипт-приложение, SQL-приложение и виртуализованное приложение App-V).

Шаблоны сервисов

Естественно, обеспечить процесс консистентного и повторяемого развертывания сервиса можно с помощью автоматизации за счет применения шаблонов. И вот тут возникает вопрос: "ОК, шаблоны - это круто! Но где их брать, какой их формат и есть ли что-нибудь готовенькое, что можно посмотреть?". Ну что же, давайте обо всем по порядку.

Сам по себе шаблон - это, по сути, XML-файл в формате OVF (Open Virtualization Format), то есть представляет собой открытый, вендор-нейтральный формат описания структуры шаблоны сервиса - количества ВМ, их характеристик и прочих необходимых объектов, которые импортируются в систему управления облаком - в нашем случае в System Center 2012 R2 VMM. Разобравшись с форматом описания, можно самостоятельно делать готовые шаблоны из многоуровневых компонентов для дальнейшего применения. Например, можно на уровне шаблона развернуть Active Directory или Exchange 2013 и Lync 2013 - ну и не забываем про SQL Server, SharePoint и сторонние решения - Oracle DB тоже можно развернуть из шаблона.


Рисунок 2. Пример XML-описания шаблона в формате OVF.

STEK - Service Template Example Kit

Я вижу, как у всех загорелись глаза при фразах об автоматическом развертывании AD или Exchange и прочих - ведь это реально может многим пригодится, особенно в мультитенантной (многоарендной) среде. И вот тут нам на помощь приходит STEK (Service Template Example Kit) - готовый набор шаблонов для самых распространенных приложений и сервисов (если быть точным - те, про которые я упомянул выше). Собственно, кликнув по ссылке, вы попадете на страницу с доступным списком шаблонов. Рекомендую ознакомится с этими шаблонами и попробовать развернуть соответствующие сервисы. После освоения вполне возможно самостоятельно описать сервис, который будет включать в себя последовательное развертывание контроллера домена и последующие развертывание сервисов типа Exchange или Lync, - мне лично этот процесс показался очень увлекательным и интересным, я научился разворачивать MS-сервисы автоматически, а также оперировать с описанием шаблонов в OVF - недурственно, я вам скажу, я прокачался!

Шаблон как инструмент управления жизненным циклом сервиса и приложения

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


Рисунок 3. Версия шаблона отвечает за процесс обновления сервиса.

По сути, версия сервиса зависит от изменений, происходящих с самим приложением. Т.е. достаточно указать путь к новой версии приложения, его сборке или пакету, задать новую версию релиза и опубликовать сервис. Если сервис уже развернут у пользователя, то через какое-то время (относительно небольшое) он получит уведомление о наличии новой версии сервиса  и сможет обновиться.


Рисунок 4. Типы приложений для развертывания на базе шаблона сервиса.

Ну и перед тем как в общем опубликовать сервис, я настоятельно вам рекомендую опробовать его работоспособность и попробовать его развернуть, нажав на клавишу "Configure Deployment" - тем самым вы точно убедитесь в том, что приложение или сервис разворачивается и работает как надо, а также что у него есть все необходимые условия и ресурсы для работы.
После этого вы можете его опубликовать и дать конечным пользователям возможность получать ваши приложения и сервисы в автоматическом режиме через портал самообслуживания. Это можно сделать с помощью применения портала самообслуживания App Controller 2012 R2, который также входит в пакет System Center.


Рисунок 5. Развертывание сервиса с помощью портала самообслуживания App Controller.


Страница сайта http://test.interface.ru
Оригинал находится по адресу http://test.interface.ru/home.asp?artId=36335