В чем разница между Web Sites, Cloud Services, Virtual Machines?

Tags: azure, azure web sites, azure web role, azure worker role, virtual machines

Привет!

Тема нашей сегодняшней беседы "В чем разница между Web Sites, Cloud Services, Virtual Machines?". Мы можем с равным успехом использовать все эти три сервиса для размещения нашего веб приложения, но я хочу объяснить в чем разница между ними и в каких случаях какой сервис лучше использовать.

Для начала давайте еще раз вспоним что из себя представляют любые вычислительные мощности.

Когда мы сравниваем собственные вычислительные мощности с вычислительными мощностями как услуга, мы понимаем, что основное отличие между ними заключается в уровне ответственности поставщика услуг. При использовании собственных серверов мы должны закрыть самостоятельно все задачи по созданию необходимой инфраструктуры и ее дальнейшем обслуживании. При использовании сервисов Web Sites, Cloud Services, Virtual Machines мы делегируем определенное количество задач провайдеру услуг. В зависимости от того сколько задач мы делегировали провайдеру услуг мы получим отличные друг от друга сервисы.

Для оценки полученных сервисов давайте определим такие критерии:

  • Управляемость - возможность влиять на окружение в рамках которого исполняется код приложения.
  • Гибкость - возможность управлять количеством ресурсов, которое потребляет данное приложение.
  • Сложность управления - количество дополнительных знаний и навыков необходимых для организации корректного запуска системы, а также поддержки работоспособности системы.

Теперь давайте посмотрим оценку каждого сервиса по каждому критерию.

На данном графике видно, что вместе с увеличением критериев управляемости и гибкости у нас увеличивается сложность управления данным сервисом. Если немного перестроить график, то получим следующее:

Если рассмотреть этот график в контексте уровней ответственности (списка задач, которые мы отдали на решение), то можно увидеть следующую тенденцию - чем больше возможностей мы хотим получить, тем больше ответственности ложиться на наши плечи.

Резюмируя все вышесказанное - любишь кататься люби и саночки возить.

Теперь давайте перейдем к более техническим деталям, так как разница между Web Sites, Cloud Services, Virtual Machines состоит не только в управляемости, гибкости и сложности управления.

Начнем с сервиса Virtual Machines. Каждая виртуальная машина характеризуется такими параметрами как количество ядер процессора, объем оперативной памяти, системный диск (диск с операционной системой). Также виртуальная машина может содержать диски с данными и быть подключенной к виртуальной сети.

При удалении виртуальной машины все ее диски (диск операционной системы и диски данных) сохраняются. Используя диск ОС можно в любом момент времени создать новую виртуальнцю машину. Диск с данными в один момент времени может быть присоединен только к одной виртуальной машине.

Сервис Cloud Services состоит из набора экземпляров (instances) разных серверов. Каждый экземпляр (instance) характерезуется количеством ядер процессора, объемом оперативной памяти и пакетом приложения, который на нем развернут. В качестве пакета приложения может выступать, например, веб сайт. Самым важным отличием от сервиса Virtual Machines является то, что Cloud Services не сохраняют состояние файловой системы. Т.е. в случае создания новго экземпляра сервиса или в случае развертывания приложения на новом оборудовании (например по причине поломки старого) будет использован первоначально загруженный пакет приложения.

Сервис Web Sites состоит из общей директории, в которой хранится сам сайт, и набора серверов, которые обслуживают этот сайт. Каждый сервер характеризуется количеством ядер и объемом оперативной памяти. Также стоит указать, что сервис Web Sites имеет бесплатный режим работы где вас ограничивают в дневном трафике и минутах процессорного времени. Используя сервис Web Sites мы не можем доустанавливать свои модули на сервер, все что у нас есть - это исполняемая среда .net framework (php, python, node .js). При удалении веб сайта все данные файловой системы будут удалены.

В дальнейшем мы рассмотрим на небольшом примере процесс разворачивания простого веб сайта на каждом из этих сервисов.

И в завершение хочу рассказать про основные сценарии работы в которых рекомендован для использования тот или иной сервис.

Сервис Web Sites лучше подходит для:

  • Миграции существующих сайтов в облако.
  • Быстрое создание сайтов на основе популярных CMS.
  • Быстрое развертывание демонстрационного или тестового окружения окружения.

Сервис Cloud Services лучше подходит для:

  • Создания многоуровневых приложений.
  • Создания приложений которые требуют дополнительной настройки сети.
  • Создания приложение которые требуют дополнительных компонентов.

Сервис Virtual Machines следует использовать в таких случаях:

  • Миграция существующих бизнес приложений в облако.
  • Использование гибридного облака.
  • Использование виртуальных машин на базе операционной системы Linux.

No Comments

Add a Comment

Поделиться