В чем разница между веб-сайтом Azure и веб-ролью Azure
каковы материальные различия между новыми Веб-Сайты Azure и традиционные веб-роли Azure для ASP.NET приложение MVC? По какой причине я бы выбрал "веб-сайт "вместо" веб-роли " или наоборот?
предположим, что мне понадобится равная емкость в любом случае (например, 2 небольших экземпляра). Цены кажутся сопоставимыми, кроме того, что есть временная скидка 33% для веб-сайтов, пока они находятся в предварительном просмотре период.
есть ли вещи, которые я могу сделать с "веб-сайтом", которые являются трудными или невозможными с веб-ролью? Например, легко ли поместить несколько веб-сайтов в один набор виртуальных машин с помощью "веб-сайтов"? Теряю ли я что-нибудь с "веб-сайтом" против "веб-роли"? Возможность тонкой настройки IIS? Возможность использовать службу кэша локально?
10 ответов:
веб-роли дают вам несколько функций за пределами веб-приложений (ранее веб-сайты):
- возможность запуска повышенных сценариев запуска для установки приложений, изменения параметров реестра, установки счетчиков производительности, тонкой настройки IIS и т. д.
- возможность разделить приложение на уровни (возможно, веб-роль для переднего плана, рабочая роль для внутренней обработки) и масштабировать независимо
- возможность RDP в вашей виртуальной машине для целей отладки
- сеть изоляция
- выделенный виртуальный IP-адрес, который позволяет экземплярам веб-ролей в облачной службе получать доступ к виртуальным машинам с ограничением IP
- ACL-ограниченные конечные точки (добавлены в Azure SDK 2.3, апрель 2014 г.)
- поддержка любых портов TCP / UDP (веб-сайты ограничены TCP 80/443)
веб-приложения имеют преимущества перед веб-ролями, хотя:
- почти мгновенное развертывание с историей развертывания / откаты
- визуальный Студия онлайн, github, а также локальный git-серверы, FTP-сайте CodePlex, Dropbox и оба развертывание, поддержку
- возможность развернуть один из многочисленных CMS и фреймворков (например, WordPress, Joomla, Django, MediaWiki и т. д.)
- использование базы данных SQL или MySQL
- простой и быстрый масштаб от свободного уровня до общего уровня до выделенного уровня
- Веб-Заданий
- резервное копирование содержимого веб-сайта
- встроенные веб-средства отладки (простая отладка cmd / powershell консоль, проводник процессов, диагностические инструменты, такие как потоковая передача журналов и т. д.)
с развертыванием в апреле 2014 года и сентябре 2014 года теперь есть некоторые функции, общие как для веб-приложений, так и для веб-ролей (и рабочих ролей), в том числе:
- постановка+слотов производства
- подстановочные DNS, SSL сертификаты
- интеграция с Visual Studio
- поддержка диспетчера трафика
- поддержка виртуальной сети
здесь screengrab я взял из формы выбора галереи веб-сайтов:
Я думаю, что веб-приложения-отличный способ быстро встать и работать, где вы можете перейти от общих к зарезервированным ресурсам. Как только вы перерастете это, вы можете перейти к веб-ролям и развернуть их по мере необходимости.
EDIT 2014: для чего это стоит, много информации в этом ответе больше не является правильным - см. комментарии.
добавить больше в @David response:
с веб-сайтами Windows Azure у вас нет контроля над IIS или веб-сервером, потому что вы используете срез ресурсов вместе с сотнями других веб-сайтов на той же машине, Вы делитесь ресурсами, как и любой другой, поэтому нет контроля над IIS.
большая разница между сайтом общая и веб-роль Azure заключается в том, что веб-сайт считается связанным процессом, а роли привязаны к виртуальной машине.
веб-сайты хранятся на общем ресурсе контента, который доступен со всех" веб-серверов " в ферме, поэтому не требуется репликация или что-то подобное.
веб-сайты Windows Azure не могут иметь свое собственное имя хоста вместо этого они должны использовать websitename. azurewebsites.net только и вы уверены, что можете использовать настройку CNAME в своем DNS-провайдере для маршрутизации вашего запрос точно такой же с предыдущей ролью Windows Azure только тогда, когда они работают в зарезервированном режиме. Настройка CNAME не поддерживается для общих веб-сайтов.
Я только что опубликовал исчерпывающий пост в блоге на эту тему по адресу http://robdmoore.id.au/blog/2012/06/09/windows-azure-web-sites-vs-web-roles/.
выдержка из моего вывода: Если вам нужен огромный масштаб, SSL, азиатские или Западноамериканские центры обработки данных, нестандартная конфигурация (IIS, порты, диагностика, сертификаты безопасности или сценарии запуска), RDP или экономически эффективные рабочие роли (в сочетании с вашей веб-ролью), то вам придется придерживаться веб-ролей для работы в интернете. сейчас.
в противном случае, веб-сайты-отличный вариант!
веб-роль Azure похожа на виртуальный частный узел. Вы получаете виртуальную машину, которая действует как ваш веб-сервер, и вы являетесь владельцем этого экземпляра виртуальной машины.
веб-сайты Azure похожи на эластичную службу общего хостинга. Вы развертываете свое приложение на веб-сервере, который не контролируется вами и который также обслуживает сайты других пользователей. Вы можете масштабировать свой сайт вверх и вниз (за дополнительную плату), чтобы сделать его более эластичным, поскольку ваши потребности в ресурсах меняются.
есть еще один сценарий, который находится в воздухе: после того, как эти 500 исключений будут устранены, они ничего не сказали о способности веб-сайтов Azure обрабатывать подстановочные знаки CNAME. некоторые из нас используют ускоритель веб-роли Nate в облачных службах, потому что однострочный Хак предоставил возможность подстановочного поддомена в программном обеспечении Nate. Мы не можем перемещать эти подстановочные приложения, пока не узнаем, что веб-сайты Azure смогут их обрабатывать. Если он никогда не сможет этого сделать, то это идет вниз как положительный на стороне веб-роли уравнения. Также следует отметить, что с ценой точно такой же (после истечения срока действия скидки предварительного просмотра), я не уверен, что хочу отказаться от своего доступа к RDC и Event Viewer (просто говоря о двух вещах).
Веб-Сайты Azure позволяет быстро создавать масштабируемые веб-сайты в Azure. Вы можете использовать портал Azure или средства командной строки для настройки веб-сайта с популярными языками, такими как .NET, PHP, Node.js и Python. Поддерживаемые платформы уже развернуты и не требуют дополнительных шагов установки. Галерея веб-сайтов Azure содержит множество сторонних приложений, таких как Drupal и WordPress, а также платформы разработки, такие как Django и CakePHP. После создавая сайт, вы можете либо Перенести существующий веб-сайт, либо создать совершенно новый веб-сайт. Веб-сайты избавляют от необходимости управлять физическим оборудованием, а также предоставляют несколько вариантов масштабирования. Можно перейти от общей многопользовательской модели к стандартному режиму, в котором выделенные машины обслуживают входящий трафик. Веб-сайты также позволяют интегрировать с другими службами Azure, такими как база данных SQL, служебная Шина и хранилище. С помощью Azure WebJobs SDK preview можно добавить фон обработка. Таким образом, веб-сайты Azure позволяют легче сосредоточиться на разработке приложений, поддерживая широкий спектр языков, приложений с открытым исходным кодом и методологий развертывания (FTP, Git, Web Deploy или TFS). Если у вас нет специальных требований, требующих облачных служб или виртуальных машин, веб-сайт Azure, скорее всего, является лучшим выбором.
Облачные Сервисы позволяет создавать высокодоступные, масштабируемые веб-приложения на богатой платформе в качестве Услуга (PaaS) - среда. В отличие от веб-сайтов, облачная служба создается сначала в среде разработки, такой как Visual Studio, перед развертыванием в Azure. Фреймворки, такие как PHP, требуют пользовательских шагов развертывания или задач, устанавливающих фреймворк при запуске роли. Основным преимуществом облачных сервисов является возможность поддержки более сложных многоуровневых архитектур. Одна облачная служба может состоять из интерфейсной веб-роли и одной или нескольких рабочих ролей. Каждый уровень можно масштабировать независимо. Кроме того, повышен уровень контроля над инфраструктурой веб-приложений. Например, можно использовать удаленный рабочий стол на машинах, на которых запущены экземпляры ролей. Можно также создавать сценарии более сложных изменений конфигурации IIS и компьютера, которые выполняются при запуске роли, включая задачи, требующие управления администратором.
Виртуальные Машины позволяют запускать веб-приложения на виртуальных машинах в Azure. Эта возможность также известна как Инфраструктура как услуга (IaaS). Создайте новые компьютеры Windows Server или Linux через портал или загрузите существующий образ виртуальной машины. Виртуальные машины обеспечивают максимальный контроль над операционной системой, конфигурацией и установленным программным обеспечением и службами. Это хороший вариант для быстрого переноса сложных локальных веб-приложений в облако, поскольку машины можно перемещать целиком. С помощью виртуальных сетей можно также подключить эти виртуальные машины к локальной сети корпоративная сеть. Как и в случае с облачными службами, у вас есть удаленный доступ к этим машинам и возможность выполнять изменения конфигурации на административном уровне. Однако, в отличие от веб-сайтов и облачных служб, вы должны полностью управлять образами виртуальных машин и архитектурой приложений на уровне инфраструктуры. Одним из основных примеров является то, что вы должны применить свои собственные патчи к операционной системе.
смотрите обновленное и полное сравнение по этой ссылке: http://azure.microsoft.com/en-us/documentation/articles/choose-web-site-cloud-service-vm/
веб-сайты Azure, веб-работники и виртуальные машины-это три различных подхода к вычислениям, доступных в Windows Azure. Они отличаются по уровню контроля и ответственности:
- Сайт Azure имеют самый низкий уровень контроля, но вы не заботитесь о сохранении в здоровье виртуальной машины и IIS, потому что Azure вещи делают это за вас
- Веб-Ролей дать вам больше контроля (диспетчер трафика, удаленный рабочий стол), но больше администрация на вашей стороне, что означает, что вы можете что-то сломать через удаленный рабочий стол, например
- Виртуальные Машины дает вам полный контроль над виртуальной машиной, поэтому требует наибольших усилий по администрированию.
нет лучшего выбора, потому что это зависит от того, какой уровень управления вам нужен, какие функции вам нужны и что вы хотите оставить для обслуживания Azure. И это большая тема..
пожалуйста, посмотрите на этой статьи информация для более обоснованного выбора:
- http://www.windowsazure.com/en-us/documentation/articles/choose-web-site-cloud-service-vm/
- http://davidpallmann.blogspot.com/2012/06/reintroducing-windows-azure-part-2.html
Это сводится к компромиссу между простотой использования и возможностями.
еще две вещи, которые я нашел, это стоимость получения SSL для пользовательского доменного сайта и многопользовательских конфигураций.
для веб-сайта Вам нужно платить ежемесячно поверх стандартного экземпляра (Малый экземпляр-самый дешевый вариант). Это означает, что для того, чтобы получить пользовательский домен https будет стоить вам ~70/месяц для малого экземпляра плюс ~41/ месяц для SSL, который поддерживает все браузеры.
для WebRole вы можете получить экземпляр XS и добавить свой собственный SSL бесплатно, что означает ~ $ 15 в месяц и у вас есть собственный домен с SSL.
для мультитенантного сайта проверьте multi-tenant Azure dynamic wildcard CName
Это распространенный вопрос, и я хотел бы дать отрывок из msdn.
доступ к таким службам, как кэширование, служебная Шина, хранилище, база данных SQL Azure-веб-сайт: да WebRole: да
поддержка для ASP.NET, классический жерех, узел.js, PHP-сайт: Yes WebRole: Yes
общий контент и конфигурация-сайт: да WebRole: нет
развернуть код с GIT, FTP-сайт: да WebRole: нет
почти мгновенное развертывание-сайт:да WebRole: Нет
интегрированная поддержка MySQL-as-a-service-сайт:да WebRole:да
несколько сред развертывания (производство и постановка) - веб-сайт: Нет WebRole: да
изоляция сети-сайт: Нет WebRole: да
удаленный рабочий стол доступ к серверам-сайт: Нет WebRole: да
возможность запуска программ с повышенными разрешениями-сайт: Нет WebRole: да
возможность определения / выполнения задач запуска-сайт: Нет WebRole: Да
возможность использовать неподдерживаемые фреймворки или библиотеки-сайт: Нет WebRole: да
поддержка Windows Azure Connect / Windows Azure Network-WebSite: нет WebRole: да
чтобы получить более подробную информацию, перейдите по этой ссылке: http://blogs.msdn.com/b/silverlining/archive/2012/06/27/windows-azure-websites-web-roles-and-vms-when-to-use-which.aspx