Follow Me Widget

четверг, 30 июня 2011 г.

Windows Azure. Погружаемся в особенности работы с VM-ролью.

Добрый день, друзья. Давно не писал новых публикаций в свой блог. Наконец-то появилась свободная минутка поведать сообществу новую интересную информацию  о наиболее актуальной на сегодняшний день облачной платформе под названием Windows Azure.
Сегодня хотелось бы рассказать об относительно новой фишке Windows Azure, а именно VM-роли, а также об особенностях администрирования и мониторинга приложений построенных на базе VM-роли. Как мы все прекрасно знаем в мире Windows Azure существует 3 типа ролей – это широко нам известные Web и Worker роли, а также сравнительно недавно представленная VM-роль. По своей сути VM-роль – это VHD-образ операционной системы, запущенный в клауде. Как обычно подобные инновации представляют из себя палку о двух концах. К достоинствам можно причислить возможность запуска практически чего угодно на удаленных облачных машинах. К недостаткам – необходимость настройки всего что есть в операционной системе, а также необходимость ручного поддерживания такой роли и накатывания апдейтов на операционную систему. Кроме того следует отметить,
что:
  • На данный момент присутствует возможность загрузки  кастомизированного образа исключительно операционной системы Windows Server 2008 R2
  • Разработчик получает тотальный контроль над самим образом ОС.
  • Все также доступны основные управляющие операции, такие как: удаленный десктоп, перезагрузка виртуальной машины, и повторное монтирование изначального образа ОС.
    Зачем нам собственно может понадобиться VM-роль ? Как правило в ответе на данный вопрос отмечают 3 основных области применения VM-роли:
    • Продолжительные по времени инсталляции программных компонентов
    • Потенциально опасные инсталляции либо те в течение работы которых могут возникать ошибки
    • ПО, установка которого требует ручного управления
    Для всего остального достаточно связки Worker-роль + Startup Tasks.
    Итак с чего собственно начать, как загрузить свой первый VHD-образ на виртуальные машины Windows Azure. Прежде всего стоит познакомиться с жизненным циклом VM-роли. На рисунке чуть ниже я постарался смоделировать основные этапы необходимые для запуска нашей первой VM-роли в условиях Windows Azure.

    Windows Azure VM-Role Lifecycle

    Следует отметить, что апгрейд образа предусматривает использование диска изменений (Differencing Disk), позволяющего нам не загружать снова и снова в облако объемные образы, а накатывать лишь изменения на уже  существующий и работающий VHD. Для большего понимания давайте посмотрим еще один рисунок, показывающий общий подход к разворачиванию VM-роли в облаке.
    Windows Azure VM-role Creating And Managing

    Как можно отчетливо заметить все начинается с DVD. При помощи такой очень популярной и мощной штуки как Microsoft HyperV мы можем создать на основе DVD VHD-образ. После чего необходимо установить на виртуальный образ интеграционные компоненты Windows Azure, которые обеспечивают возможность запуска образа в условиях облачной среды. Как только у нас есть готовый образ мы загружаем его в облако (храниться он будет в Blob Storage). Следует отметить, что загрузить виртуальный диск можно при помощи командной утилиты csupload, а также воспользовавшись более удобной в плане UI утилитой, которую можно бесплатно скачать на codeplex http://mountvhdazurevm.codeplex.com/ После чего мы приступаем собственно к созданию  и настройке сервиса, использующего готовый VHD.
    Первые шаги ничем особенным не отличаются от стандартного начала работы с облачным сервисом – мы все также создаем новый проект. После чего нам необходимо добавить к проекту Virtual Machine роль. Делается это в контекстном меню подкаталога Roles.

    Adding New VM Role

    Дальше следует соответствующим образом настроить созданную роль, а именно указать криденшалы нашей подписки и VHD-образ, который и будет крутиться на виртуалке (естественно образ должен быть предварительно загружен на портал). 

    VM-role main settings

    Собственно это и есть наиболее важные настройки. Из других можно разве что отметить возможность настройки эндпоинтов для роли, а также удаленного рабочего стола. Процесс настройки этих фич ничем не отличается от аналогичных вещей для Web-роли и Worker-роли.
    Следующий шаг – это создание хостингового окружения на портале разработчика. Здесь также процесс стандартизирован. Все что нам нужно это загрузить на выбранный слот (напомню, что в облаке существует 2 слота: тестовый и производственный). Как только мы загрузим наш пакет в облако увидим стандартный процесс инициализации и запуска роли.

    Windows Azure VM-role initialization 

    На это сам процесс запуска роли можно считать завершенным. Если мы заранее настраивали на VHD службы IIS и открывали 80-й порт, то можно протестировать работоспособность виртуалки путем перехода в браузере на соответствующее аккаунту доменное имя. Кроме того как правило процесс отладки VM-роли проходит на самой машине посредством протокола RDP. Как я уже упоминал его необходимо предварительно настроить, после чего мы получим удаленный доступ к машине и возможность полностью контролировать и мониторить ее состояние.
    В завершение хотелось бы сказать пару слов об апгрейде VM-роли. Как я уже упоминал делается это при помощи дисков различий. Процесс создания диска различий довольно таки неплохо показан на данном видео:
     

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

    Attached Differencing Disk

    Для того, чтобы переключить роль на диск различий достаточно всего лишь выполнить in-place апгрейд прямо на портале путем нажатия кнопки “Configuration”, после чего в открывшемся окне указать название VHD-образа.

    Differencing Disk Selection

    И вуаля – роль подымается уже на базе обновленного образа !!
    В заключение хотелось бы отметить, что тарифы на использование VM-роли ничем не отличаются от таковых при использовании Web-роли или Worker-роли. Кроме того не менее важным вопросом является вопросы лицензирования. Так как на данный момент мы можем запустить лишь виртуальный образ Windows Server 2008 R2, то плата за его использование входит в стоимость использования процессорного времени. Позитивной плюшкой является то. что такие образы автоматически активируются при помощи лицензионных серверов Microsoft.
    На этом заканчиваю публикацию, посвященную VM-роли в Windows Azure. Надеюсь было познавательно и полезно ! До скорых встреч !

    Комментариев нет: