2012-06-08 5 views
206

Каковы существенные различия между новыми Azure Web Sites и традиционными ролями Azure Web для приложения ASP.NET MVC? Какую причину я бы выбрал «веб-сайт» над «веб-ролью» или наоборот?В чем разница между веб-сайтом Azure и ролью Azure Web

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

Есть ли что-то, что я могу сделать с «веб-сайтом», который трудно или невозможно с помощью веб-роли? Например, становится проще размещать несколько веб-сайтов в одном наборе виртуальных машин с помощью «веб-сайтов»? Я что-то теряю с помощью «веб-сайта» и «роли в Интернете»? Возможность тонкой настройки IIS? Возможность использования службы кэширования локально?

+0

имели те же QS. они должны действительно разъяснить их документы. – 90abyss

ответ

196

Web Роли дать вам несколько функций за пределами веб-приложений (ранее веб-сайтов):

  • Возможность запуска повышенные сценарии запуска устанавливать приложения, изменять параметры реестра, установить счетчики производительности, тонкая настройка IIS и т.д.
  • Возможности разбить приложение на на ярусы (может быть, веб-роль для переднего конца, работник Роль для обработки бэкэнда) и масштабировать независимо
  • Возможности RDP в вашу виртуальную машину для отладки
  • изоляции сети
  • Выделенный виртуальный IP-адрес, который позволяет экземпляров веб-ролей в облачной службе для доступа к IP-ограниченным виртуальных машин
  • ACL-ограничено конечными точками (добавлена ​​в Azure SDK 2.3, апрель 2014)
  • Поддержка любых TCP/UDP портов (веб-сайты ограничиваются TCP 80/443)

веб-приложения имеют преимущества перед веб-ролей, хотя:

  • практически мгновенное развертывание с историей развертывания/откатов
  • Visual Studio Интернет, GitHub, локальная мерзавец, FTP, CodePlex, DropBox, BitBucket поддержка развертывания
  • Возможность раскатать одну из многочисленных CMS, и рамки, (как WordPress, Joomla, Django, MediaWiki, и т.д.)
  • Использование из базы данных SQL или MySQL
  • простой и быстрый в масштабе от свободного уровня до общего уровня для выделенного уровня
  • Web Вакансии
  • Резервные копии содержимого веб-сайта
  • Встроенный веб-инструментов отладки (простой Cmd/консоль отладки powershell, проводник процессов, диагностические инструменты, такие как поток журналов и т. д.)

С апреля 2014 года и сентябре 2014 свитков, теперь есть некоторые особенности, общие для обоих приложения Web и веб-ролей (и рабочих ролей), в том числе:

  • STAGING + производственные слоты
  • Wildcard DNS, SSL сертификаты
  • Visual Studio интеграции
  • поддержка менеджер трафика
  • Виртуальная поддержка сети

Вот Screengrab я взял из формы выбора галереи веб-сайты: enter image description here

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

+0

Помимо Git + ftp еще одна отличная версия PublishSettings (также может использоваться в WebMatrix 2, например) – XIII

+17

Разделение на уровни не является дифференцирующим фактором. Вы можете использовать роли Рабочих с веб-сайтами. – RickAndMSFT

+4

Что касается уровней: с помощью веб-сайтов вам необходимо подключиться к Работодателю через внешнюю конечную точку, поскольку веб-сайты не поддерживают виртуальные сети. Далее: вам придется разделить свой код на несколько развертываний (один для веб-сайтов, один для облачной службы с ролью пользователя). С помощью Cloud Service вы можете легко разбить свой код на масштабируемые уровни, а затем размер и масштаб каждого уровня независимо друг от друга, при этом внутренняя связь между указанными уровнями. Это то, что я имел в виду, когда указывал уровни как отличитель Cloud Services (веб-работник). –

42

EDIT 2014: Для чего это стоит, большая часть информации в этом ответе более не верна - см. Комментарии.

Добавить больше @David ответ:

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

Большая разница между общей веб-страницей и веб-сайтом Azure заключается в том, что веб-сайт считается связанным с процессом, в то время как роли связаны с VM.

Веб-сайты хранятся в доле контента, доступном со всех «веб-серверов» в ферме, поэтому нет никакой репликации или чего-то подобного.

сайты

Windows Azure не может иметь свое собственное имя хоста вместо этого они должны использовать WebSiteName .azurewebsites.net только и вы уверены, что можете использовать параметр CNAME в DNS вашего провайдера, чтобы направить ваш запрос точно так же с предыдущей роли Windows Azure только тогда, когда они работают в режиме резервирования. Настройка CNAME не поддерживается для общих веб-сайтов.

+0

