Jaka jest różnica między witryną sieci Web platformy Azure a rolą witryny sieci Web platformy Azure

241

Jakie są istotne różnice między nowymi witrynami sieci Web platformy Azure a tradycyjnymi rolami sieci Web platformy Azure dla aplikacji ASP.NET MVC? Z jakiego powodu wybrałbym „stronę internetową” zamiast „roli internetowej” lub odwrotnie?

Załóżmy, że w obu przypadkach potrzebowałbym jednakowej pojemności (np. 2 małych instancji). Ceny wydają się porównywalne, poza tym, że istnieje 33% tymczasowa zniżka na strony internetowe, które są w okresie podglądu.

Czy są rzeczy, które mogę zrobić z „witryną”, które są trudne lub niemożliwe z rolą w sieci? Na przykład, czy łatwo jest umieścić wiele stron internetowych w jednym zestawie maszyn wirtualnych za pomocą „stron internetowych”? Czy coś tracę z „witryną” a „rolą”? Możliwość dostrojenia IIS? Możliwość korzystania z usługi pamięci podręcznej lokalnie?

Erv Walter
źródło
miał takie same qs. powinni naprawdę wyjaśnić to w swoich dokumentach.
90abyss

Odpowiedzi:

213

Role internetowe oferują kilka funkcji poza aplikacjami internetowymi (dawniej strony internetowe):

  • Możliwość uruchamiania podwyższonych skryptów startowych w celu instalowania aplikacji, modyfikowania ustawień rejestru, instalowania liczników wydajności, dostrajania IIS itp.
  • Możliwość podzielenia aplikacji na warstwy (być może rola sieci Web dla interfejsu użytkownika, rola pracownika dla przetwarzania zaplecza) i skalowanie niezależnie
  • Możliwość RDP na maszynie wirtualnej w celu debugowania
  • Izolacja sieci
  • Dedykowany wirtualny adres IP, który umożliwia wystąpieniom ról internetowych w usłudze w chmurze dostęp do maszyn wirtualnych z ograniczonym adresem IP
  • Punkty końcowe ograniczone przez ACL (dodane w Azure SDK 2.3, kwiecień 2014)
  • Obsługa wszystkich portów TCP / UDP (strony internetowe są ograniczone do TCP 80/443)

Aplikacje internetowe mają jednak przewagę nad rolami internetowymi:

  • Niemal natychmiastowe wdrożenie z historią wdrażania / wycofaniami
  • Obsługa wdrażania Visual Studio Online, github, local git, ftp, CodePlex, DropBox, BitBucket
  • Możliwość wdrożenia jednego z wielu CMS-ów i frameworków (takich jak WordPress, Joomla, Django, MediaWiki itp.)
  • Korzystanie z bazy danych SQL lub MySQL
  • Prosty i szybki do skalowania z poziomu warstwy bezpłatnej przez warstwę współdzieloną do warstwy dedykowanej
  • Praca w sieci
  • Kopie zapasowe zawartości strony internetowej
  • Wbudowane internetowe narzędzia do debugowania (prosta konsola do debugowania cmd / powershell, eksplorator procesów, narzędzia diagnostyczne, takie jak przesyłanie dziennika itp.)

Wraz z wdrożeniami z kwietnia 2014 r. I września 2014 r. Dostępne są teraz niektóre funkcje wspólne zarówno dla aplikacji internetowych, jak i ról internetowych (i ról roboczych), w tym:

  • Realizacja + czas produkcji
  • Wildcard DNS, certyfikaty SSL
  • Integracja z Visual Studio
  • Wsparcie Traffic Manager
  • Obsługa sieci wirtualnej

Oto zrzut ekranu, który wziąłem z formularza wyboru galerii witryn internetowych: wprowadź opis zdjęcia tutaj

Myślę, że aplikacje sieci Web to świetny sposób na szybkie uruchomienie i przeniesienie z zasobów współdzielonych do zarezerwowanych. Po wyrośnięciu tego możesz przejść do ról sieci Web i rozwijać w razie potrzeby.

