Quelle est la différence entre un site Web Azure et un rôle Web Azure

Quelles sont les différences matérielles entre les nouveaux sites Web Azure et les rôles Web Azure traditionnels pour une application ASP.NET MVC? Pour quelle raison choisirais-je un “site Web” plutôt qu’un “rôle Web” ou vice versa?

Supposons que j’aurais besoin d’une capacité égale dans les deux cas (par exemple, 2 petites instances). Les prix semblent comparables au fait qu’il ya une remise temporaire de 33% pour les sites Web pendant leur période de prévisualisation.

Y a-t-il des choses que je peux faire avec un “site web” qui sont difficiles ou impossibles avec un rôle web? Par exemple, devient-il facile de placer plusieurs sites Web dans un seul ensemble de machines virtuelles en utilisant des “sites Web”? Est-ce que je perds quelque chose avec un “site web” contre un “rôle web”? Possibilité d’ajuster IIS? Possibilité d’utiliser le service de cache localement?

Les rôles Web vous offrent plusieurs fonctionnalités autres que Web Apps (anciennement Web Sites):

  • Possibilité d’exécuter des scripts de démarrage surélevés pour installer des applications, modifier les parameters du registre, installer des compteurs de performance, ajuster les services Internet (IIS), etc.
  • Possibilité de diviser une application en plusieurs niveaux (peut-être un rôle Web pour le front-end, rôle du travailleur pour le traitement du backend) et une mise à l’échelle indépendante
  • Possibilité de RDP dans votre VM à des fins de débogage
  • Isolation du réseau
  • Adresse IP virtuelle dédiée, qui permet aux instances de rôle Web d’un service cloud d’accéder aux machines virtuelles à ressortingction IP
  • Noeuds finaux restreints par l’ACL (ajoutés dans Azure SDK 2.3, avril 2014)
  • Prise en charge de tous les ports TCP / UDP (les sites Web sont limités à TCP 80/443)

Les applications Web ont toutefois des avantages sur les rôles Web:

  • Déploiement quasi-instantané avec historique de déploiement / annulations
  • Visual Studio Online, github, git local, ftp, CodePlex, DropBox, prise en charge du déploiement de BitBucket
  • Possibilité de déployer un des nombreux CMS et frameworks (WordPress, Joomla, Django, MediaWiki, etc.)
  • Utilisation de SQL Database ou MySQL
  • Simple et rapide pour passer du niveau gratuit au niveau partagé et au niveau dédié
  • Emplois Web
  • Sauvegardes du contenu du site Web
  • Outils de débogage Web intégrés (console de débogage cmd / powershell simple, explorateur de processus, outils de diagnostic tels que la lecture de journaux, etc.)

Avec les déploiements d’avril 2014 et de septembre 2014, certaines fonctionnalités communes aux applications Web et aux rôles Web (et aux rôles de travail) sont désormais disponibles, notamment:

  • Staging + slots de production
  • Wildcard DNS, certificates SSL
  • Intégration Visual Studio
  • Prise en charge du gestionnaire de trafic
  • Prise en charge du réseau virtuel

Voici un aperçu que j’ai pris du formulaire de sélection de la galerie de sites Web: entrer la description de l'image ici

Je pense que les applications Web sont un excellent moyen de démarrer rapidement et de passer de ressources partagées à des ressources réservées. Une fois que vous avez dépassé ce niveau, vous pouvez alors passer aux rôles Web et les développer selon vos besoins.

EDIT 2014: Pour ce que ça vaut, beaucoup d’informations dans cette réponse ne sont plus correctes – voir les commentaires.

Ajoutez plus à la réponse de @David:

Avec les sites Web Windows Azure, vous n’avez aucun contrôle sur IIS ni sur le serveur Web, car vous utilisez une tranche de ressources avec des centaines d’autres sites Web sur le même ordinateur. Vous partagez des ressources comme les autres.

La grande différence entre un site Web partagé et le rôle Web Azure est qu’un site Web est considéré comme lié au processus alors que les rôles sont liés à la VM.

Les sites Web sont stockés sur un partage de contenu accessible à partir de tous les “serveurs Web” de la batterie de serveurs, ce qui évite toute réplication ou tout ce qui est nécessaire.

Les sites Web Windows Azure ne peuvent pas avoir leur propre nom d’hôte mais doivent utiliser uniquement le nom de domaine Web .azureewebsites.net et vous pouvez utiliser le paramètre CNAME dans votre fournisseur DNS pour acheminer votre demande exactement avec le rôle Windows Azure précédent uniquement lorsqu’ils s’exécutent en mode réservé . Le paramètre CNAME n’est pas pris en charge pour les sites Web partagés.

