Статьи

Параметры для установки стороннего программного обеспечения в Windows Azure

Я уже неоднократно задавал этот вопрос: «Как установить стороннее программное обеспечение в Windows Azure?» Это достаточно важный вопрос, так как приложениям Windows Azure часто приходится использовать сторонние программные компоненты.

В некоторых случаях использовать программный компонент так же просто, как добавить ссылку на него. Вы также можете установить для свойства « Копировать локально» значение « Истина», чтобы доставить компонент вместе с пакетом услуг в облако. Однако в некоторых случаях требуется правильная установка. Это связано с тем, что при установке выполняются другие действия, а не только копирование компонента в систему (например, изменение реестра, регистрация компонентов в GAC и т. Д.). Один из примеров — установка средства просмотра отчетов в веб-роли для отображения отчетов.

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

Прежде чем углубляться в конкретные методы, давайте обновим концепцию текущей версии Windows Azure PAAS, поскольку она связана с тем, что мы будем обсуждать.

Дизайн для Scale: Windows Azure VM без сохранения состояния

Windows Azure подчеркивает философию приложения: горизонтальное масштабирование вместо горизонтального (вертикальное). Для этого в Windows Azure вводится виртуальная машина без сохранения состояния (ВМ). Это означает, что локальные диски виртуальной машины не будут использоваться для хранения, поскольку они считаются не сохраняющими состояние или непостоянными. Любые изменения, внесенные после подготовки виртуальной машины, пропадут, если виртуальная машина будет перезаписана. Это может произойти, если происходит сбой оборудования на компьютере, на котором размещена виртуальная машина.

Постоянное хранилище Windows Azure

Рисунок 1 — Виртуальная машина Windows Azure без сохранения состояния и постоянное хранилище

Вместо этого рекомендуется хранить данные в выделенном постоянном хранилище, таком как SQL Azure или Windows Azure Storage.

Теперь давайте рассмотрим каждый метод установки программного обеспечения в Windows Azure более подробно.

Техника 1: Ручная установка через RDP

Первая техника, которую мы здесь обсуждаем, самая быстрая и простая, но, к сожалению, самая хрупкая. Идея состоит в том, чтобы выполнить удаленный рабочий стол (RDP) для конкретного экземпляра и выполнить установку вручную. Это может показаться глупым для некоторых из вас, поскольку мы только что обсуждали виртуальную машину без сохранения состояния выше. Тем не менее, этот метод довольно полезен в промежуточных или тестовых средах, когда нам нужно быстро оценить, может ли определенное программное обеспечение работать в среде Windows Azure.

Поймать

Установленное программное обеспечение не будет постоянным.

ПРИМЕЧАНИЕ: не используйте эту технику в производстве .

Техника 2: запуск задачи

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

Как?

1. Подготовка вашего сценария запуска

Создайте имя файла startup.cmd с помощью Блокнота или другого редактора ASCII. Скопируйте следующий пример и сохраните его.

powershell -c “(new-object
system.net.webclient).downloadfile(”http://download.microsoft.com/download/E/A/1/EA1BF9E8-D164-4354-8959-F96843DD8F46/ReportViewer.exe”, ” ReportViewer.exe”)
ReportViewer.exe /passive
  • Первая строка — загрузить файл с данного URL в локальное хранилище.
  • Вторая строка — запустить установщик «ReportViewer.exe» в пассивном режиме. Мы должны установить, используя пассивный или тихий режим, чтобы не было всплывающих окон. Также обратите внимание, что у каждого установщика могут быть разные параметры установки в тихом или пассивном режиме.

2. Включая startup.cmd в Visual Studio

Следующим шагом является включение вашего скрипта startup.cmd в Visual Studio. Для этого просто щелкните правой кнопкой мыши на имени проекта и выберите « Добавить существующий элемент» . Просмотрите файл startup.cmd . Затем установите « Копировать в выходной каталог » на « Копировать всегда », чтобы скрипт был включен в ваш пакет при его сборке.

Включение Startup.cmd в Сервис

Fiure 2 — вводящий startup.cmd в Сервис

3. Добавление задачи запуска в файл ServiceDefinition.csdef

Последний шаг — добавить раздел запуска в файл ServiceDefinition.csdef, в частности, ниже предполагаемого тега роли, как показано на рисунке ниже.

Добавление задачи запуска в ServiceDefinition.csdef

Рисунок 3 — Добавление задачи запуска в ServiceDefinition.csdef

  • CommandLine атрибут необходим путь нашего сценария запуска
  • ExecutionContext атрибут требует от нас , чтобы выбрать либо:

    • повышенный (который будет работать от имени администратора) или
    • ограниченный (без роли администратора)
  • TaskType имеет следующие параметры:

    • Простой [по умолчанию] — система ожидает завершения задачи перед запуском любых других задач
    • Справочная информация — система не ожидает завершения задачи
    • Передний план — аналогичен фону, за исключением того, что роль не перезапускается до тех пор, пока все приоритетные задачи не завершатся

Уловы

Вот некоторые ситуации, когда задача запуска не может быть использована:

1. Установка, которая не может быть прописана

2. Установка, которая требует большого участия пользователя

3. Установка, которая занимает очень много времени, чтобы завершить

Техника 3: Роль В.М.

Последний метод, который мы рассматриваем, — это VM Role Фактически, одна из причин, по которой Microsoft представила VM Role, заключается в решении проблем, которые не могут быть решены с помощью Startup Task.

В действительности, VM Role — это еще один вариант среди вычислительных ролей Windows Azure. Однако, в отличие от веб-ролей и рабочих ролей, вы будете нести большую ответственность при использовании виртуальной роли. Люди часто делают ошибку, рассматривая Роль В.М. как IAAS . Это не подходит, так как VM Role все еще наследует поведение от Web и Work Role. Роль виртуальных машин по-прежнему можно легко масштабировать так же, как веб и рабочие роли. Точно так же хранение данных на локальном диске виртуальной машины считается непостоянным.

На следующем рисунке показан жизненный цикл роли VM.

Рис. 4. Жизненный цикл роли виртуальной машины из учебного комплекта по платформе Windows Azure. Найдите всю презентацию PowerPoint здесь: http://acloudyplace.com/wp-content/uploads/2012/05/MovingApplicationsToTheCloudWithVMRole.pptx

Давайте рассмотрим первый шаг «Построение образа виртуальной машины» более подробно. Есть несколько задач, которые должны быть выполнены здесь. Прежде всего, это создать виртуальный жесткий диск , содержащий операционную систему. Следующим шагом будет установка компонента интеграции Windows Azure на образ. Впоследствии вы можете установить и настроить стороннее программное обеспечение. Наконец, вы делаете SysPrep для обобщения образа виртуальной машины.

Уловы

Есть несколько ловушек при использовании VM Role:

1. Вы будете нести большую ответственность при использовании VM Role, включая: создание, настройку, установку, загрузку и, в конечном итоге, поддержку образа VM.

2. До настоящего времени единственной поддерживаемой ОС для роли виртуальной машины является Windows Server 2008 R2.

3. На момент написания этой статьи VM Role все еще находится на стадии бета-тестирования. Как мы знаем, значительные изменения могут произойти с бета-продуктом.

Вывод

Мы уже рассмотрели три метода установки программного обеспечения в Windows Azure. Хотя в большинстве случаев задача запуска остается рекомендуемой, она не всегда может быть наиболее подходящей. Роль RDP и VM иногда может быть выгодной в зависимости от сценария.

Ссылка