David Makogon
źródło
Oprócz Git + ftp kolejnym świetnym jest PublishSettings (może być również używany na przykład w WebMatrix 2)
Kris van der Mast
18
Podział na poziomy nie jest czynnikiem różnicującym. Ról robotników można używać w witrynach sieci Web.
RickAndMSFT
4
Odnośnie poziomów: w przypadku witryn sieci Web należy połączyć się z pracownikiem za pośrednictwem zewnętrznego punktu końcowego, ponieważ witryny sieci Web nie obsługują sieci wirtualnych. Ponadto: musisz podzielić kod na wiele wdrożeń (jedno dla witryn sieci Web, jedno dla usługi w chmurze z rolą roboczą). Dzięki usłudze w chmurze możesz łatwo podzielić swój kod na skalowalne warstwy, a następnie rozmiar i skalować każdą warstwę niezależnie, a wszystko to przy wewnętrznej komunikacji między tymi warstwami. To właśnie miałem na myśli, wskazując warstwy jako wyróżniające usługi w chmurze (sieć / pracownik).
David Makogon
1
Czy to nie jest trochę nieaktualne w porównaniu do stackoverflow.com/a/10960755/56145 ?
Matt Kocaj,
2
Za pomocą roli sieci Web można także przetwarzać w tle na tych samych maszynach wirtualnych
Boris Lipschitz
44

EDYCJA 2014: Wiele wartości zawartych w tej odpowiedzi nie jest już poprawnych - patrz komentarze.

Dodaj więcej do odpowiedzi @David:

Dzięki witrynom Windows Azure nie masz kontroli nad usługami IIS ani serwerem sieci Web, ponieważ korzystasz z wycinka zasobów wraz z setkami innych witryn na tym samym komputerze, udostępniasz zasoby jak każdy inny, więc nie masz kontroli nad usługami IIS.

Duża różnica między witryną udostępnioną a rolą platformy Azure polega na tym, że witryna jest uważana za powiązaną z procesem, a role są związane z maszyną wirtualną.

Strony internetowe są przechowywane w udziale zawartości, który jest dostępny ze wszystkich „serwerów WWW” w farmie, więc nie jest wymagana replikacja ani nic podobnego.

Stron internetowych Windows Azure nie może mieć własną nazwę hosta zamiast muszą używać websitename tylko .azurewebsites.net i na pewno można użyć ustawienia CNAME w DNS dostawcy do trasy żądania dokładnie to samo z poprzedniego Windows Azure rolę jedynie, gdy są uruchomione w trybie zastrzeżonym . Ustawienie CNAME nie jest obsługiwane dla udostępnionych witryn.

AvkashChauhan
źródło
AFAIK WebRole też nie mają własnej nazwy hosta - wszystkie to rolename.cloudapp.net. Chyba że jest jakaś funkcja, o której nie wiem?
Brian Reischl,
Czy nie możesz użyć DNS do utworzenia aliasu CNAME prowadzącego z www.twojadomena.com do websitename.azurewebsites.net?
Bernard Vander Beken
Uważam, że w przypadku witryn sieci Web WA tylko aplikacje działające z zarezerwowanymi instancjami (dedykowane maszyny wirtualne) mogą mieć przypisane do nich domeny niestandardowe.
user94559
Myślę, że scottgu niedawno wspomniał, że chcą również obsługiwać niestandardowe domeny w udostępnionych instancjach.
Jeremy
19
Co do wartości, wiele informacji zawartych w tej odpowiedzi nie jest już poprawnych (chociaż miało to miejsce w czerwcu 2012 r.): Witryny sieci Web mogą teraz mieć niestandardowe domeny. Witryny sieci Web mogą działać w trybie „zarezerwowanym”, który jest zasadniczo maszyną wirtualną, ale całkowicie zarządzaną.
Jay Querido
34

Właśnie opublikowałem obszerny post na blogu na ten temat na stronie http://robdmoore.id.au/blog/2012/06/09/windows-azure-web-sites-vs-web-roles/ .