Je viens de poster un article complet sur ce sujet à l’ adresse http://robdmoore.id.au/blog/2012/06/09/windows-azuree-web-sites-vs-web-roles/ .

Un extrait de ma conclusion: Si vous avez besoin d’énormes centres de données, SSL, asiatiques ou américains, une configuration non standard (IIS, ports, diagnostics, certificates de sécurité ou scripts de démarrage), RDP ou des rôles de travail rentables ( combiné avec votre rôle Web), vous allez devoir vous en tenir aux rôles Web pour le moment.

Sinon, les sites Web sont une excellente option!

Azure Web Role est similaire à un hôte privé virtuel. Vous obtenez une VM qui agit comme votre serveur Web et vous possédez cette instance de VM.

Les sites Web Azure sont comme un service d’hébergement partagé élastique. Vous déployez votre application sur un serveur Web non contrôlé par vous et qui héberge également les sites d’autres utilisateurs. Vous pouvez faire évoluer votre site vers le haut ou le bas (moyennant des frais supplémentaires) pour le rendre plus élastique à mesure que vos ressources doivent être déplacées.

Il y a un autre scénario à la mode: après l’élimination de ces 500 exceptions, ils n’ont rien dit sur la capacité des sites Web Azure à gérer les CNAME génériques. Plusieurs d’entre nous utilisent l’accélérateur de rôle Web de Nate dans les services de cloud computing, car un piratage sur une seule ligne fournit une fonctionnalité de sous-domaine générique dans le logiciel de Nate. Nous ne pouvons pas déplacer ces applications de sous-domaines génériques tant que nous ne soaps pas que les sites Web Azure pourront les gérer. Si ce n’est jamais le cas, cela devient positif du côté du rôle Web. Il est également à noter que les prix étant exactement les mêmes (après l’expiration de la réduction de prévisualisation), je ne suis pas sûr de vouloir renoncer à mon access à RDC et à Event Viewer (pour ne citer que deux choses).

Les sites Web Azure vous permettent de créer rapidement des sites Web hautement évolutifs sur Azure. Vous pouvez utiliser le portail Azure ou les outils de ligne de commande pour configurer un site Web avec des langages populaires tels que .NET, PHP, Node.js et Python. Les infrastructures sockets en charge sont déjà déployées et ne nécessitent pas plus d’étapes d’installation. La galerie de sites Web Azure contient de nombreuses applications tierces, telles que Drupal et WordPress, ainsi que des frameworks de développement tels que Django et CakePHP. Après avoir créé un site, vous pouvez migrer un site Web existant ou créer un site Web entièrement nouveau. Les sites Web éliminent la nécessité de gérer le matériel physique et offrent également plusieurs options de mise à l’échelle. Vous pouvez passer d’un modèle multi-client partagé à un mode standard où les machines dédiées traitent le trafic entrant. Les sites Web vous permettent également d’intégrer d’autres services Azure, tels que la firebase database SQL, le bus de service et le stockage. A l’aide de l’aperçu du kit de développement Azure WebJobs, vous pouvez append un traitement en arrière-plan. En résumé, les sites Web Azure facilitent la mise au point d’applications en prenant en charge un large éventail de langages, d’applications open source et de méthodologies de déploiement (FTP, Git, Web Deploy ou TFS). Si vous ne disposez pas d’exigences spécifiques nécessitant des services Cloud ou des machines virtuelles, un site Web Azure est probablement le meilleur choix.

Les services Cloud vous permettent de créer des applications Web hautement disponibles et évolutives dans un environnement PaaS (Platform as a Service) riche. Contrairement aux sites Web, un service cloud est créé en premier dans un environnement de développement, tel que Visual Studio, avant d’être déployé sur Azure. Les frameworks, tels que PHP, nécessitent des étapes de déploiement ou des tâches personnalisées qui installent la structure au démarrage du rôle. Le principal avantage des services Cloud est la capacité à prendre en charge des architectures multiniveaux plus complexes. Un seul service cloud peut consister en un rôle Web frontal et en un ou plusieurs rôles de travail. Chaque niveau peut être mis à l’échelle indépendamment. Il y a également un niveau de contrôle accru sur votre infrastructure d’application Web. Par exemple, vous pouvez placer le bureau à distance sur les machines qui exécutent les instances de rôle. Vous pouvez également créer des scripts IIS plus avancés et des modifications de configuration de la machine qui s’exécutent au démarrage du rôle, y compris des tâches qui nécessitent un contrôle de l’administrateur.

