Чим відрізняється веб-сайт Azure від веб-ролі Azure


241

Які істотні відмінності між новими веб-сайтами Azure та традиційними веб-ролями Azure для програми ASP.NET MVC? З якої причини я б обрав "веб-сайт" над "веб-роллю" чи навпаки?

Припустимо, що мені знадобиться однакова потужність в будь-якому випадку (наприклад, 2 невеликі екземпляри). Ціни здаються порівнянними, крім того, що існує 33% тимчасова знижка для веб-сайтів, коли вони перебувають у періоді їх попереднього перегляду.

Чи є речі, які я можу зробити з "веб-сайтом", які є складними або неможливими з веб-роллю? Наприклад, чи стає просто розмістити кілька веб-сайтів в одному наборі віртуальних машин за допомогою "веб-сайтів"? Чи втрачаю я щось із "веб-сайта" проти "веб-ролі"? Можливість тонкої настройки IIS? Можливість локально використовувати послугу Кеш?


мали однакові qs. вони дійсно повинні зрозуміти це у своїх документах.
90abyss

Відповіді:


213

Ролі веб-сайтів надають кілька функцій, які перевищують веб-програми (раніше веб-сайти):

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

Хоча веб-програми мають переваги перед веб-ролями:

  • Майже миттєве розгортання з історією розгортання / відкатами
  • Підтримка Visual Studio Online, github, локальний git, ftp, CodePlex, DropBox, BitBucket
  • Можливість розгортання однієї з численних CMS і фреймворків (таких як WordPress, Joomla, Django, MediaWiki тощо)
  • Використання бази даних SQL або MySQL
  • Простий і швидкий масштаб від вільного рівня до загального рівня до спеціального рівня
  • Робота в Інтернеті
  • Резервні копії вмісту веб-сайту
  • Вбудовані веб-інструменти налагодження (прості консолі налагодження cmd / powershell, провідник процесів, діагностичні інструменти, такі як потокова передача журналів тощо)

З випуском квітня 2014 та вересня 2014 року тепер є деякі функції, спільні як для веб-програм, так і для веб-ролей (і робочих ролей), включаючи:

  • Постановка + виробничі місця
  • Wildcard DNS, сертифікати SSL
  • Інтеграція Visual Studio
  • Підтримка менеджера трафіку
  • Підтримка віртуальної мережі

Ось перегляд екрана, який я взяв із форми вибору галереї веб-сайтів: введіть тут опис зображення

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


Окрім Git + ftp, ще одним чудовим є PublishSettings (його також можна використовувати, наприклад, у WebMatrix 2)
Kris van der Mast

18
Розщеплення на рівні не є фактором, що відрізняється. Роботи Worker можна використовувати з веб-сайтами.
RickAndMSFT

4
Щодо рівнів: за допомогою веб-сайтів вам потрібно буде підключитися до Worker через зовнішню кінцеву точку, оскільки веб-сайти не підтримують віртуальну мережу. Далі: Вам доведеться розділити код на кілька розгортань (один для веб-сайтів, один для хмарної служби з робочою роллю). Завдяки хмарній службі ви можете легко розділити код на масштабовані рівні, а потім розмір і масштаб кожного рівня незалежно, все, маючи внутрішній зв'язок між цими рівнями. Це те, що я мав на увазі, вказавши рівні як диференціатор хмарних служб (веб / працівник).
Девід Макогон

1
Хіба це трохи не застаріло порівняно з stackoverflow.com/a/10960755/56145 ?
Метт Кокай

2
За допомогою веб-ролі ви також можете виконувати обробку фону на одних і тих же віртуальних машинах
Борис Ліпшиц

44

РЕДАКТИРУВАННЯ 2014: Щодо цього варто, багато інформації в цій відповіді більше не вірно - див. Коментарі.

Додайте більше до відповіді @David:

З веб-сайтами Windows Azure у вас немає контролю над IIS або веб-сервером, оскільки ви використовуєте фрагмент ресурсів разом із сотнями інших веб-сайтів на тій же машині, ви обмінюєтесь ресурсами, як і будь-який інший, тому немає контролю над IIS.

Велика різниця між веб-сайтом, що поділяється, та веб-роллю Azure, полягає в тому, що веб-сайт вважається процесом, а ролі - VM.

Веб-сайти зберігаються на вмісті, який доступний з усіх "веб-серверів" ферми, тому не потрібна реплікація чи щось подібне.

На веб-сайтах Windows Azure не може бути власного імені хоста, вони повинні використовувати лише ім'я веб- сайту. . Налаштування CNAME не підтримується для спільних веб-сайтів.


AFAIK WebRoles також не отримує власного імені хоста - всі вони є rolename.cloudapp.net. Якщо є якась особливість, про яку я не знаю?
Брайан Рейшл

