Краткое сравнение Microsoft 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, если хотите иметь полный контроль над своими приложениями любой сложности, в том числе теми, адаптировать которые под «облако» не представляется возможным.