Сайт dreamspark пишет что код истек :( |
Виртуальные машины в Windows Azure
Закупка ресурсов и дальнейшее развертывание локальной инфраструктуры – это долгий и сложный процесс, в котором принимает участие множество сторон, выполняющих различные задачи. Локальная инфраструктура часто простаивает – далеко не каждый владелец может обеспечить постоянную загрузку. Виртуализация обеспечивает экономию ресурсов, но, тем не менее, требует серьезных капиталовложений.
Публичные облачные платформы предоставляют возможность пользователям использовать размещенные в них ресурсы для собственных нужд. Подобное предложение называется Infrastructure as a Service (IaaS), и клиенты, использующие это предложение, оплачивают только те ресурсы, которые используют, и не зависят от технического персонала, которому необходимо время на развертывание и поддержку ресурсов.
Windows Azure Virtual Machines – это сервис, который представляет собой предложение Infrastructure-as-a-Service на платформе Windows Azure. Отличие этого метода поставки от остальных заключается в том, что, если пользователь создает виртуальную машину, именно он становится ответственным за все рутинные задачи по обновлению, настройке программного обеспечения, поддержке и т.д., операционной системы, но не низлежащего аппаратного стека и стека виртуализации – эти аспекты по-прежнему находятся под управлением вендора, предоставляющего облачную услугу. Если требуется вмешательство разработчика в процесс миграции или создания инфраструктуры на основе виртуальных машин, то это уже не чистый метод IaaS, но симбиоз IaaS и PaaS. Наиболее распространенными сценариями использования Windows Azure Virtual Machines являются:
- Поддержка серверных приложений. Сложные программные инфраструктуры, развертывание которых на локальных ресурсах могло бы занять неопределенно долгое время (большая часть которого была бы потрачена на непосредственное взаимодействие с аппаратной, коммуникационной и, часто, виртуализационной инфраструктурой), с помощью Windows Azure Virtual Machines могут быть развернуты за короткое время и, по необходимости, прозрачно интегрированы с локальной инфраструктурой с помощью вспомогательных сервисов типа Windows Azure Virtual Networks, обеспечивающих безопасный приватный канал связи типа VPN.
- Миграция сложных приложений и программных инфраструктур. Процесс миграции сложных серверных приложений или legacy-приложений, в код которых очень сложно или невозможно внести архитектурные изменения, на Windows Azure Virtual Machines логически прост – достаточно создать виртуальный образ сервера, на котором уже работает это приложение, и загрузить этот образ в облако Windows Azure, либо подключить его как диск данных к уже существующей виртуальной машине.
- Создание гибридных решений. При нехватке локальных ресурсов и невозможности развернуть быстро (или в принципе) недостающие ресурсы локально, облако Windows Azure предлагает за короткое время создать дополняющую облачную инфраструктуру и интегрировать ее с локальной, выполняющей основную часть работы.
- Развертывание тестовых лабораторий. В локальной инфраструктуре частой проблемой является нехватка мощных ресурсов для развертывания нового программного продукта либо временного развертывания ресурсов для какой-то краткосрочной цели, например, в академических учреждениях подобным сценарием может быть развертывание виртуальных машин для выполнения лабораторных работ, которые актуальны в течении короткого промежутка времени.
Для развертывания виртуальной машины с помощью Windows Azure Virtual Machines можно использовать один из трех методов:
- Создание на портале управления Windows Azure,
- Использование командной строки,
- Программный вызов REST API (включая Powershell).
После выбора метода развертывания виртуальной машины необходимо выбрать образ операционной системы, который будет использоваться, и размер экземпляра этой виртуальной машины. Диск, который будет затем создан, будет расположен в хранилище блобов.
Размер экземпляров, выполняющих виртуальные машины, отличается по основным параметрам. Самый маленький экземпляр типа Extra Small разделяет ресурсы центрального процессора с экземплярами других пользователей.
В галерее преднастроенных образов доступен широкий выбор дистрибутивов как Microsoft, так и Linux. В галерее образов на 9.07.2013 доступны образы следующих операционных систем:
Windows Server
- Windows Server 2008 R2 SP1
- Windows Server 2012 Datacenter
- Windows Server 2012 R2 Preview
SQL Server
- SQL Server 2014 CTP1
- SQL Server 2012 SP1 Enterprise
- SQL Server 2012 SP1 Standard
- SQL Server 2008 R2 Enterprise
- SQL Server 2008 R2 Standard
BizTalk
- BizTalk Server 2013 Standard
- BizTalk Server 2013 Enterprise
- BizTalk Server 2013 Evaluation
SharePoint
- SharePoint Server 2013 Trial
Visual Studio
- Visual Studio Ultimate 2013 Preview
Linux
- OpenSUSE 12.3
- CentOS 6.3
- Ubuntu 12.04
- Ubuntu 12.10
- SUSE Linux Enterprise Server 11 SP2
В приведенном списке присутствует Visual Studio 2013. Ещё один из сценариев для Windows Azure Virtual Machines – использование виртуальной машины для разработки. Вместо того, чтобы устанавливать новый программный продукт, используемый в процессе разработки, программист может за несколько минут получить работающую виртуальную машину и проверить, подходит ли для его задач новая версия.
В 2013 году было представлено новое хранилище образцов виртуальных машин — VM Depot. VM Depot — это проект для сообщества Windows Azure, запущенный командой Microsoft Open Technologies, Inc, ответственной за открытые технологии внутри Microsoft. Содержимое портала, а также настроенные для разных задач виртуальные машины, создаётся и публикуется силами сообщества.
Перенос сервера в облако
Для того, чтобы полностью мигрировать физический сервер в виртуальный, необходимо создать файл виртуального диска VHD, провести процедуру генерализации, после чего воспользоваться утилитой csupload, идущей в комплекте, или любой утилитой, которая позволяет загружать большие данные в хранилище блобов. Далее на портале управления из VHD-файла, сохраненного в хранилище блобов, должен быть создан диск, который затем будет использоваться как шаблон для развертывания виртуальных машин. Подобный подход удобен тем, что диск может быть использован в задачах автоматизации развертывания и дальнейшей настройки, например, сотен идентичных виртуальных машин.
Необходимо заметить, что генерализация виртуальной машины – не требование. Генерализацию необходимо проводить тогда, когда стоит задача использовать ее как образ для создания количества виртуальных машин, большего единицы – в процессе генерализации удаляются все пользовательские и некоторые системные настройки, что позволяет развернуть произвольное количество идентичных виртуальных машин. Если не производить генерализацию, то образ может быть использован только для одной виртуальной машины. Обязательным же требованием является использование фиксированного VHD.