Fragment mojego wniosku: jeśli potrzebujesz ogromnej skali, SSL, azjatyckich lub zachodnioamerykańskich centrów danych, niestandardowej konfiguracji (IIS, portów, diagnostyki, certyfikatów bezpieczeństwa lub skryptów startowych), RDP lub opłacalnych ról roboczych ( w połączeniu z rolą sieci Web), musisz na razie trzymać się ról sieci.

W przeciwnym razie witryny sieci Web to świetna opcja!

Robert Moore
źródło
14

Azure Web Role jest jak wirtualny prywatny host. Otrzymujesz maszynę wirtualną, która działa jak serwer WWW, i jesteś jej właścicielem.

Witryny sieci Web platformy Azure są jak elastyczna wspólna usługa hostingu. Wdrażasz swoją aplikację na serwerze internetowym, który nie jest przez Ciebie kontrolowany i który obsługuje również witryny innych użytkowników. Możesz przeskalować swoją stronę w górę i w dół (za dodatkową opłatą), aby uczynić ją bardziej elastyczną w miarę zmiany zasobów.

Jimmy
źródło
6

Nadchodzi jeszcze jeden scenariusz: po wyeliminowaniu tych 500 wyjątków nie powiedzieli nic o zdolności witryn sieci Web platformy Azure do obsługi symboli wieloznacznych CNAME. Kilku z nas korzysta z Nate's Web Role Accelerator w usługach w chmurze, ponieważ jednowierszowy hack zapewnił możliwość stosowania subdomen wieloznacznych w oprogramowaniu Nate'a. Nie możemy przenieść tych subdomenowych aplikacji z symbolami zastępczymi, dopóki nie dowiemy się, że witryny Azure Azure będą w stanie je obsłużyć. Jeśli nigdy nie będzie w stanie tego zrobić, oznacza to, że równanie odgrywa rolę pozytywną po stronie roli sieci. Warto również zauważyć, że ceny są dokładnie takie same (po wygaśnięciu zniżki na podgląd), nie jestem pewien, czy chcę zrezygnować z dostępu do RDC i Podglądu zdarzeń (żeby wspomnieć tylko o dwóch rzeczach).

Luke Latham
źródło
6

Witryny sieci Web platformy Azureumożliwia szybkie tworzenie wysoce skalowalnych witryn internetowych na platformie Azure. Za pomocą portalu Azure lub narzędzi wiersza polecenia można skonfigurować witrynę internetową z popularnymi językami, takimi jak .NET, PHP, Node.js i Python. Obsługiwane platformy są już wdrożone i nie wymagają więcej kroków instalacji. Galeria witryn sieci Web Azure zawiera wiele aplikacji innych firm, takich jak Drupal i WordPress, a także środowiska programistyczne, takie jak Django i CakePHP. Po utworzeniu witryny możesz przeprowadzić migrację istniejącej witryny lub zbudować całkowicie nową witrynę. Witryny sieci Web eliminują potrzebę zarządzania fizycznym sprzętem, a także zapewniają kilka opcji skalowania. Możesz przejść ze wspólnego modelu wielu dzierżawców do standardowego trybu, w którym dedykowane maszyny obsługują ruch przychodzący. Witryny sieci Web umożliwiają także integrację z innymi usługami platformy Azure, takich jak baza danych SQL, magistrala usług i pamięć masowa. Korzystając z podglądu zestawu SDK zadań Webjob Azure, możesz dodać przetwarzanie w tle. Podsumowując, witryny sieci Web platformy Azure ułatwiają skupienie się na tworzeniu aplikacji, obsługując szeroki zakres języków, aplikacji typu open source i metodologii wdrażania (FTP, Git, Web Deploy lub TFS). Jeśli nie masz specjalistycznych wymagań, które wymagają usług w chmurze lub maszyn wirtualnych, witryna sieci Web platformy Azure jest prawdopodobnie najlepszym wyborem.

