Я думаю, что используемая в вашем вопросе терминология сбивает с толку других респондентов.
В Windows Azure compute у вас есть облачная служба.Облачная служба может рассматриваться как ваша общая архитектура или, по крайней мере, внешний интерфейс, средний уровень и т. Д. (Любой уровень, где есть вычисления, а не хранилище).Например, ваше приложение может иметь интерфейс представления (веб-приложение ASP.Net MVC) и средний уровень (уровень обслуживания WCF поверх базового http).Мы сравниваем каждый из этих уровней с «ролями».Таким образом, в моем примере выше, у меня будет 2 веб-роли в моем облачном сервисе.У меня также может быть некоторая внутренняя обработка, которая выполняет какую-то пакетную работу, это тоже будет «роль».Роли, которые реагируют на взаимодействие с пользователем, такие как веб-сайты, слои служб и т. Д., Размещаются как «веб-роли», в то время как эти внутренние службы являются «рабочими ролями».
Тогда у нас есть экземпляры.Экземпляр - это количество виртуальных машин, которые предоставляются для обеспечения функциональности данной роли.Например, мне может потребоваться, чтобы на моем уровне представления было 5 экземпляров, потому что это требует большой нагрузки.Итак, моя 1 веб-роль имеет 5 экземпляров.Точно так же моему среднему уровню, служебному слою, может потребоваться только 3 экземпляра (из-за кэширования на уровне представления), и поэтому моя 1 веб-роль имеет 3 экземпляра.Моему внутреннему сервису может понадобиться только 1 экземпляр, поскольку его работа может быть выполнена в любое время, но если объем резервного журнала становится слишком большим, он может масштабироваться до 10 экземпляров, чтобы выполнить работу, а затем снова уменьшиться до 1 экземпляра.
Итак, ключевым моментом здесь является то, что вы можете иметь 1 или более экземпляров на одну роль.Из-за этого отношения имеет смысл, что вы можете иметь только одну роль на экземпляр (поскольку экземпляр «создается» из одного шаблона роли).
То, что Ринат пытался сказать выше, было то, что вы можете обманывать с помощьюрабочей роли и фактически размещают конечную точку http в WCF, таким образом, получая поведение типа веб-роли, однако при этом вы не получаете балансировку нагрузки веб-роли.Аналогично, веб-роль может иметь поведение стиля рабочей роли, переопределяя метод OnStart в WebRole.cs.Однако я бы все же утверждал, что в обоих случаях это только одна роль, и у вас может быть несколько экземпляров этой роли.
Бьорн указывал, что по умолчанию вы ограничены 20 экземплярами на роль, однако вы можете получить больше(поэтому он не заслуживает ИМХО -1).
Надеюсь, это прояснит ситуацию.