РЕДАКТИРОВАТЬ 3/3/2013 - обновлено для ссылки на конечные точки UDP, виртуальные машины и другие языки
РЕДАКТИРОВАТЬ 6/6/2013 - обновлено, чтобы отразить прекращение поддержки роли виртуальной машины и обновление базовых образов ОС для веб-ролей / рабочих ролей до Windows Server 2012
Хорошая ссылка от @Vladimir. Еще немного пояснений: все роли (веб, рабочие) по сути являются Windows Server. Веб-роли и рабочие роли почти идентичны:
- Веб-роли - это виртуальные машины Windows Server с включенным IIS.
- Рабочие роли - это виртуальные машины Windows Server с отключенным IIS (и вы можете включить его вручную)
- Роли виртуальных машин - это образы Windows Server 2008, которые вы создаете локально через Hyper-V и отправляете в Azure (они больше не поддерживаются и больше не доступны по состоянию на 31 мая 2013 г.
- Виртуальные машины - это образы Windows или Linux, созданные в Azure, хранящиеся в виде vhd-диска в вашем собственном хранилище и имеющие несколько улучшений по сравнению с ролью виртуальной машины. Например: поскольку vhd находится в вашей собственной учетной записи хранения, вы можете легко создать шаблон изображения из вашего vhd, скопировать его на новый vhd или даже загрузить на VM Depot (только для Linux).
Чтобы ответить на ваш вопрос о том, что делать с этими ролями: Учебный комплект платформы (упомянутый ниже) даст вам много хороших идей и примеров, но вот несколько простых вариантов использования:
- Вы можете запустить любой код, который предоставляет конечную точку tcp, http, https или udp (веб-приложения, службы SOAP / REST и т. Д.). Однако вам нужно подумать о способе работы без сохранения состояния - если у вас работает более одного экземпляра виртуальной машины, пользовательский трафик распределяется между этими экземплярами. Учебный комплект по платформе покажет вам, как использовать хранилище или кеш, чтобы справиться с этим.
- Вы можете запустить код, который живет в очереди или по таймеру. Возможно, у вас есть задачи по запросу, такие как создание эскизов фотографий или расчеты на основе ввода данных пользователем. Им не нужны внешние конечные точки. Вы можете поместить свои запросы в очередь, а затем запустить задачу, которая просто подпитывается из этой очереди (и вы можете масштабировать этот процесс по нескольким экземплярам, при этом сообщения очереди потребляются всеми экземплярами).
- Вы можете запускать .NET, Java, php, python, node, ruby и т. Д. Вам просто нужно распространить соответствующий код времени выполнения вместе с кодом вашего проекта. Все языки могут выполнять вызовы REST к API Azure, а для некоторых языков (включая упомянутые выше) есть пакеты SDK, которые позаботятся об этом за вас. Все языковые SDK здесь , с исходным кодом на github здесь .
С ролью виртуальной машины вы можете устанавливать и запускать программное обеспечение с очень сложными / длительными установками, установками, требующими ручного вмешательства, и установками, которые нельзя надежно автоматизировать. В этом случае вы должны заниматься обслуживанием ОС. Помимо роли ВМ, теперь существуют виртуальные машины, обеспечивающие создание виртуальных машин в облаке, а также поддержку Windows и Linux. Я бы предложил виртуальные машины вместо роли виртуальной машины.
С ролями Web и Worker операционная система и связанные с ней исправления позаботятся о вас; вы создаете компоненты своего приложения без необходимости управлять виртуальной машиной.
Используя роли виртуальных машин, вы создаете полный образ Windows Server, добавляете к нему перехватчики Azure и отправляете всю виртуальную машину в облако (а затем поддерживаете образ виртуальной машины с течением времени).
С виртуальными машинами вы просто выбираете образ ОС из галереи, который создается для вас и сохраняется как vhd в хранилище BLOB-объектов. Затем вы RDP / ssh и настраиваете, как хотите.
В шляпе архитектора здесь становится весело и интересно. Вы можете запускать веб-службы в веб-роли или рабочей роли (и иметь возможность открывать порты в любой из них); Вы можете разместить Tomcat или другие веб-серверы в роли Worker. вы можете объединить веб-сайт и службы в одной роли или разделить их на несколько ролей для различных потребностей в масштабируемости.
Для начала взгляните на комплект для тренировок на платформе и начните выполнять упражнения.