web-dev-qa-db-fra.com

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

Quelles sont les différences essentielles entre le nouveau 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 inversement?

Supposons que j’ai besoin d’une capacité égale dans les deux cas (par exemple, 2 petites instances). Les prix semblent comparables, mis à part le fait qu'il existe une réduction temporaire de 33% pour les sites Web pendant la 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, est-il devenu facile de mettre 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" ou un "rôle Web"? Possibilité d'affiner IIS? Possibilité d'utiliser le service de cache localement?

234
Erv Walter

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

  • Possibilité d'exécuter des scripts de démarrage élevés pour installer des applications, modifier les paramètres de registre, installer des compteurs de performance, ajuster les services Internet (IIS), etc.
  • Possibilité de scinder une application en niveaux (peut-être un rôle Web pour le serveur frontal, un rôle d'utilisateur pour le traitement du backend) et de faire évoluer la plateforme indépendamment
  • 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 à des machines virtuelles restreintes par IP
  • Points de terminaison limités par la liste de contrôle d'accès (ajouté 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 présentent toutefois des avantages par rapport aux rôles Web:

  • Déploiement quasi instantané avec historique/annulations de déploiement
  • Prise en charge de déploiement de Visual Studio Online, github, git local, ftp, CodePlex, DropBox, BitBucket
  • Possibilité de déployer l'un des nombreux CMS et frameworks (tels que WordPress, Joomla, Django, MediaWiki, etc.)
  • Utilisation de base de données SQL ou MySQL
  • Simple et rapide à passer d'un niveau gratuit à un niveau partagé en un 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 transmission en continu des 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:

  • Staging + slots de production
  • Wildcard DNS, certificats SSL
  • Intégration à Visual Studio
  • Prise en charge du Traffic Manager
  • Support réseau virtuel

Voici un screengrab que j'ai tiré du formulaire de sélection de la galerie de sites Web: enter image description here

Je pense que les applications Web sont un excellent moyen d’être rapidement opérationnel et de passer des ressources partagées aux ressources réservées. Une fois que vous avez dépassé ce seuil, vous pouvez passer aux rôles Web et développer à votre guise.

210
David Makogon

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 @ David:

Avec les sites Web Windows Azure, vous n'avez pas le contrôle sur IIS ou le serveur Web, car vous utilisez une tranche de ressources avec des centaines d'autres sites Web sur le même ordinateur. Vous partagez les ressources comme tout autre. il n'y a donc aucun contrôle sur IIS.

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

Les sites Web sont stockés sur un partage de contenu accessible à partir de tous les "serveurs Web" de la batterie, de sorte qu'il n'y a pas de réplication ni rien de ce genre requis.

Les sites Web Windows Azure ne peuvent pas avoir leur propre nom d’hôte. Ils doivent uniquement utiliser le nom du site Web . Azurewebsites.net et vous pouvez utiliser le paramètre CNAME de votre fournisseur DNS pour: acheminez votre demande exactement de la même manière 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.

43
AvkashChauhan

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

Un extrait de ma conclusion: Si vous avez besoin d’une énorme échelle, de centres de données SSL, asiatiques ou occidentaux, d’une configuration non standard (IIS, ports, diagnostics, certificats de sécurité ou scripts de démarrage), de RDP ou de rôles de travail économiques ( 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!

34
Robert Moore

Azure Web Role est comme un hôte privé virtuel. Vous obtenez un VM qui fait office de serveur Web et vous possédez cette instance VM.

Les sites Web Azure ressemblent à un service d'hébergement partagé élastique. Vous déployez votre application sur un serveur Web que vous ne contrôlez pas et qui héberge également les sites d'autres utilisateurs. Vous pouvez redimensionner votre site (moyennant des frais supplémentaires) pour le rendre plus élastique au fur et à mesure que vos ressources changent.

14
Jimmy

Sites Web Azure vous permet 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 courants tels que .NET, PHP, Node.js et Python. Les infrastructures prises en charge sont déjà déployées et ne nécessitent plus d'étapes d'installation. La galerie de sites Web Azure contient de nombreuses applications tierces, telles que Drupal et WordPress, ainsi que des cadres 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 tout nouveau site Web. Les sites Web éliminent la nécessité de gérer le matériel physique et offrent plusieurs options de dimensionnement. Vous pouvez passer d'un modèle multi-locataire partagé à un mode standard dans lequel des machines dédiées traitent le trafic entrant. Les sites Web vous permettent également de vous intégrer à d'autres services Azure, tels que la base de données SQL, le bus de service et le stockage. À l'aide de l'aperçu Azure WebJobs SDK, vous pouvez ajouter un traitement en arrière-plan. En résumé, les sites Web Azure permettent de se concentrer plus facilement sur le développement d'applications en prenant en charge un large éventail de langues, d'applications open source et de méthodologies de déploiement (FTP, Git, Web Deploy ou TFS). Si vous n'avez pas d'exigences spécifiques nécessitant des services cloud ou des machines virtuelles, un site Web Azure est probablement le meilleur choix.

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 de cloud est d'abord créé 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 personnalisées ou des tâches qui installent le framework au démarrage du rôle. Le principal avantage des services en nuage réside dans la possibilité de prendre en charge des architectures multiniveaux plus complexes. Un seul service cloud peut comprendre un rôle Web frontal et un ou plusieurs rôles de travail. Chaque niveau peut être mis à l'échelle indépendamment. Il existe également un niveau de contrôle accru sur votre infrastructure d’applications Web. Par exemple, vous pouvez effectuer un poste de travail à distance sur les ordinateurs qui exécutent les instances de rôle. Vous pouvez également créer un script IIS plus avancé et modifier la configuration de l'ordinateur qui s'exécute au démarrage du rôle, y compris les tâches nécessitant le contrôle de l'administrateur.

Machines virtuelles vous permettent d'exécuter des applications Web sur des machines virtuelles dans Azure. Cette fonctionnalité 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 donnent le plus de 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 à des réseaux d'entreprise locaux. Comme pour les services cloud, vous disposez d'un accès à distance à ces machines et de la possibilité d'effectuer des modifications de configuration au niveau administratif. Toutefois, contrairement aux sites Web et aux services de cloud computing, vous devez gérer les images de votre machine virtuelle et l’architecture de vos applications complètement 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 actualisée et complète à partir de ce lien: http://Azure.Microsoft.com/en-us/documentation/articles/choose-web-site-cloud-service-vm/

6
Jamil

Il existe un autre scénario en suspens: une fois que ces 500 exceptions ont été éliminées, ils ne disent plus rien 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ôles Web de Nate dans les services en nuage, parce que le logiciel de Nate offre une capacité de sous-domaine générique à une ligne de hack. Nous ne pouvons pas déplacer ces applications génériques de sous-domaines tant que nous ne savons pas que les sites Web Azure seront en mesure de les gérer. S'il ne parvient jamais à le faire, le résultat de son rôle dans le rôle Web est positif. Il convient également de noter que le prix étant exactement identique (après l'expiration de la réduction de prévisualisation), je ne suis pas sûr de vouloir abandonner mon accès à RDC et à l'observateur d'événements (pour ne mentionner que deux choses).

6
Luke Latham

Les sites Web, les travailleurs Web et les machines virtuelles Azure 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 possède le niveau de contrôle le plus faible, mais vous ne vous souciez pas de la conserver dans la machine virtuelle et les services Internet (IIS), car Azure le fait pour vous.
  • Les rôles Web vous donnent plus de contrôle (gestionnaire de trafic, poste de travail distant), mais une administration supplémentaire est possible de votre côté, ce qui signifie que vous pouvez casser quelque chose via un poste de travail distant. par exemple
  • Machines virtuelles vous donne le contrôle total de la machine virtuelle. Vous devez donc déployer le plus d’efforts en matière 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 à Azure. Et c'est un gros sujet ..

Veuillez consulter ces articles pour plus d'informations afin de faire un choix plus éclairé:

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

4
johnnyno

Deux autres choses que j'ai trouvées sont le coût d'obtention de SSL pour un site de domaine personnalisé et des configurations multi-locataires.

Pour les sites Web, vous devez payer mensuellement en plus de l'instance standard (la petite instance est l'option la moins chère). Cela signifie que pour obtenir un domaine personnalisé, https vous coûterait environ 70/mois pour les petites instances plus ~ 41/mois pour SSL prenant en charge tous les navigateurs.

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

