Was sind die wesentlichen Unterschiede zwischen den neuen Azure-Websites und den herkömmlichen Azure-Webrollen für eine ASP.NET MVC-Anwendung? Welchen Grund würde ich eine "Website" einer "Webrolle" vorziehen oder umgekehrt?
Nehmen wir an, ich würde in beiden Fällen die gleiche Kapazität benötigen (z. B. 2 kleine Instanzen). Die Preise scheinen vergleichbar zu sein, abgesehen von der Tatsache, dass für Websites in der Vorschau ein vorübergehender Rabatt von 33% gewährt wird.
Gibt es Dinge, die ich mit einer "Website" tun kann, die mit einer Webrolle schwierig oder unmöglich sind? Wird es beispielsweise einfach, mithilfe von "Websites" mehrere Websites in einem einzigen Satz von VMs zu platzieren? Verliere ich etwas mit einer "Website" gegen eine "Webrolle"? Fähigkeit zur Feinabstimmung von IIS? Möglichkeit, den Cache-Dienst lokal zu nutzen?
quelle
Antworten:
Web-Rollen bieten Ihnen über Web Apps (ehemals Websites) hinaus mehrere Funktionen:
Web-Apps haben jedoch Vorteile gegenüber Webrollen:
Mit den Rollouts im April 2014 und September 2014 gibt es jetzt einige Funktionen, die sowohl für Web-Apps als auch für Web-Rollen (und Worker-Rollen) gelten, darunter:
Hier ist ein Screenshot, den ich aus dem Auswahlformular für die Website-Galerie entnommen habe:
Ich denke, Web Apps sind eine großartige Möglichkeit, schnell einsatzbereit zu sein und von freigegebenen zu reservierten Ressourcen zu wechseln. Sobald Sie darüber hinausgewachsen sind, können Sie zu Webrollen wechseln und diese nach Bedarf erweitern.
quelle
EDIT 2014: Für das, was es wert ist, sind viele Informationen in dieser Antwort nicht mehr korrekt - siehe Kommentare.
Fügen Sie der @ David-Antwort mehr hinzu:
Bei Windows Azure-Websites haben Sie keine Kontrolle über IIS oder Webserver, da Sie ein Ressourcen-Slice zusammen mit Hunderten anderer Websites auf demselben Computer verwenden und Ressourcen wie jede andere freigeben, sodass keine Kontrolle über IIS besteht.
Der große Unterschied zwischen einer freigegebenen Website und einer Azure-Webrolle besteht darin, dass eine Website als prozessgebunden betrachtet wird, während Rollen VM-gebunden sind.
Websites werden auf einer Inhaltsfreigabe gespeichert, auf die von allen "Webservern" in der Farm aus zugegriffen werden kann, sodass keine Replikation oder ähnliches erforderlich ist.
Windows Azure-Websites können keinen eigenen Hostnamen haben. Stattdessen müssen sie nur den Websitennamen .azurewebsites.net verwenden. Sie können die CNAME-Einstellung in Ihrem DNS-Anbieter verwenden, um Ihre Anforderung nur dann genau mit der vorherigen Windows Azure-Rolle weiterzuleiten, wenn sie im reservierten Modus ausgeführt werden . Die CNAME-Einstellung wird für freigegebene Websites nicht unterstützt.
quelle
Ich habe gerade einen umfassenden Blog-Beitrag zu diesem Thema unter http://robdmoore.id.au/blog/2012/06/09/windows-azure-web-sites-vs-web-roles/ veröffentlicht .
Ein Auszug aus meiner Schlussfolgerung: Wenn Sie eine enorme Größe benötigen, SSL-, asiatische oder westamerikanische Rechenzentren, eine nicht standardmäßige Konfiguration (von IIS, Ports, Diagnose, Sicherheitszertifikaten oder Startskripten), RDP oder kostengünstige Worker Roles ( kombiniert mit Ihrer Webrolle), dann müssen Sie sich vorerst an die Webrollen halten.
Ansonsten sind Websites eine gute Option!
quelle
Die Azure-Webrolle ähnelt einem virtuellen privaten Host. Sie erhalten eine VM, die als Webserver fungiert, und Sie besitzen diese VM-Instanz.
Azure-Websites sind wie ein elastischer gemeinsam genutzter Hostingdienst. Sie stellen Ihre App auf einem Webserver bereit, der nicht von Ihnen gesteuert wird und der auch die Websites anderer Benutzer verwaltet. Sie können Ihre Site (gegen Aufpreis) vergrößern und verkleinern, um sie elastischer zu gestalten, wenn sich Ihre Ressourcenanforderungen ändern.
quelle
Es gibt noch ein weiteres Szenario: Nachdem diese 500 Ausnahmen beseitigt wurden, haben sie nichts über die Fähigkeit von Azure-Websites gesagt, Platzhalter-CNAME zu verarbeiten. Einige von uns verwenden Nates Web Role Accelerator in Cloud Services, da ein einzeiliger Hack Wildcard-Subdomain-Funktionen in Nates Software bereitstellt. Wir können diese Wildcard-Subdomain-Apps erst verschieben, wenn wir wissen, dass Azure-Websites damit umgehen können. Wenn dies niemals möglich sein wird, wird dies auf der Seite der Webrolle als positiv eingestuft. Bemerkenswert ist auch, dass ich bei genau gleichen Preisen (nach Ablauf des Vorschau-Rabattes) nicht sicher bin, ob ich meinen Zugriff auf RDC und Event Viewer aufgeben möchte (um nur zwei Dinge zu erwähnen).
quelle
Azure-WebsitesMit dieser Option können Sie schnell hochskalierbare Websites in Azure erstellen. Sie können das Azure-Portal oder die Befehlszeilentools verwenden, um eine Website mit gängigen Sprachen wie .NET, PHP, Node.js und Python einzurichten. Unterstützte Frameworks sind bereits bereitgestellt und erfordern keine weiteren Installationsschritte. Die Azure-Website-Galerie enthält viele Anwendungen von Drittanbietern wie Drupal und WordPress sowie Entwicklungsframeworks wie Django und CakePHP. Nach dem Erstellen einer Website können Sie entweder eine vorhandene Website migrieren oder eine vollständig neue Website erstellen. Websites machen die Verwaltung der physischen Hardware überflüssig und bieten mehrere Skalierungsoptionen. Sie können von einem gemeinsam genutzten mandantenfähigen Modell in einen Standardmodus wechseln, in dem dedizierte Maschinen eingehenden Datenverkehr bedienen. Mit Websites können Sie auch andere Azure-Dienste integrieren. wie SQL-Datenbank, Service Bus und Speicher. Mit der Azure WebJobs SDK-Vorschau können Sie die Hintergrundverarbeitung hinzufügen. Zusammenfassend lässt sich sagen, dass Azure-Websites die Konzentration auf die Anwendungsentwicklung erleichtern, indem sie eine Vielzahl von Sprachen, Open Source-Anwendungen und Bereitstellungsmethoden (FTP, Git, Web Deploy oder TFS) unterstützen. Wenn Sie keine speziellen Anforderungen haben, für die Cloud Services oder virtuelle Maschinen erforderlich sind, ist eine Azure-Website höchstwahrscheinlich die beste Wahl.
Cloud-ServicesMit dieser Funktion können Sie hochverfügbare, skalierbare Webanwendungen in einer umfangreichen PaaS-Umgebung (Platform as a Service) erstellen. Im Gegensatz zu Websites wird ein Cloud-Dienst zuerst in einer Entwicklungsumgebung wie Visual Studio erstellt, bevor er in Azure bereitgestellt wird. Frameworks wie PHP erfordern benutzerdefinierte Bereitstellungsschritte oder Aufgaben, mit denen das Framework beim Start der Rolle installiert wird. Der Hauptvorteil von Cloud Services ist die Fähigkeit, komplexere mehrschichtige Architekturen zu unterstützen. Ein einzelner Cloud-Dienst kann aus einer Frontend-Webrolle und einer oder mehreren Worker-Rollen bestehen. Jede Ebene kann unabhängig skaliert werden. Es gibt auch ein erhöhtes Maß an Kontrolle über Ihre Webanwendungsinfrastruktur. Sie können beispielsweise einen Remotedesktop auf den Computern ausführen, auf denen die Rolleninstanzen ausgeführt werden.
Virtuelle MaschinenMit dieser Option können Sie Webanwendungen auf virtuellen Maschinen in Azure ausführen. Diese Funktion wird auch als Infrastructure as a Service (IaaS) bezeichnet. Erstellen Sie neue Windows Server- oder Linux-Computer über das Portal oder laden Sie ein vorhandenes Image einer virtuellen Maschine hoch. Mit virtuellen Maschinen haben Sie die größte Kontrolle über das Betriebssystem, die Konfiguration sowie die installierte Software und Dienste. Dies ist eine gute Option für die schnelle Migration komplexer lokaler Webanwendungen in die Cloud, da die Computer als Ganzes verschoben werden können. Mit virtuellen Netzwerken können Sie diese virtuellen Maschinen auch mit lokalen Unternehmensnetzwerken verbinden. Wie bei Cloud Services haben Sie Remotezugriff auf diese Computer und können Konfigurationsänderungen auf Verwaltungsebene vornehmen. Im Gegensatz zu Websites und Cloud-Diensten Sie müssen die Images und die Anwendungsarchitektur Ihrer virtuellen Maschine vollständig auf Infrastrukturebene verwalten. Ein grundlegendes Beispiel ist, dass Sie Ihre eigenen Patches auf das Betriebssystem anwenden müssen.
Siehe aktualisierten und umfassenden Vergleich unter diesem Link: http://azure.microsoft.com/en-us/documentation/articles/choose-web-site-cloud-service-vm/
quelle
Azure-Websites, Web Worker und virtuelle Maschinen sind drei verschiedene Computeransätze, die unter Windows Azure verfügbar sind. Sie unterscheiden sich in der Kontrolle und in den Verantwortlichkeiten:
Es gibt keine beste Wahl, da dies davon abhängt, welche Kontrollebene Sie benötigen, welche Funktionen Sie benötigen und welche Azure-Elemente beibehalten werden sollen. Und es ist ein großes Thema ..
In diesen Artikeln finden Sie weitere Informationen, um eine fundiertere Auswahl zu treffen:
Es läuft auf einen Kompromiss zwischen Benutzerfreundlichkeit und Funktionen hinaus.
quelle
Zwei weitere Dinge, die ich fand, waren die Kosten für das Abrufen von SSL für eine benutzerdefinierte Domain-Site und Konfigurationen mit mehreren Mandanten.
Für Websites müssen Sie monatlich zusätzlich zur Standardinstanz bezahlen (kleine Instanz ist die billigste Option). Dies bedeutet, dass https ~ 70 / Monat für eine kleine Instanz plus ~ 41 / Monat für SSL kostet, das alle Browser unterstützt, um eine benutzerdefinierte Domain zu erhalten.
Für WebRole können Sie eine XS-Instanz herunterladen und kostenlos Ihr eigenes SSL hinzufügen. Dies bedeutet ~ 15 US-Dollar pro Monat und Sie haben eine benutzerdefinierte Domain mit SSL.
Informationen zur Website mit mehreren Mandanten finden Sie unter CNure Dynamic Wildcard CName für mehrere Mandanten
quelle
Eine Webrolle ist eine virtuelle Maschine, die mehrere Websites hostet
quelle
Dies ist eine häufig gestellte Frage, und ich möchte einen Auszug aus msdn herausgeben.
Zugriff auf Dienste wie Caching, Service Bus, Speicher, SQL Azure-Datenbank - Website: Ja WebRole: Ja
Unterstützung für ASP.NET, klassisches ASP, Node.js, PHP-WebSite: Ja WebRole: Ja
Freigegebener Inhalt und Konfiguration - Website: Ja Webrolle: Nein
Stellen Sie Code mit GIT, FTP-WebSite bereit: Ja WebRole: Nein
Fast sofortige Bereitstellung - WebSite: Ja WebRole: Nein
Integrierte MySQL-as-a-Service-Support-Website: Ja WebRole: Ja
Mehrere Bereitstellungsumgebungen (Produktion und Staging) - Website: Nein WebRole: Ja
Netzwerkisolation-WebSite: Nein WebRole: Ja
Remotedesktopzugriff auf Server-WebSite: Nein WebRole: Ja
Möglichkeit zum Ausführen von Programmen mit erhöhten Berechtigungen - WebSite: Nein WebRole: Ja
Möglichkeit zum Definieren / Ausführen von Startaufgaben - Website: Nein WebRole: Ja
Möglichkeit zur Verwendung nicht unterstützter Frameworks oder Bibliotheken-WebSite: Nein WebRole: Ja
Unterstützung für Windows Azure Connect / Windows Azure-Netzwerkwebsite: Nein WebRole: Ja
Weitere Informationen finden Sie unter folgendem Link: http://blogs.msdn.com/b/silverlining/archive/2012/06/27/windows-azure-websites-web-roles-and-vms-when-to -use-which.aspx
quelle