Usługi w chmurzeumożliwiają tworzenie wysoce dostępnych, skalowalnych aplikacji internetowych w bogatym środowisku Platform as a Service (PaaS). W przeciwieństwie do witryn sieci Web usługa w chmurze jest tworzona najpierw w środowisku programistycznym, takim jak Visual Studio, przed wdrożeniem na platformie Azure. Frameworki, takie jak PHP, wymagają niestandardowych kroków wdrażania lub zadań, które instalują frameworki podczas uruchamiania roli. Główną zaletą usług w chmurze jest możliwość obsługi bardziej złożonych architektur wielowarstwowych. Pojedyncza usługa w chmurze może składać się z roli frontonu i jednej lub większej liczby ról roboczych. Każdy poziom można skalować niezależnie. Istnieje również wyższy poziom kontroli nad infrastrukturą aplikacji internetowych. Na przykład możesz zdalnie uruchomić pulpit na komputerach z uruchomionymi instancjami ról.

Wirtualne maszynyumożliwiają uruchamianie aplikacji internetowych na maszynach wirtualnych na platformie Azure. Ta funkcja jest również znana jako infrastruktura jako usługa (IaaS). Utwórz nowe maszyny z systemem Windows Server lub Linux za pośrednictwem portalu lub prześlij istniejący obraz maszyny wirtualnej. Maszyny wirtualne zapewniają największą kontrolę nad systemem operacyjnym, konfiguracją oraz zainstalowanym oprogramowaniem i usługami. Jest to dobra opcja do szybkiej migracji złożonych lokalnych aplikacji internetowych do chmury, ponieważ komputery można przenosić jako całość. Dzięki sieciom wirtualnym możesz także łączyć te maszyny wirtualne z lokalnymi sieciami korporacyjnymi. Podobnie jak w przypadku usług w chmurze, masz zdalny dostęp do tych komputerów i możliwość dokonywania zmian konfiguracji na poziomie administracyjnym. Jednak w przeciwieństwie do witryn sieci Web i usług w chmurze, musisz zarządzać obrazami maszyny wirtualnej i architekturą aplikacji całkowicie na poziomie infrastruktury. Jednym podstawowym przykładem jest to, że musisz zastosować własne łaty do systemu operacyjnego.

Zobacz zaktualizowane i wyczerpujące porównanie z tego linku: http://azure.microsoft.com/en-us/documentation/articles/choose-web-site-cloud-service-vm/

Jamil
źródło
4

Witryny Azure, pracownicy sieci Web i maszyny wirtualne to trzy różne podejścia komputerowe dostępne na Windows Azure. Różnią się poziomem kontroli i obowiązkami:

  • Witryna Azure ma najniższy poziom kontroli, ale nie martwisz się o utrzymanie maszyny wirtualnej w stanie zdrowia i usług IIS, ponieważ Azure robi to za Ciebie
  • Role sieciowe dają większą kontrolę (menedżer ruchu, zdalny pulpit), ale możliwa jest większa administracja po Twojej stronie, co oznacza, że ​​możesz coś zepsuć na przykład za pomocą zdalnego pulpitu
  • Maszyny wirtualne zapewniają pełną kontrolę nad maszyną wirtualną, dlatego wymagają najwięcej wysiłków administracyjnych.

Nie ma jednego najlepszego wyboru, ponieważ zależy to od tego, jaki poziom kontroli potrzebujesz, jakie funkcje potrzebujesz i co chcesz pozostawić Azure. I to jest duży temat ..

Zapoznaj się z tymi artykułami, aby uzyskać więcej informacji, aby dokonać bardziej świadomego wyboru:

Sprowadza się to do kompromisu między łatwością użycia a możliwościami.

Johnnyno
źródło
3

Dwie kolejne rzeczy, które znalazłem, to koszt uzyskania SSL dla niestandardowej witryny domeny i konfiguracji wielu dzierżawców.