Pour la vérification de sites Web multi-locataires caractère générique dynamique Azame pour plusieurs locataires

3
Farnam

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

1
mLar

C’est une question courante, et je voudrais vous donner un extrait de msdn.

Accès à des services tels que Caching, Service Bus, Stockage, Base de données SQL Azure - Site Web: Oui WebRole: Oui

Prise en charge de ASP.NET, ASP classique, Node.js, PHP- Site Web: Oui WebRole: Oui

Contenu et configuration partagés - Site Web: Oui WebRole: Non

Déployer du code avec GIT, FTP- Site Web: Oui WebRole: Non

Site Web de déploiement quasi instantané: Oui WebRole: Non

Site Web de support MySQL intégré en tant que service: Oui WebRole: Oui

Plusieurs environnements de déploiement (production et intermédiaire) -WebSite: Non WebRole: Oui

Isolation réseau-Site Web: Non WebRole: Oui

Accès de bureau à distance aux serveurs-Site Web: Non WebRole: Oui

Possibilité d'exécuter des programmes avec des autorisations élevées-WebSite: No WebRole: Yes

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

Possibilité d'utiliser des infrastructures ou des bibliothèques non prises en charge - WebSite: Non WebRole: Oui

Prise en charge de Windows Azure Connect/Windows Azure Network-WebSite: Non WebRole: Oui

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

0