AFAIK WebRoles тоже не получают свое собственное имя хоста - все они rolename.cloudapp.net. Разве есть какая-то особенность, о которой я не знаю? –

+0

Не можете ли вы использовать DNS для создания псевдонима CNAME, указывающего с www.yourdomain.com на websitename.azurewebsites.net? –

+0

Я верю, что для веб-сайтов WA только приложения, работающие с * зарезервированными * экземплярами (выделенные виртуальные машины), могут обладать настраиваемыми доменами. – smarx

13

Azure Web Role похож на виртуальный частный хост. Вы получаете виртуальную машину, которая действует как ваш веб-сервер, и вы владеете этим экземпляром виртуальной машины.

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

34

Я только что разместил всеобъемлющую запись в блоге по этому вопросу в http://robdmoore.id.au/blog/2012/06/09/windows-azure-web-sites-vs-web-roles/.

Отрывок из моего заключения: Если вам нужны огромные, дата-центры США, США, США или США, нестандартная конфигурация (IIS, порты, диагностика, сертификаты безопасности или сценарии запуска), RDP или затраты- (в сочетании с вашей веб-ролью), то вам сейчас придется придерживаться веб-ролей.

В противном случае веб-сайты - отличный вариант!

+1

Но где код Роб? –

6

Возникает еще один сценарий: после устранения этих 500 исключений они ничего не сказали о способности веб-сайтов Azure обрабатывать подстановочные CNAME. Некоторые из нас используют ускоритель веб-роли Nate в облачных службах, потому что однострочный взлом предоставляет возможность поддомена подстановочных знаков в программном обеспечении Nate. Мы не можем перемещать эти поддомены для подстановочных знаков, пока мы не узнаем, что Azure Websites смогут обрабатывать их. Если он никогда не сможет это сделать, тогда он опустится как положительный на стороне веб-роли уравнения. Также следует отметить, что с ценой, точно такой же (по истечении срока действия скидки на предварительный просмотр), я не уверен, что хочу отказаться от доступа к RDC и Event Viewer (просто для того, чтобы упомянуть две вещи).

0

Веб роль представляет собой виртуальную машину, которая содержит несколько сайтов

+2

Не совсем точный. Вы * можете * размещать несколько веб-сайтов в веб-роли, но веб-роли выходят далеко за рамки этого, поскольку они являются виртуальными машинами Windows Server. Вы можете вообще не запускать * любые * веб-сайты и просто запускать фоновые задачи, конечные точки REST, серверы баз данных и т. Д. (Нет необходимости использовать IIS, и вы даже можете отключить его). И не забывайте, что они без гражданства, что делает их очень легко масштабируемыми. –

+0

@DavidMakogon Итак, могу ли я сказать, что веб-роли фактически выполняют некоторые задачи, но поскольку он использует HTTP-протокол, он называется роль «WEB», и поскольку он поддерживает этот протокол, он также поддерживает веб-сайты, но это не первичный цель как таковая? –

+0

@AdityaBokade Не пытайтесь больше читать в нем: имя является реликвией с момента запуска Azure, где веб-роли были единственным способом * для размещения внешнего приложения (рабочие роли не имели внешних конечных точек, и ничего еще не существовало - не VM, а не веб-приложения). Роли Web (и рабочих) - это виртуальные машины Windows без учета состояния, со специальной упаковкой для вашего кода и сценариев запуска. Он не определяется путем поддержки http: вы можете общаться с внешними ресурсами через http (s), tcp, udp или даже вообще ничего. Это действительно все, что нужно. –

4

Azure веб-сайтов, Web Workers и виртуальные машины являются три разные вычислительные подходы доступны на Windows Azure. Они различаются по уровню контроля и ответственности:

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

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

Пожалуйста, смотрите на этой статьи для получения дополнительной информации, чтобы сделать более осознанный выбор:

Она сводится к компромиссу между простотой использования и возможностей.

3

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

Для веб-сайта вам необходимо ежемесячно оплачивать стандартный экземпляр (малый экземпляр - самый дешевый вариант). Это означает, что для получения пользовательского домена https вам будет стоить ~ 70/месяц для небольшого экземпляра плюс ~ 41/месяц для SSL, который поддерживает все браузеры.

Для WebRole вы можете получить экземпляр XS и добавить свой собственный SSL бесплатно, что означает ~ 15 долларов США в месяц , и у вас есть собственный домен с SSL.

Для сайта многопользовательских проверить Multi-tenant Azure dynamic wildcard CName

6