W przypadku witryny trzeba płacić co miesiąc za zwykłą instancją (mała instancja jest najtańszą opcją). Oznacza to, że aby uzyskać domenę niestandardową, https kosztowałby ~ 70 / miesiąc za małą instancję plus ~ 41 / miesiąc za SSL, który obsługuje wszystkie przeglądarki.

W przypadku WebRole możesz pobrać instancję XS i dodać własny SSL za darmo, co oznacza ~ 15 USD miesięcznie i masz własną domenę z SSL.

W przypadku witryny z wieloma dzierżawcami sprawdź dynamiczną wieloznaczną nazwę CName wielu dzierżawców Azure

Farnam
źródło
1

Rola internetowa to maszyna wirtualna, która obsługuje wiele witryn internetowych

mLar
źródło
2
Niezupełnie dokładne. Państwo może obsługiwać wiele stron internetowych w roli internetowej, ale role internetowych wykraczają daleko poza to, ponieważ oni Windows Server VMS. Możesz nie uruchamiać żadnych witryn sieci Web i po prostu uruchamiać zadania w tle, punkty końcowe REST, serwery baz danych itp. (Nie ma wymogu używania usług IIS, a nawet możesz je wyłączyć). I nie zapominaj, że są bezpaństwowcami, co czyni je bardzo łatwymi do skalowania.
David Makogon
@DavidMakogon Mogę też powiedzieć, że role internetowe faktycznie wykonują pewne zadania, ale ponieważ używa protokołu HTTP, nazywa się rolę „WEB”, a ponieważ obsługuje ten protokół, obsługuje również strony internetowe, ale nie jest to jego głównym celem takie jak?
Aditya Bokade,
@AdityaBokade Nie próbuj czytać więcej: nazwa jest reliktem z pierwszego uruchomienia platformy Azure, gdzie role internetowe były jedynym sposobem hostowania zewnętrznej aplikacji (role pracownicze nie miały zewnętrznych punktów końcowych i nic innego nie istniało - nie maszyny wirtualne, nie aplikacje sieciowe). Role sieciowe (i robocze) to bezstanowe maszyny wirtualne z systemem Windows, ze specjalnym opakowaniem dla kodu i skryptów uruchamiania. Nie jest to zdefiniowane przez obsługę http: możesz komunikować się z zasobami zewnętrznymi przez http (s), tcp, udp, a nawet nic. To naprawdę wszystko.
David Makogon
0

To jest częste pytanie i chciałbym podać fragment msdn.

Dostęp do usług takich jak buforowanie, magistrala usług, pamięć masowa, baza danych SQL Azure - strona internetowa: tak WebRole: tak

Obsługa ASP.NET, klasycznej ASP, Node.js, PHP- Strona internetowa: Tak WebRole: Tak

Współdzielona zawartość i konfiguracja - Strona internetowa: Tak WebRole: Nie

Wdróż kod za pomocą GIT, FTP- Strona internetowa: Tak WebRole: Nie

Niemal natychmiastowe wdrożenie Strona internetowa: Tak WebRole: Nie

Zintegrowana obsługa MySQL jako usługi Strona: Tak WebRole: Tak

Wiele środowisk wdrażania (produkcja i przemieszczanie) -WebSite: Nie WebRole: Tak

Izolacja sieci - Strona internetowa: Nie WebRole: Tak

Zdalny dostęp pulpitu do serwerów Witryna: Nie WebRole: Tak

Możliwość uruchamiania programów z podwyższonymi uprawnieniami Strona internetowa: Nie WebRole: Tak

Zdolność do definiowania / wykonywania zadań startowych. Strona internetowa: Nie WebRole: Tak

Możliwość korzystania z nieobsługiwanych platform lub bibliotek. Strona internetowa: Nie WebRole: Tak

Wsparcie dla Windows Azure Connect / Windows Azure Network-WebSite: Nie WebRole: Tak

Aby uzyskać więcej szczegółów, odwiedź ten link: http://blogs.msdn.com/b/silverlining/archive/2012/06/27/windows-azure-websites-web-roles-and-vms-when-to -use-which.aspx

Adithya Kumaranchath
źródło