В Windows Azure: какова роль веб-роли, роли сотрудников и роли VM?

В приложении, в котором я работаю, содержится веб-роль: это простое веб-приложение. Мне нужно было разместить приложение в Windows Azure, поэтому я создал веб-роль. Я действительно хочу знать, для чего предназначены эти роли. Каково их значение кодирования мудрым или хранилищем?

Ответ 1

РЕДАКТИРОВАТЬ 3/3/2013 - обновлен для ссылки на конечные точки UDP, виртуальные машины и другие языки

РЕДАКТИРОВАТЬ 6/6/2013 - обновлен, чтобы отразить прекращение роли виртуальной машины, а также обновить базовые ОС ОС на веб-странице/рабочей станции до Windows Server 2012

Хорошая ссылка @Владимира. Еще немного разъяснений: все роли (веб, работник) - это, по сути, Windows Server. Роли Web и Worker почти идентичны:

  • Веб-роли - это виртуальные машины Windows Server с включенным IIS.
  • Роли рабочих - это виртуальные машины Windows Server с отключенным IIS (и вы можете вручную включить его).
  • Роли VM - это изображения Windows Server 2008, которые вы создаете локально через Hyper-V и загружаете в Azure (и теперь прекращены и больше не доступны по состоянию на 31 мая 2013 года
  • Виртуальные машины - это изображения Windows или Linux, созданные в Azure, хранятся как vhd в вашем собственном хранилище и имеют несколько улучшений в отношении роли VM. Например: поскольку vhd находится в вашей собственной учетной записи хранилища, вы можете легко создать шаблон изображения из своего vhd, скопировать его в новый vhd или даже загрузить в VM Depot (только для Linux).

Чтобы ответить на вопрос о том, что делать с этими ролями: Комплект для обучения платформе (упомянутый ниже) даст вам массу хороших идей и образцов, но вот несколько простых примеров использования:

  • Вы можете запустить любой код, который предоставляет конечную точку tcp, http, https или udp (веб-приложения, службы SOAP/REST и т.д.). Вам нужно подумать о безгражданном способе делать что-то, хотя - если у вас более одного экземпляра виртуальной машины, пользовательский трафик распределяется по этим экземплярам. Учебный комплект платформы покажет вам, как использовать хранилище или кеш, чтобы справиться с этим.
  • Вы можете запускать код, который живет в очереди или таймере. Возможно, у вас есть задачи по требованию, такие как создание миниатюр фотографий, или расчеты на основе ввода пользователем. Им не нужны внешние конечные точки. Вы можете отправить свои запросы в очередь, а затем запустить задание, которое просто отпишет эту очередь (и вы можете масштабировать этот процесс по нескольким экземплярам, ​​с сообщениями в очереди, потребляемыми всеми экземплярами).
  • Вы можете запускать .NET, Java, php, python, node, ruby ​​и т.д. Вам просто нужно распределить соответствующий код времени выполнения вместе с кодом проекта. Все языки могут совершать REST-вызовы API Azure, и на нескольких языках (включая упомянутые выше) есть SDK, которые позаботятся об этом для вас. Все языковые SDK здесь, с исходным кодом на github, здесь.
  • С ролью VM вы можете установить и запустить программное обеспечение с очень сложными/трудоемкими установками, установками, требующими ручного вмешательства, и установками, которые нельзя надежно автоматизировать. В этом случае вы должны иметь дело с обслуживанием ОС. Помимо роли VM, в настоящее время существуют виртуальные машины, предоставляющие облачную конструкцию VM, а также поддержку Windows и Linux. Я бы предложил виртуальные машины по роли VM.

С ролями Web и Worker ОС и связанные с ними исправления заботятся о вас; вы создаете свои компоненты приложения без необходимости управления виртуальной машиной.

С ролями VM вы создаете полный образ Windows Server, добавляете к нему привязки Azure и вставляете всю виртуальную машину в облако (а затем сохраняете образ VM с течением времени).

С помощью виртуальных машин вы просто выбираете образ ОС из галереи, который создается для вас и хранится как vhd в хранилище blob. Затем вы RDP/ssh и настройте его как хотите.

Ношение шляпы архитектора, это то, где она становится интересной и интересной. Вы можете запускать веб-службы в роли веб-роли или рабочей роли (и иметь возможность открывать порты в любом из них); Вы можете разместить Tomcat или другие веб-серверы в роли "Рабочий". вы можете выбрать объединение веб-сайта плюс услуги в одной роли или разделить их на несколько ролей для различных потребностей масштабируемости.

Для хорошего начала ознакомьтесь с Training Training Kit и начните выполнять упражнения.

Ответ 2

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

Ответ 3

Я наткнулся на этот SO-вопрос/ответ несколько дней назад, и я нашел ответы, которые были предоставлены немного над моей головой (я новичок в Azure и в Интернете). Сегодня я нашел это резюме в базовых принципах Azure, которые, как я думал, были хорошим обзором на высоком уровне основных различий между рабочими и веб-ролями:

Основное различие между ними состоит в том, что экземпляр веб-роли запускает IIS, а экземпляр рабочей роли - нет. Оба так же, как и для приложения использовать оба. Например, экземпляр веб-роли может принимать запросы от пользователей, а затем передать их в экземпляр рабочей роли для обработки. Чтобы масштабировать приложение вверх или вниз, вы можете запросить Windows Azure создает больше экземпляров любой роли или закрывает существующие экземпляров. И похоже на Windows Azure Virtual Machines, вы взимается только за время, в течение которого каждый экземпляр роли веб-или рабочей группы работает.

Если вы новичок в разработке Azure, я настоятельно рекомендую прочитать полную статью здесь: Вступление в Windows Azure

Я надеюсь, что это поможет кому-то так же, как помогло мне включить лампочку.

Ответ 4

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