App Controller для Microsoft System Center 2012 — новейшее дополнение к комплексу управления. Все прочие компоненты System Center 2012 представляют собой обновления существующих продуктов, а App Controller проектировался с нуля. Данный компонент обеспечивает мощную среду на базе Интернета, в которой конечные пользователи могут создавать службы и виртуальные машины, управлять ими и подключаться к ним. Эти виртуальные машины могут располагаться в частных «облаках», управляемых с помощью диспетчера виртуальных машин Virtual Machine Manager (VMM) System Center 2012, в Windows Azure Infrastructure as a Service (IaaS) или в инфраструктуре поставщиков услуг Service Provider Framework (SPF) партнеров Microsoft по хостингу. Совместимость App Controller с Azure IaaS и SPF обеспечена в пакете обновления System Center 2012 Service Pack 1 (SP1). Естественно возникает вопрос, когда следует использовать портал самообслуживания VMM, а когда App Controller. Ответ: всегда предпочтительно задействовать App Controller. Портал самообслуживания VMM удален из VMM 2012 SP1.

Основное внимание в этой статье будет сосредоточено на App Controller в System Center 2012 SP1, который расширяет возможности компонента и добавляет поддержку Windows Server 2012 (через компонент VMM). Я настоятельно рекомендую развернуть SP1. Кроме того, обязательно загрузите накопительный пакет обновления Update Rollup 1 для VMM и App Controller. Это обновление решает некоторые важные проблемы.

App Controller совместим с Windows Server 2012 и Windows Server 2008 R2 SP1. Однако если App Controller устанавливается на одном сервере с самой новой версией VMM, то необходимо использовать Windows Server 2012. VMM более не поддерживает Windows Server 2008 R2. App Controller располагает собственной базой данных для хранения сведений о конфигурации; такой базой данных могут быть SQL Server 2012, SQL Server 2008 R2 или SQL Server 2008 SP2.

Как отмечалось выше, App Controller часто развертывается на одном сервере с VMM. Эти компоненты тесно взаимодействуют между собой. Но в крупных компаниях с высокими требованиями к масштабируемости для развертывания App Controller можно выделить отдельный экземпляр операционной системы. App Controller можно наделить высоким уровнем доступности или возможностями балансирования нагрузки с применением любых имеющихся механизмов. Сначала убедитесь, что база данных SQL Server входит в состав кластера SQL Server с высокой доступностью. Для сервера App Controller сделайте виртуальную машину App Controller высокодоступной или разверните несколько экземпляров App Controller, которые используют одну базу данных SQL Server и общий ключ шифрования.

Установка App Controller

Установить App Controller просто. Большинство настроек для пользователей и доступных ресурсов поступает из VMM. Поэтому перед развертыванием App Controller важно развернуть VMM и создать «облака» ресурсов и определенных клиентов (то есть групп пользователей с различными правами и квотами для этих «облаков»). Эти фундаментальные строительные блоки позволяют интегрировать App Controller с локальной виртуальной средой. Также необходимо создать шаблоны виртуальных машин (и при желании шаблоны служб), поскольку таким образом пользователи развертывают среду через App Controller.

Администраторы должны быть непременно и администраторами VMM. Учетная запись, используемая для установки App Controller, должна быть членом локальной группы Administrators на сервере и будет первым администратором App Controller.

Собственно установка App Controller документирована в статье TechNet «Installing App Controller» (technet.microsoft.com/en-us/library/gg696046.aspx) и интуитивно понятна благодаря малому числу настроек. При условии, что экземпляр SQL Server доступен для использования App Controller и ваш сервер отвечает предъявляемым требованиям, единственное изменение — использовать доверенную сертификацию SSL. Этот вариант предпочтительнее самозаверяемого сертификата, формируемого в процессе установки, поэтому пользователи не получают уведомлений о недоверенном сертификате. Я не рекомендую применять самозаверяемый сертификат, если только вы не используете App Controller в ограниченной тестовой среде.

После завершения установки App Controller не забудьте установить накопительный пакет обновления Update Rollup 1 для App Controller (и VMM). Затем запустите службу Windows Update чтобы проверить наличие свежих исправлений.

