Всем привет, уважаемые коллеги, дамы и господа, энтузиасты!
У нас на носу Новый Год, а мы все продолжаем радовать вас новыми и интересными рассказами про частное облако и серверные системы — System Center 2012 R2 и Windows Server 2012 R2.
![](https://habrastorage.org/r/w1560/getpro/habr/post_images/63d/a72/083/63da72083cde294713be5332c7d5e482.png)
Сегодня мне хотелось бы рассказать вам про еще один интересный функционал Virtual Machine Manager 2012 R2 — создание и работу с шаблонами сервисов. Давайте более подробно рассмотрим связанные с этой темой моменты.
Прежде всего давайте с вами разберемся что такое сервис в контексте облака и System Center в частности.
Сервис — это, по сути, одна или несколько ВМ, которые необходимо для исполнения приложения, которое и предоставляется как услуга (сервис). Однако сервисы бывают не только приложениями: например, сервис может быть инфраструктурного характера, т.е. это может быть та же самая ВМ, но которая эмулирует какое-либо аппаратное устройство — например виртуальный коммутатор Cisco Nexus 1000V. Сервис тоже представлен в виде ВМ, но выполняет функцию уровня инфраструктуры, в области коммуникации и обмена данными.
Однако, более классическим примером сервиса будет самый обычный веб-магазин — как правило, это трёхуровневый сервис, который состоит из следующих уровней или тиров (tier) — веб-сервер (интерфейс взаимодействия с пользователем), СУБД (место хранения данных) и уровень бизнес-логики (BI, непосредственно само приложение, его логика и функция).
Важно отметить, что облако должно обладать эластичностью — и с точки зрения структуры сервисов каждый отдельный уровень, тир должен уметь масштабироваться, т.е. изменять количество работающих ВМ на определенно взятом уровне и увеличивать/уменьшать их, при условии что они находятся за балансировщиком нагрузки или в кластере — за счет чего обеспечивается непрерывность при масштабировании сервиса.
![](https://habrastorage.org/r/w1560/getpro/habr/post_images/10f/645/670/10f6456705229413adf601a020fdc0db.png)
Рисунок 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 тоже можно развернуть из шаблона.
![](https://habrastorage.org/r/w1560/getpro/habr/post_images/aba/a10/de6/abaa10de65ced8aea791c2432226f5a5.png)
Рисунок 2. Пример XML-описания шаблона в формате OVF.
Ну я вижу как у все загорелись глаза при фразах об автоматическом развертывании AD или Exchange и прочих — ведь это реально может многим пригодится, особенно в мультитенантной (многоарендной) среде. И вот тут нам на помощь приходит STEK (Service Template Example Kit) — готовый набор шаблонов для самых распространенных приложений и сервисов (если быть точным — те, про которые я упомянул выше. Собственно кликнув по чуть выше вы попадете на страницу с доступным списком шаблонов. Рекомендую ознакомится с этими шаблонами и попробовать развернуть соответствующие сервисы. После освоения вполне возможно самостоятельно описать сервис, который будет включать в себя последовательное развертывание контроллера домена и последующие развертывание сервисов типа Exchange или Lync — мне лично этот процесс показался очень увлекательным и интересным — я научился разворачивать MS-сервисы автоматически, а также оперировать с описанием шаблонов в OVF — недурственно, я вам скажу я прокачался!
Ну и напоследок остается рассказать про то, что у каждого шаблона есть своя версия, и с поддержкой версионности, т.е. изминения состава и структуры сервиса его можно обновлять и публиковать исправленные/обновленные/доработанные версии вашего приложения без остановки работы пользователя с текущей версией сервиса. Обязательно при этом указывать версию приложения, в возрастающем цифровом формате, на основе этой информации и происходит отслеживание версионности — указывается она при создании/обновлении шаблона.
![](https://habrastorage.org/r/w1560/getpro/habr/post_images/212/990/731/2129907318092861d8287a82271a583f.png)
Рисунок 3. Версия шаблона отвечает за процесс обновления сервиса.
Ну и по сути версия сервиса зависит от изменений происходящих с самим приложением. Т.е. достаточно указать пусть к новой версии приложения, его сборке или пакету, задать новую версию релиза и опубликовать сервис. Если сервис уже развернут у пользователя — то через какое-то время (относительно небольшое) он получит уведомление о наличии новой версии сервиса — и сможет на него обновиться.
![](https://habrastorage.org/r/w1560/getpro/habr/post_images/900/b25/7ef/900b257efc34db26bf85f0468ccf658e.png)
Рисунок 4. Типы приложений для развертывания на базе шаблона сервиса.
Ну и перед тем как в общем опубликовать сервис я настоятельно вам рекомендую опробовать его работоспособность и попробовать его развернуть нажав на клавишу «Configure Deployment» — тем самым вы точно убедитесь в том, что приложение или сервис разворачивается и работает как надо, а также то, что у него есть все необходимые условия и ресурсы для работы.
После этого вы моете его опубликовать и дать конечным пользователям возможность получать ваши приложения и сервисы в автоматическом режиме через портал самообслуживания. Это можно сделать с помощью применения портала самообслуживания App Controller 2012 R2, который также входит в пакет System Center.
![](https://habrastorage.org/r/w1560/getpro/habr/post_images/266/22d/0c1/26622d0c1d57d65e232551340048e49b.png)
Рисунок 5. Развертывание сервиса с помощью портала самообслуживания App Controller.
Скачать актуальные версии наших продуктов можно здесь:
Windows Server 2012 R2 — technet.microsoft.com/ru-RU/evalcenter/dn205286
System Center 2012 R2 — technet.microsoft.com/ru-RU/evalcenter/dn205295
Всем большое спасибо за внимание,
надеюсь, что было полезно!
До скорых встреч,
Человек-огонь,
Георгий А. Гаджиев.
У нас на носу Новый Год, а мы все продолжаем радовать вас новыми и интересными рассказами про частное облако и серверные системы — System Center 2012 R2 и Windows Server 2012 R2.
![](https://habrastorage.org/getpro/habr/post_images/63d/a72/083/63da72083cde294713be5332c7d5e482.png)
Сегодня мне хотелось бы рассказать вам про еще один интересный функционал Virtual Machine Manager 2012 R2 — создание и работу с шаблонами сервисов. Давайте более подробно рассмотрим связанные с этой темой моменты.
Сервис и облако
Прежде всего давайте с вами разберемся что такое сервис в контексте облака и System Center в частности.
Сервис — это, по сути, одна или несколько ВМ, которые необходимо для исполнения приложения, которое и предоставляется как услуга (сервис). Однако сервисы бывают не только приложениями: например, сервис может быть инфраструктурного характера, т.е. это может быть та же самая ВМ, но которая эмулирует какое-либо аппаратное устройство — например виртуальный коммутатор Cisco Nexus 1000V. Сервис тоже представлен в виде ВМ, но выполняет функцию уровня инфраструктуры, в области коммуникации и обмена данными.
Однако, более классическим примером сервиса будет самый обычный веб-магазин — как правило, это трёхуровневый сервис, который состоит из следующих уровней или тиров (tier) — веб-сервер (интерфейс взаимодействия с пользователем), СУБД (место хранения данных) и уровень бизнес-логики (BI, непосредственно само приложение, его логика и функция).
Важно отметить, что облако должно обладать эластичностью — и с точки зрения структуры сервисов каждый отдельный уровень, тир должен уметь масштабироваться, т.е. изменять количество работающих ВМ на определенно взятом уровне и увеличивать/уменьшать их, при условии что они находятся за балансировщиком нагрузки или в кластере — за счет чего обеспечивается непрерывность при масштабировании сервиса.
![](https://habrastorage.org/getpro/habr/post_images/10f/645/670/10f6456705229413adf601a020fdc0db.png)
Рисунок 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 тоже можно развернуть из шаблона.
![](https://habrastorage.org/getpro/habr/post_images/aba/a10/de6/abaa10de65ced8aea791c2432226f5a5.png)
Рисунок 2. Пример XML-описания шаблона в формате OVF.
STEK — Service Template Example Kit
Ну я вижу как у все загорелись глаза при фразах об автоматическом развертывании AD или Exchange и прочих — ведь это реально может многим пригодится, особенно в мультитенантной (многоарендной) среде. И вот тут нам на помощь приходит STEK (Service Template Example Kit) — готовый набор шаблонов для самых распространенных приложений и сервисов (если быть точным — те, про которые я упомянул выше. Собственно кликнув по чуть выше вы попадете на страницу с доступным списком шаблонов. Рекомендую ознакомится с этими шаблонами и попробовать развернуть соответствующие сервисы. После освоения вполне возможно самостоятельно описать сервис, который будет включать в себя последовательное развертывание контроллера домена и последующие развертывание сервисов типа Exchange или Lync — мне лично этот процесс показался очень увлекательным и интересным — я научился разворачивать MS-сервисы автоматически, а также оперировать с описанием шаблонов в OVF — недурственно, я вам скажу я прокачался!
Шаблон как инструмент управления жизненным циклом сервиса и приложения
Ну и напоследок остается рассказать про то, что у каждого шаблона есть своя версия, и с поддержкой версионности, т.е. изминения состава и структуры сервиса его можно обновлять и публиковать исправленные/обновленные/доработанные версии вашего приложения без остановки работы пользователя с текущей версией сервиса. Обязательно при этом указывать версию приложения, в возрастающем цифровом формате, на основе этой информации и происходит отслеживание версионности — указывается она при создании/обновлении шаблона.
![](https://habrastorage.org/getpro/habr/post_images/212/990/731/2129907318092861d8287a82271a583f.png)
Рисунок 3. Версия шаблона отвечает за процесс обновления сервиса.
Ну и по сути версия сервиса зависит от изменений происходящих с самим приложением. Т.е. достаточно указать пусть к новой версии приложения, его сборке или пакету, задать новую версию релиза и опубликовать сервис. Если сервис уже развернут у пользователя — то через какое-то время (относительно небольшое) он получит уведомление о наличии новой версии сервиса — и сможет на него обновиться.
![](https://habrastorage.org/getpro/habr/post_images/900/b25/7ef/900b257efc34db26bf85f0468ccf658e.png)
Рисунок 4. Типы приложений для развертывания на базе шаблона сервиса.
Ну и перед тем как в общем опубликовать сервис я настоятельно вам рекомендую опробовать его работоспособность и попробовать его развернуть нажав на клавишу «Configure Deployment» — тем самым вы точно убедитесь в том, что приложение или сервис разворачивается и работает как надо, а также то, что у него есть все необходимые условия и ресурсы для работы.
После этого вы моете его опубликовать и дать конечным пользователям возможность получать ваши приложения и сервисы в автоматическом режиме через портал самообслуживания. Это можно сделать с помощью применения портала самообслуживания App Controller 2012 R2, который также входит в пакет System Center.
![](https://habrastorage.org/getpro/habr/post_images/266/22d/0c1/26622d0c1d57d65e232551340048e49b.png)
Рисунок 5. Развертывание сервиса с помощью портала самообслуживания App Controller.
Скачать актуальные версии наших продуктов можно здесь:
Windows Server 2012 R2 — technet.microsoft.com/ru-RU/evalcenter/dn205286
System Center 2012 R2 — technet.microsoft.com/ru-RU/evalcenter/dn205295
Всем большое спасибо за внимание,
надеюсь, что было полезно!
До скорых встреч,
Человек-огонь,
Георгий А. Гаджиев.