Les machines virtuelles vous permettent d’exécuter des applications Web sur des machines virtuelles dans Azure. Cette capacité est également appelée infrastructure en tant que service (IaaS). Créez de nouvelles machines Windows Server ou Linux via le portail ou téléchargez une image de machine virtuelle existante. Les machines virtuelles vous offrent le plus grand contrôle sur le système d’exploitation, la configuration et les logiciels et services installés. C’est une bonne option pour migrer rapidement des applications Web sur site complexes vers le cloud, car les machines peuvent être déplacées dans leur ensemble. Avec les réseaux virtuels, vous pouvez également connecter ces machines virtuelles aux réseaux d’entreprise locaux. Comme avec Cloud Services, vous disposez d’un access à distance à ces machines et de la possibilité d’effectuer des modifications de configuration au niveau administratif. Cependant, contrairement aux sites Web et aux services Cloud, vous devez gérer complètement les images de vos machines virtuelles et leur architecture d’application au niveau de l’infrastructure. Un exemple de base est que vous devez appliquer vos propres correctifs au système d’exploitation.

Voir la comparaison mise à jour et complète à partir de ce lien: http://azuree.microsoft.com/en-us/documentation/articles/choose-web-site-cloud-service-vm/

Azure Websites, Web Workers et Virtual Machines sont trois approches informatiques différentes disponibles sur Windows Azure. Ils diffèrent par le niveau de contrôle et les responsabilités:

  • Le site Web Azure a le niveau de contrôle le plus bas, mais vous ne tenez pas compte de la santé de la machine virtuelle et des services Internet (IIS), car les éléments Azure le font pour vous
  • Les rôles Web vous donnent plus de contrôle (gestionnaire de trafic, poste de travail distant), mais une administration plus poussée est possible de votre côté, ce qui signifie que vous pouvez casser quelque chose via un poste de travail distant, par exemple
  • Les machines virtuelles vous offrent un contrôle total de la machine virtuelle. Vous devez donc déployer le plus d’efforts d’administration.

Il n’y a pas de meilleur choix, car cela dépend du niveau de contrôle dont vous avez besoin, des fonctionnalités dont vous avez besoin et de ce que vous voulez laisser aux éléments Azure à gérer. Et c’est un grand sujet ..

S’il vous plaît regarder ces articles pour plus d’informations pour faire un choix plus éclairé:

Cela se résume à un compromis entre la facilité d’utilisation et les capacités.

Deux autres choses que j’ai trouvées étaient les coûts liés à l’obtention de SSL pour un site de domaine personnalisé et les configurations multi-locataires.

Pour le site Web, vous devez payer mensuellement en plus de l’instance standard (l’instance la moins chère est l’option la moins chère). Cela signifie que pour obtenir un domaine personnalisé, https vous coûterait ~ 70 / mois pour une petite instance plus ~ 41 / mois pour SSL qui prend en charge tous les navigateurs.

Pour WebRole, vous pouvez obtenir une instance XS et append votre propre SSL gratuitement, ce qui signifie environ 15 $ par mois et vous avez un domaine personnalisé avec SSL.

Pour les sites Web multi-locataires, retirez le caractère générique dynamic Azure multi-locataire CName

Un rôle Web est une machine virtuelle qui héberge plusieurs sites Web.

C’est une question courante, et j’aimerais vous donner un extrait de msdn.

Accès à des services tels que la mise en cache, le bus de service, le stockage, SQL Azure Database – WebSite: Oui WebRole: Oui

Support pour ASP.NET, ASP classique, Node.js, PHP- WebSite: Oui WebRole: Oui

Contenu partagé et configuration – Site Web: Oui WebRole: Non

Déployer le code avec GIT, FTP- WebSite: Oui WebRole: Non

Déploiement quasi-instantané-Site Web: Oui WebRole: Non

Support intégré de MySQL-as-a-service-WebSite: Oui WebRole: Oui

Plusieurs environnements de déploiement (production et staging) -WebSite: non WebRole: oui

Isolement réseau-WebSite: Non WebRole: Oui

Accès au bureau à distance aux serveurs-WebSite: Non WebRole: Oui

Possibilité d’exécuter des programmes avec des permissions élevées -Site Web: Non WebRole: Oui

Possibilité de définir / exécuter des tâches de démarrage-WebSite: Non WebRole: Oui

Possibilité d’utiliser des frameworks ou des bibliothèques non pris en charge-WebSite: Non WebRole: Oui

Prise en charge de Windows Azure Connect / Windows Azure Réseau-Site Web: Non WebRole: Oui

Pour en savoir plus, visitez ce lien: http://blogs.msdn.com/b/silverlining/archive/2012/06/27/windows-azuree-websites-web-roles-and-vms-when-to -use-quel.aspx