Ви не можете використовувати DNS для створення псевдоніма CNAME, що вказує з www.yourdomain.com на websitename.azurewebsites.net?
Бернард Вандер Бекен

Я вважаю, що для веб-сайтів WA лише ті програми, які працюють із зарезервованими екземплярами (спеціальні віртуальні віртуальні машини), можуть мати власні домени.
user94559

Я думаю, що Скоттгу нещодавно згадував, що вони хочуть підтримувати власні домени також у спільних екземплярах.
Джеремі

19
Оскільки це варте, багато інформації в цій відповіді більше не є правильною (хоча це було в червні 2012 року): Веб-сайти тепер можуть мати власні домени. Веб-сайти можуть працювати в «зарезервованому» режимі, який по суті є VM, але повністю керований.
Jay Querido

34

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

Уривок з мого висновку: Якщо вам потрібні величезні масштаби, SSL, азіатські або західноамериканські центри обробки даних, нестандартна конфігурація (IIS, порти, діагностика, сертифікати безпеки або сценарії запуску), RDP або економічно ефективні Робочі ролі ( у поєднанні з вашою веб-роллю), тоді вам доведеться наразі дотримуватися веб-ролей.

Інакше веб-сайти - це чудовий варіант!


14

Azure Web Role - це як віртуальний приватний хост. Ви отримуєте VM, який виступає як ваш веб-сервер, і ви володієте цим екземпляром VM.

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


6

Є ще один сценарій, що вийшов в ефір: після усунення цих 500 винятків вони нічого не сказали про здатність веб-сайтів Azure обробляти незамінні символи CNAME. Декілька з нас використовують прискорювач веб-ролей Nate у хмарних сервісах, тому що однорядковий злом забезпечив можливість піддоменного підключення в програмному забезпеченні Nate. Ми не можемо переміщувати ці додаткові піддоменні програми, поки не дізнаємось, що веб-сайти Azure зможуть ними обробляти. Якщо він ніколи не зможе цього зробити, то це буде позитивом на стороні рівняння веб-ролі. Також слід зазначити, що з ціною, яка точно збігається (після закінчення терміну дії знижки), я не впевнений, що хочу відмовитись від доступу до RDC та перегляду подій (лише кажу про дві речі).


6

Веб-сайти Azureдозволяє швидко створювати масштабовані веб-сайти на Azure. Ви можете використовувати портал Azure або інструменти командного рядка, щоб створити веб-сайт з популярними мовами, такими як .NET, PHP, Node.js і Python. Підтримувані рамки вже розгорнуті і не потребують більше етапів установки. Галерея веб-сайтів Azure містить безліч сторонніх додатків, таких як Drupal та WordPress, а також рамки розробки, такі як Django і CakePHP. Створивши сайт, ви можете або перенести існуючий веб-сайт, або створити абсолютно новий веб-сайт. Веб-сайти позбавляють від необхідності керувати фізичним обладнанням, а також він пропонує кілька варіантів масштабування. Ви можете перейти від загальної моделі для багатьох орендарів до стандартного режиму, де спеціалізовані машини обслуговують вхідний трафік. Веб-сайти також дозволяють вам інтегруватися з іншими службами Azure, наприклад, SQL Database, Service Bus і Storage. За допомогою попереднього перегляду SDK програми Azure WebJobs ви можете додати обробку фону. Підсумовуючи це, веб-сайти Azure полегшують зосередження уваги на розробці додатків, підтримуючи широкий спектр мов, відкритих програм та методологій розгортання (FTP, Git, Web Deploy або TFS). Якщо у вас немає спеціалізованих вимог, які вимагають хмарних служб або віртуальних машин, веб-сайт Azure, швидше за все, найкращий вибір.

Хмарні послугидозволяють створювати високодоступні масштабовані веб-програми в багатій платформі як сервіс (PaaS). На відміну від веб-сайтів, хмарний сервіс створюється спочатку в середовищі розробки, наприклад Visual Studio, перед тим, як розгорнути в Azure. Рамки, такі як PHP, вимагають спеціальних кроків розгортання або завдань, які встановлюють рамку при запуску ролей. Основна перевага Cloud Services - це можливість підтримувати складніші багаторівневі архітектури. Єдиний хмарний сервіс може складатися з рольової веб-ролі та однієї чи декількох ролей робітників. Кожен рівень може масштабуватися незалежно. Також підвищений рівень контролю над інфраструктурою веб-додатків. Наприклад, ви можете видалити робочий стіл на машини, на яких запущені екземпляри ролей.