Azure Web Sites позволяет быстро создавать масштабируемые веб-сайты на Azure. Вы можете использовать Azure Portal или инструменты командной строки для настройки веб-сайта с такими популярными языками, как .NET, PHP, Node.js и Python.Поддерживаемые фреймворки уже развернуты и не требуют дополнительных шагов установки. В галерее Azure Web Sites содержится множество сторонних приложений, таких как Drupal и WordPress, а также разработки, такие как Django и CakePHP. После создания сайта вы можете либо перенести существующий веб-сайт, либо создать совершенно новый веб-сайт. Веб-сайты устраняют необходимость управления физическим оборудованием, а также предоставляют несколько вариантов масштабирования. Вы можете перейти от общей модели с несколькими арендаторами к стандартному режиму, когда выделенные машины обслуживают входящий трафик. Веб-сайты также позволяют интегрироваться с другими службами Azure, такими как база данных SQL, служебная шина и хранилище. Используя предварительный просмотр Azure WebJobs SDK, вы можете добавить фоновую обработку. Таким образом, веб-сайты Azure упрощают фокусирование на разработке приложений, поддерживая широкий спектр языков, приложений с открытым исходным кодом и методологий развертывания (FTP, Git, Web Deploy или TFS). Если у вас нет специализированных требований, требующих облачных сервисов или виртуальных машин, наиболее вероятным вариантом является веб-сайт Azure.

Облачные услуги позволяют создавать высокодоступные масштабируемые веб-приложения в богатой платформе как службе (PaaS). В отличие от веб-сайтов, облачный сервис создается сначала в среде разработки, например Visual Studio, перед развертыванием в Azure. Для таких фреймворков, как PHP, требуются специальные шаги или задачи развертывания, устанавливающие фреймворк при запуске роли. Основным преимуществом Cloud Services является возможность поддержки более сложных многоуровневых архитектур. Единая служба облака может состоять из роли веб-интерфейса и одной или нескольких рабочих ролей. Каждый уровень можно масштабировать независимо. Существует также повышенный уровень контроля над инфраструктурой вашего веб-приложения. Например, вы можете использовать удаленный рабочий стол на компьютерах, на которых запущены экземпляры роли. Вы также можете использовать сценарии более сложных IIS и изменений конфигурации машины, которые запускаются при запуске роли, включая задачи, требующие управления администратором.

Виртуальные машины позволяют запускать веб-приложения на виртуальных машинах в Azure. Эта возможность также известна как Инфраструктура как услуга (IaaS). Создайте новые серверы Windows Server или Linux через портал или загрузите существующий образ виртуальной машины. Виртуальные машины предоставляют вам максимальный контроль над операционной системой, конфигурацией и установленным программным обеспечением и сервисами. Это хороший вариант для быстрой миграции сложных локальных веб-приложений в облако, поскольку машины могут перемещаться в целом. С помощью Virtual Networks вы также можете подключить эти виртуальные машины к локальным корпоративным сетям. Как и в облачных службах, у вас есть удаленный доступ к этим машинам и возможность выполнять изменения конфигурации на административном уровне. Однако, в отличие от веб-сайтов и облачных служб, вы должны полностью управлять изображениями виртуальной машины и архитектурой приложений на уровне инфраструктуры. Одним из основных примеров является то, что вы должны применять свои собственные исправления к операционной системе.

См обновляется и всеобъемлющее сравнение по этой ссылке: http://azure.microsoft.com/en-us/documentation/articles/choose-web-site-cloud-service-vm/

0

Это общий вопрос, и я хотел бы выдавать выписку из MSDN.

Доступ к услугам, как кэширование, Service Bus, хранения, SQL Azure database- WebSite: Да WebRole: Да

Поддержка ASP.NET, классический ASP, Node.не JS, PHP- WebSite: Да WebRole: Да

Совместное содержание и Конфигурация- WebSite: Да WebRole: Нет

Deploy код с GIT, FTP- WebSite: Да WebRole: Нет

Near мгновенное развертывание -WebSite: Да WebRole: Нет

Встроенный MySQL-как-услуга поддержки-WebSite: Да WebRole: Да

Несколько сред развертывания (производство и постановка) -WebSite: Нет WebRole: Да

изоляции сети-WebSite: Нет WebRole: Да

Удаленный доступ к рабочему столу для серверов-WebSite: Нет WebRole: Да

Возможность запуска программ с повышенными разрешениями WebSite: Нет WebRole: Да

Возможность определить/не выполнять стартовые задачи-сайт: нет WebRole: Да

Возможности использовать неподдерживаемые рамки или библиотеку-сайт: нет WebRole: Да

поддержки ОС Windows Azure Connect/Windows Azure Сетевое WebSite: Нет WebRole: Да

Чтобы получить более подробно, перейдите по этой ссылке: http://blogs.msdn.com/b/silverlining/archive/2012/06/27/windows-azure-websites-web-roles-and-vms-when-to-use-which.aspx

Смежные вопросы