Сравнение Windows Azure Web Sites/Cloud Services/Virtual Machines

По мере того, как ваш проект, развернутый в Microsoft Azure как веб-сайт, разрастается, увеличивается потребность в ресурсах и степени контроля. В то время как веб-сайты являются новой функциональностью платформы, в Microsoft Azure доступен ещё один вариант развертывания приложения – с использованием Worker-ролей и Web-ролей – называющийся Cloud Services.

Для того чтобы решить, когда переходить с веб-сайтов на Cloud Services, необходимо провести сравнительный анализ их функциональности.

  Web Sites Cloud Services Virtual Machines
Модель использования SaaS PaaS IaaS
Тип приложений Веб-сайты отлично подходят для размещения веб-приложений, состоящих из клиентской разметки и какой-либо обработки на стороне сервера. Можно масштабировать весь сервис, но не часть его. Многослойные приложения, каждый слой которых необходимо масштабировать отдельно от других. Например, в момент большой нагрузки можно масштабировать только обработчик на стороне сервера, конвертирующий видеофайлы, но оставить количество экземпляров для веб-интерфейса. Сложные серверные приложения – например, SQL Server, Sharepoint Server. Приложения, которым необходимо сохранение состояния (stateful), организация ферм серверов, legacy-приложения.
Модель развертывания

· Quick Create – создание пустого сайта,

· Quick Create with Database – создание пустого сайта и ассоциированной с ним базы данных MySQL/Windows Azure SQL Database,

· Using the Gallery – создание сайта из подготовленного образа галереи образов Windows Azure Web Sites

· Web-роль – слой приложения, выполняющий роль веб-интерфейса, взаимодействующего с пользователем,

· Worker-роль – слой приложения, выполняющий роль обработчика данных.

Виртуальная машина.
Сложность миграции существующего приложения Низкая. Существующее веб-приложение можно мигрировать в Web Sites без изменений. Средняя/высокая. В зависимости от ситуации может быть необходимо переосмысление архитектуры существующего приложения для эффективного разделения на Web/Worker-роли. Низкая. Любое существующее приложение может быть мигрировано в составе подготовленного образа.
Администрирование Низкая степень контроля – масштабирование сервиса, сервисы FTP, Team Foundation Services, Git. Запуск веб-сайта (например, WordPress или Drupal) можно осуществить в несколько кликов мышкой. Средняя степень контроля – администраторский доступ, доступ по удаленному рабочему столу RDP к экземплярам ролей, запуск кода с повышенными правами, start-up задачи. Возможна автоматизация администрирования. Высокая степень контроля – пользователь самостоятельно подготавливает, загружает и обслуживает образ системы.
       
Возможность развертывания приложений с использованием Git/FTP Да Да -
Поддержка дополнительных сервисов платформы Caching, Service Bus, SQL Azure Database, CDN, Traffic Management Caching, Service Bus, SQL Azure Database, CDN, Traffic Management, Azure Network -
Поддержка распространенных языков программирования IIS-совместимые технологии, ASP.NET, ASP, Node.js, PHP, Python IIS-совместимые технологии, ASP.NET, ASP, Node.js, PHP -
Поддержка MySQL Встроенная, с использованием портала управления Есть, но с использованием ClearDB. На портале управления интегрировать сервис с MySQL нельзя. -
Ячейки развертывания (тестовая, production) Нет Да -
Доступ по RDP Нет Да -
Возможность интеграции сторонних фреймворков Нет Да -

Ориентиро-

вочное время развертывания

Около минуты. 5-10 минут. 10-20 минут (+ задержка, связанная со скоростью интернет-подключения)
ОС Windows Server Windows Server Windows Server/Linux
SLA 99.95% 99.95% 99.95%

Резюме:

Выбирайте Web Sites, если ваш веб-сайт не требует сложного администрирования платформы, если вам необходим только IIS и то, что веб-сайт будет до момента перевода в режим Reserved выполняться в одном виртуальном (но изолированном) пространстве вместе с веб-сайтами других пользователей.

Выбирайте Cloud Apps, если у вас веб-сайт или приложение, которое требует определенных задач по автоматизации, администрированию и дальнейшему обслуживанию. По умолчанию работает на собственном, изолированном от других пользователей, оборудовании.

Выбирайте Virtual Machines, если хотите иметь полный контроль над своими приложениями любой сложности, в том числе теми, адаптировать которые под «облако» не представляется возможным.