Віртуальні машинидозволяють запускати веб-додатки на віртуальних машинах у Azure. Ця можливість також відома як інфраструктура як послуга (IaaS). Створіть нові портативні машини Windows Server або Linux через портал або завантажте наявне зображення віртуальної машини. Віртуальні машини надають вам найбільше контролю над операційною системою, конфігурацією та встановленим програмним забезпеченням та послугами. Це хороший варіант для швидкої міграції складних локальних веб-додатків до хмари, оскільки машини можна переміщувати в цілому. За допомогою Virtual Networks ви також можете підключити ці віртуальні машини до локальних корпоративних мереж. Як і у Cloud Services, у вас є віддалений доступ до цих машин і можливість здійснювати зміни конфігурації на адміністративному рівні. Однак, на відміну від веб-сайтів та хмарних сервісів, ви повинні повністю керувати образами віртуальної машини та архітектурою додатків повністю на інфраструктурному рівні. Одним із основних прикладів є те, що вам потрібно застосувати власні патчі до операційної системи.

Дивіться оновлене та всебічне порівняння за цим посиланням: http://azure.microsoft.com/en-us/documentation/articles/choose-web-site-cloud-service-vm/


4

Веб-сайти Azure, веб-працівники та віртуальні машини - це три різні підходи до обчислень, доступні в Windows Azure. Вони відрізняються рівнем контролю та обов'язками:

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

Немає кращого вибору, оскільки це залежить від того, який рівень контролю вам потрібен, які функції вам потрібні та які ви хочете залишити в Azure для підтримки. І це велика тема ..

Перегляньте ці статті для отримання додаткової інформації, щоб зробити більш усвідомлений вибір:

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


3

Ще дві речі, які я знайшов, - це вартість отримання SSL для користувальницького веб-сайту домену та конфігурацій для кількох орендарів.

Для веб-сайту потрібно щомісяця платити понад стандартний екземпляр (Маленький екземпляр - найдешевший варіант). Це означає, що для отримання користувальницького домену https коштуватиме вам ~ 70 / місяць для невеликого екземпляра плюс ~ 41 / місяць для SSL, який підтримує весь браузер.

Для WebRole ви можете отримати екземпляр XS і додати свій власний SSL безкоштовно, що означає ~ 15 доларів на місяць, і у вас є власний домен із SSL.

На веб-сайті, що перебуває з кількома орендарями, перегляньте динамічну підстановку Azame з багатокористувальними послугами


1

Веб-роль - це віртуальна машина, яка розміщує декілька веб-сайтів


2
Не зовсім точна. Ви можете розмістити декілька веб-сайтів у ролі веб-сайтів, але веб-ролі виходять далеко за рамки цього, оскільки це VM з Windows Server. Ви можете взагалі не запускати будь - які веб-сайти, а просто виконувати фонові завдання, кінцеві точки REST, сервери баз даних тощо (не потрібно використовувати IIS, і навіть ви можете його відключити). І не забувайте, що вони без громадянства, що робить їх дуже легко масштабувати.
Девід Макогон

@DavidMakogon Отже, я можу також сказати, що веб-ролі насправді виконують деякі завдання, але оскільки він використовує протокол HTTP, його називають роллю WEB, і оскільки він підтримує цей протокол, він також підтримує веб-сайти, але це не є його основною метою як такий?
Адітя Бокаде

@AdityaBokade Не намагайтеся читати більше про це: Назва є реліквією від першого запуску Azure, де веб-ролі були єдиним способом розміщення додатка, орієнтованого на зовнішню сторону (Worker Roles не мала зовнішніх кінцевих точок, і нічого іншого не існувало - не VM, не веб-додатки). Ролі в Інтернеті (і Worker) - це віртуальні машини без статусу Windows, які мають спеціальну упаковку для вашого коду та сценарії запуску. Це не визначено, підтримуючи http: ви можете спілкуватися із зовнішніми ресурсами за допомогою http (s), tcp, udp або навіть взагалі нічого. Це дійсно все, що там є.
Девід Макогон

0

Це поширене питання, і я хотів би дати уривок з msdn.

Доступ до таких сервісів, як кешування, службова шина, зберігання, база даних SQL Azure - веб-сайт: так WebRole: так

Підтримка ASP.NET, класичний ASP, Node.js, PHP-веб-сайт: так WebRole: так

Спільний вміст та конфігурація - веб-сайт: так WebRole: ні

Розгортайте код за допомогою GIT, FTP-WebSite: Так WebRole: Ні

Близьке миттєве розгортання-WebSite: Так WebRole: Ні

Інтегрована підтримка MySQL як послуга-WebSite: Так WebRole: Так

Кілька середовищ розгортання (виробництво та постановка) -WebSite: Ні WebRole: так

Ізоляція мережі-веб-сайт: немає WebRole: так

Віддалений доступ на робочому столі до серверів-WebSite: Ні WebRole: Так

Можливість запускати програми з підвищеними дозволами-WebSite: Ні WebRole: Так

Можливість визначення / виконання завдань запуску-WebSite: Ні WebRole: так

Можливість використання непідтримуваних фреймворків або бібліотек-WebSite: Ні 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 -використовувати-який.aspx

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.