Единственная настройка, которую необходимо выполнить, — подключение App Controller к экземпляру VMM. Для этого войдите на сайт App Controller (с адресом https://). Затем выберите узел навигации Settings и дочерний узел навигации Connections. Выберите Connect («Подключить»), действие SCVMM, как показано на экране 1.

 

Соединение App Controller и SCVMM
Экран 1. Соединение App Controller и SCVMM

В результате открывается экран Add a new VMM connection («Добавление нового подключения к VMM»). Введите имя для нового подключения к VMM, описание и имя сервера VMM. Напомню, что необходимо войти с правами администратора как для App Controller, так и для VMM.

Учтите, что соединение Windows Azure существует по умолчанию. Оно позволяет добавить подписки Windows Azure в App Controller. Кроме того, обратите внимание на возможность добавления поставщика услуг. Это может быть компания, которая размещает виртуальные машины и реализовала SPF для управления с использованием App Controller. Можно считать, что SPF открывает собственный экземпляр VMM поставщика услуг размещения для вашего локального App Controller. Поставщик услуг размещения должен предоставить универсальный код ресурса (URI) для вашего идентификатора клиента в его среде, чтобы завершить подключение из App Controller.

Если в компании используется Windows Azure, добавьте эти подписки в App Controller, перейдя в представление Clouds («облака») и используя Connect, действие Windows Azure Subscription («Подписка Windows Azure») (или Settings, Connections, Add – «Параметры», «Подключения», «Добавить»). Для связи с Windows Azure необходимо подготовить сертификат управления, который должен быть импортирован в подписку Windows Azure и быть доступным для импортирования в App Controller в процессе подключения App Controller к Windows Azure. Весь процесс, в том числе способы создания и использования сертификата, подробно описаны в вопросах и ответах «How do I create a certificate to enable System Center App Controller to manage Windows Azure?» (http://windowsitpro.com/system-center/q-how-do-i-create-certificate-enable-system-center-app-controller-manage-windows-azure).

User Roles — дочерний узел узла навигации Settings. В представлении User Roles («Роли пользователя») можно настроить учетные записи дополнительных администраторов App Controller, добавляя членов во встроенную роль пользователя Administrators. Если добавлены подписки Windows Azure или подключения к поставщикам услуг размещения SPF, то могут быть созданы дополнительные роли пользователя для управления доступом пользователей App Controller к этим подпискам и службам. В противном случае невозможно управлять этими подписками и службами через локальный экземпляр VMM, который обеспечивает управление только локальной инфраструктурой частного «облака».

Итак, App Controller — это единый центр для доступа к локальным частным «облакам», определенным и управляемым в VMM, к подпискам Windows Azure и к службам у партнеров по размещению, использующих SPF. Первоначально большинство компаний вероятно будут использовать App Controller только для управления локальными частными «облаками». Но возможность расширить сферу действия App Controller поможет им перейти к гибридному «облаку».

В App Controller можно подкорректировать некоторые настройки. Не составляет труда изменить графические изображения для App Controller, как показано на экране 1. Логотипы представляют собой два файла изображений (SC2012_WebHeaderLeft_AC.png и SC2012_WebHeaderRight_AC.png) в папке \%PROGRAMFILES%\Microsoft System Center 2012\App Controller\wwwroot. Просто создайте резервные копии и замените эти изображения. Размеры новых графических изображений должны быть такими же, как у оригиналов — 287 x 44 и 108 x 16 соответственно — или они не будут работать.

Все настройки App Controller выполняются через веб-узел; отдельного инструмента управления нет. Веб-интерфейс App Controller основан на Microsoft Silverlight, поэтому необходимо использовать 32-разрядный браузер, совместимый с Silverlight 5, то есть Internet Explorer (IE) 8 или более новую версию. Другие браузеры пока не подходят. Если используется Windows PowerShell, то модуль PowerShell для App Controller разрешает все основные настройки. Запустите команду PowerShell, чтобы увидеть доступные команды:

Get-Command –Module AppController

Использование App Controller

App Controller готов к работе сразу после подключения к «облачным» службам. Пользователи переходят к адресу https:// и регистрируются с использованием учетных данных домена в интерфейсе проверки подлинности на основе форм Forms Based Authentication (FBA). Также можно включить процедуру однократной регистрации (SSO), что полностью исключает FBA.

После проверки подлинности пользователи видят в окне обзора «облака», которые были определены в VMM и к которым им разрешен доступ, а также подписки Windows Azure и службы SPF. Если пользователь не принадлежит ни к какой роли, имеющей права, то есть не является клиентом «облака», определенного в VMM, то пользователь не видит никаких частных «облаков» в App Controller. App Controller можно рассматривать как интерфейс к настройке VMM для частного «облака». Собственно назначение прав выполняется целиком через VMM.

Интерфейс App Controller в высшей степени интуитивно понятен. Как правило, пользователи осваивают его очень легко. На экране 2 приведено представление по умолчанию для пользователей, выполняющих регистрацию.

 

Экран обычного пользователя
Экран 2. Экран обычного пользователя

В этом примере мы видим, что пользователь имеет доступ к одному локальному «облаку» и одной подписке Windows Azure. Для локального «облака» App Controller показывает текущий уровень потребления ресурсов пользователей и остающуюся квоту. Каждый раз, когда пользователь развертывает новую виртуальную машину или службу, App Controller показывает влияние на квоту и гарантирует, что она не будет превышена. Обратите внимание, что для типовых пользователей узел навигации Settings не показан. Кроме того, дальнейшие шаги, рекомендуемые для обычных пользователей, отличаются от рекомендаций для администратора и ограничены развертыванием новой службы или виртуальной машины.

Если щелкнуть на «облаке» в окне обзора, то откроется представление Clouds, что позволяет развертывать службы с помощью кнопки Deploy («Развернуть»). Процесс развертывания — одна из важных особенностей App Controller.

После запуска развертывания открывается страница New Deployment («Новое развертывание»). По умолчанию на этой странице отображается «облако», выбранное, когда была нажата кнопка Deploy. Поначалу единственная возможная настройка — выбрать шаблон, как показано на экране 3.

 

Страница нового развертывания
Экран 3. Страница нового развертывания

Этот шаблон содержит составное представление всех начальных параметров, в зависимости от выбранного «облака». Доступность шаблонов зависит от того, где развертывается «облако» и какие шаблоны доступны пользователю. Если развертывание выполняется на Windows Azure, то выдается типовой список шаблонов Azure, а также шаблоны, которые мог добавить пользователь. Если развертывание выполняется на локальном частном «облаке», то будут показаны шаблоны и службы, доступные для вашей роли пользователя.

После того, как выбрана виртуальная машина, можно выполнить настройку. Например, можно дать имя VM и настроить некоторые параметры, в зависимости от выбранного шаблона. Если определены и доступны для клиента шаблоны служб — масштабируемые, многоуровневые полные службы, спроектированные в VMM, — то выбор службы приводит к полнофункциональному представлению в App Controller, как показано на экране 4.

 

Тестовое развертывание трехуровневой службы
Экран 4. Тестовое развертывание трехуровневой службы

Это представление позволяет настроить и развернуть все виртуальные машины для начального развертывания службы. Однако в настройке необходимости нет. Имена виртуальных машин и компьютера по умолчанию автоматически формируются для всех виртуальных машин, развертываемых как часть службы.

Речь идет о начальном развертывании, так как весь смысл шаблонов служб заключается в том, что на каждом уровне может находиться переменное число виртуальных машин, в зависимости от нагрузки. App Controller развертывает начальное число виртуальных машин, назначенное каждому уровню, но это число может увеличиваться или уменьшаться в процессе функционирования службы. С помощью App Controller можно добавлять виртуальные машины для развернутой службы через действие Scale Out, доступное из представления диаграммы развернутой службы. Чтобы сократить уровень службы, следует удалить виртуальные машины вручную; специальное действие Scale In не предусмотрено.

После завершения всех настроек нажмите кнопку Deploy, чтобы создать задание развертывания. Если развертывание производится в частном «облаке», то задание создается в VMM. Если развертывание производится в Windows Azure, то задание создается в Windows Azure. Развертывания для размещенного «облака» SPF создаются в инфраструктуре SPF. Независимо от места назначения, для пользователя процедура одинакова, и ход развертывания можно отслеживать в представлении заданий. Время собственно развертывания целиком зависит от размера и числа виртуальных машин, составляющих развертывание, и службы, в которую производится развертывание, но ход выполнения можно отслеживать в представлении заданий.

Развернутые службы и виртуальные машины можно просмотреть в представлении Virtual Machines или Services. В данной статье мы рассматриваем представление Virtual Machines, которое является основным способом использования App Controller для большинства компаний. Настоятельно рекомендую вам рассмотреть шаблоны служб в VMM, так как они обеспечивают превосходные возможности масштабирования и управления. Представление Virtual Machines показывает все подготовленные виртуальные машины, виртуальные машины, сохраненные в библиотеке, принадлежащей текущему пользователю, и виртуальные машины, к которым пользователю предоставлен доступ. Действия по умолчанию для VM – Startup («Запуск»), Shutdown («Завершение»), Pause («Пауза»), Turn Off («Выключить»), Save («Сохранить»), Store («Хранилище»), Mount image («Подключить образ»), Remote Desktop («Удаленный рабочий стол») и Console («Консоль») — показаны на экране 5.

 

Доступные действия для виртуальных машин
Экран 5. Доступные действия для виртуальных машин

Если выбран параметр Properties, то доступны дополнительные возможности, в частности, настройка доступа для других пользователей или создание и применение моментальных снимков. Помните, что набор доступных действий зависит от того, какие действия предоставлены пользователю. Уделите время знакомству с интерфейсом App Controller как с точки зрения администратора, так и обычного пользователя. Обязательно изучите особенности представлений Library («Библиотека») и Jobs («Задания»).

App Controller обеспечивает огромные преимущества благодаря единому представлению всех служб виртуализации, используемых в компании, но при этом также открываются превосходные гибридные возможности. Можно развернуть шаблоны виртуальных машин, сохраненные локально в VMM, на платформе Windows Azure. Можно взять виртуальную машину, сохраненную в библиотеке VMM, и развернуть ее на Windows Azure; таким образом выполняется перенос виртуальной машины из локального экземпляра Windows Hyper-V на Windows Azure. Функциональность динамической миграции отсутствует. Необходимо остановить виртуальную машину, выполняемую локально, и сохранить ее в библиотеке с использованием действия Store, прежде чем развертывать ее на Windows Azure с помощью Copy. Чтобы вернуть виртуальную машину из Windows Azure, необходимо скопировать виртуальные жесткие диски (VHD) из Windows Azure в библиотеку VMM, а затем выполнить повторное развертывание. Другой вариант миграции виртуальной машины между локальным экземпляром и Windows Azure — задействовать компонент System Center 2012 Orchestrator, обеспечивающий более широкие возможности и гибкость.

Важно отметить, что во время подготовки статьи формат VHDX был несовместим с Windows Azure. Поэтому единственные виртуальные машины, которые можно переместить на Windows Azure, или шаблоны, которые можно развернуть на Windows Azure из локальных библиотек — это те, в которых применяются исключительно VHD. Если в виртуальной машине или шаблоне имеются какие-либо VHDX-файлы, то развертывание или копирование на Windows Azure становится невозможным.

Управление — это просто

Мы сделали в статье акцент на самообслуживании конечных пользователей, но в действительности еще не все компании готовы к самообслуживанию пользователей. App Controller по-прежнему полезен как инструмент, с помощью которого администраторы могут развертывать и управлять виртуальными машинами через Интернет, хотя существуют и другие варианты, такие как консоль VMM и Orchestrator.

При обсуждении App Controller часто возникает вопрос: как задействовать рабочие процессы при подготовке виртуальной машины? Например, нужно дать пользователям возможность запросить виртуальную машину, но при этом менеджер должен сначала одобрить запрос. В App Controller не предусмотрено функций для рабочих процессов и одобрения. Цель компонента — наделить пользователей возможностями создания и управления в рамках назначенных им ресурсов и квот. Этого достаточно для многих компаний. Если требуется авторизация рабочих процессов, то следует использовать каталог услуг System Center 2012 Service Manager, который описан в статье «What's New with Service Manager 2012 SP1». В этом случае веб-портал Service Manager используется для запроса новых виртуальных машин и даже новых «облаков» (наряду с другими типами ресурсов в компании). App Controller часто применяется для управления и взаимодействия с созданными виртуальными машинами. Использование двух веб-интерфейсов — не самый лучший вариант, но есть четкое различие между применением Service Manager для запроса ресурсов и App Controller для управления и взаимодействия с ним.

App Controller — превосходный веб-интерфейс для согласованного управления всеми типами «облачных» служб в компании. Важно помнить, что для частных «облаков» App Controller просто подключается к «облакам», созданным в VMM, поэтому серверная виртуализация не ограничена Hyper-V. VMM также предоставляет функциональность частного «облака» для VMware ESX и Citrix XenServer, поэтому вы получаете возможности частного «облака» VMM, App Controller и всего набора приложений System Center 2012 даже без применения Hyper-V.