L’autre façon d’héberger vos sites web
Et si vous hébergiez vos sites sous Azure, gratuitement, et ceci en à peine quelques clics ? L’arrivée des Windows Azure Web Sites ouvre en effet la plate-forme PaaS à des usages simplifiés la rendant accessible à des utilisateurs sans la moindre expertise !
Au fil des mois, Windows Azure n’a cessé d’évoluer au point de s’affirmer aujourd’hui comme l’une des offres cloud les plus riches et les plus complètes du marché, si ce n’est tout simplement la plus complète. Née comme une « Plateforme As Service », l’offre couvre désormais largement les besoins des entreprises en « Infrastructure As A Service » et s’étend partiellement vers le SaaS. Même la partie PaaS ne cesse d’évoluer ; l’une des dernières trouvailles simplifie l’hébergement de purs sites web sous Azure.
WAWS pour simplifier
Sous l’appellation « Windows Azure Web Sites » (WAWS) se cache ni plus ni moins qu’une offre d’hébergement de sites WEB s’appuyant sur la souplesse et l’élasticité du Cloud Microsoft. On peut également percevoir cette solution comme une seconde offre PaaS – s’appuyant sur la première et son fameux Web Role, pour une fraction du coût habituel –, spécialisée dans la publication d’un site web, avec la volonté affirmée de simplifier les opérations au maximum. À partir du moment où vous n’avez pas besoin de déployer des applications exploitant de façon avancée les différents services cloud d’Azure, que vous n’avez pas besoin de gérer les tâches de démarrage ou de régler précisément les paramètres du serveur web, en un mot dès lors que vous avez simplement besoin d’héberger un site web dynamique avec sa base de données, vous entrez dans la cible type des WAWS ! Votre site peut être indifféremment construit en ASP.NET, PHP ou NODE.JS. Sa structure peut aussi bien s’appuyer sur un développement propriétaire que sur une solution Open Source type WordPress, Drupal, Joomla! et consorts. Son déploiement peut être réalisé à la main en FTP ou directement depuis TFS, WebMatrix/Visual Studio ou GIT. La diversité des déploiements simplifiés et l’accès à l’hébergement gratuit de dix petits sites sont les deux principaux atouts qui démarquent immédiatement l’offre Microsoft.
Créer son premier site
Avant toute chose, vous devez disposer d’un compte Microsoft (ex Live ID) associé à un compte Windows Azure. Rappelons que tout utilisateur MSDN dispose automatiquement d’un compte Azure donnant notamment droit à dix site web gratuits durant la durée de son abonnement. Si vous n’avez pas de comptes MSDN, vous pouvez ouvrir un compte Windows Azure de test gratuitement, compte qui donne également la possibilité d’héberger dix petits sites. Connectez-vous sur le portail d’administration d’Azure (manage.windowsazure.com). Dans le volet de gauche, sélectionnez SITES WEB. Cliquez sur Nouveau. Sélectionnez Création Rapide. Dans URL, saisissez un nom pour votre futur site. Notez que les sites WAWS s’adressent sous la forme « nomdusite.azurewebsites.net ». Si le nom du site choisi n’est pas disponible, vous en serez averti au moment même de la saisie. Il faut ensuite sélectionner la région d’hébergement. Pour l’instant l’offre AWS est diffusée sur quatre des huit régions Azure : US Ouest, US Est, Asie Est et Europe Nord. Pour rappel, le Data Center « Europe Nord » est situé en Irlande, à Dublin. Il ne reste plus qu’à valider en cliquant sur « Créer un site Web ». L’allocation du site ne prend que quelques secondes. Pas le temps de se faire un petit café…
Visite rapide
Une fois le site créé, celui-ci apparaît dans la liste, sous l’onglet « SITES WEB ». Cliquez dessus pour afficher son interface d’administration. Cliquez sur l’onglet Tableau de Bord pour découvrir l’interface d’administration au quotidien. Elle offre une vue très graphique de l’utilisation des ressources. Continuez à explorer les autres onglets de l’interface d’administration : « Surveiller » reprend les informations de fréquentation et de consommation de ressources sous forme plus détaillée. Notez qu’en cliquant sur les en-têtes, on peut filtrer l’affichage pour isoler certaines informations ou modifier l’échelle – par défaut l’interface affiche les données des dernières 24h, mais on peut filtrer sur les six dernières heures ou sur la semaine écoulée. « Configurer » permet d’ajuster les versions que vous souhaitez utiliser du .NET Framework (3.5 ou 4.5), de PHP (5.3 ou 5.4) ainsi que de personnaliser le nom de domaine. Il permet aussi de directement définir des paramètres d’application, d’enregistrer les chaînes de connexion (à SQL Azure, SQL Server, MySQL ou à votre serveur personnalisé), de préciser les pages chargées par défaut, et même de spécifier les processeurs de scripts qui gèreront les requêtes en fonction des extensions de fichier. « Ressources Liées » permet d’indiquer simplement d’autres ressources Windows Azure directement liées à votre site web. Ces ressources sont typiquement des bases de données ou des espaces de stockage Azure. « Mettre à l’échelle » est un élément fondamental de la proposition de valeur de Windows Azure. On le sait, la force de la plate-forme, c’est son élasticité. Cet onglet permet non seulement de faire grimper le nombre d’instances pour absorber un pic de charge – puis le diminuer à nouveau une fois le pic passé –, mais surtout de préciser le mode de fonctionnement du site.
Trois modes de fonctionnement
La plate-forme propose en effet trois modes d’hébergement différents : gratuit, partagé, réservé. En mode Gratuit et Partagé, les sites s’exécutent dans un environnement mutualisé. Chaque site se voit imposer des quotas de ressources aussi bien en termes de CPU, de mémoire que de bande passante réseau. Comme on peut s’y attendre, les quotas sont extrêmement stricts sur les sites en mode Gratuit. Ces derniers sont surtout destinés à héberger des projets avant leur mise en production, des sites institutionnels de TPE ou PME, ou des blogs à la fréquentation très limitée.
Le mode Partagé permet en revanche d’absorber des pics de fréquentation bien plus importants en multipliant les instances à volonté. En mode Réservé, vos sites ne sont plus hébergés sur un environnement mutualisé mais sur un ordinateur virtuel dédié dont les capacités élastiques sont en réalité celles des ressources de calcul Windows Azure standard. Vous devrez donc préciser la taille des instances – de 1 coeur/1,75 Go de RAM à 4 coeurs/7 Go de RAM.
Transférer son premier site
Maintenant que le site est alloué, nous allons voir comment rapidement le mettre en oeuvre. Il suffit simplement d’y transférer une première page, HTML par exemple, via FTP. Si vous n’en avez pas sous la main, nous vous proposons de partir sur une page ASP. Ouvrez le Bloc-Notes et saisissez le code suivant : <% Dim UserIPAddress UserIPAddress = Request.ServerVariables("HTTP_X_FORWARDED_FOR") If UserIPAddress = "" Then UserIPAddress = Request.ServerVariables("REMOTE_ADDR") End If Response.Write "<html><body>" Response.Write "<h1>Hello World</h1>" Response.Write "Bienvenue IP :" Response.Write UserIPAddress Response.Write "</body></html>" %> Sauvez le fichier sous le nom « Default.asp ». Retournez sur l’interface d’administration des Sites Web Azure. Dans le Tableau de bord du site, repérez la section « Aperçu Rapide » sur la droite. Cliquez sur « Réinitialiser les informations d’identification du déploiement ». Cette étape est importante car il n’est pas possible de s’identifier sur le service FTP avec un compte Microsoft. C’est également vrai si l’on envisage des déploiements depuis GIT. Il faut donc associer un compte utilisateur classique à votre compte Microsoft à ces fins. Saisissez le nom d’utilisateur et le mot de passe associé dans l’assistant affiché. De retour sur le Tableau de Bord, repérez le lien « Nom d’hôte FTP » – ou mieux encore, le lien « Nom d’hôte FTPS ». Repérez également l’information « Utilisateur du déploiement FTP ». Ouvrez un client FTP, comme FileZilla, FTPRush ou WinSCP, collez l’URL d’accès en FTP ou FTPS, et copiez le fichier « Default.asp » nouvellement créé dans le dossier « /site/wwwroot/ » du serveur web.
Il n’y a plus qu’à se connecter au site web, désormais opérationnel, en utilisant l’URL nomdusite.azurewebsites.com et vérifiez que cette unique page fonctionne comme attendu ! Si ça n’est pas le cas, c’est probablement dû au nom de votre fichier ou à l’ordre de priorité de chargement de la page par défaut, tel que défini dans l’onglet « Configurer ».
Déployer WordPress en 1 minute chrono
Jusqu’ici, nous sommes partis d’un site vierge. Mais l’un des aspects les plus intéressants de WAWS réside dans la possibilité de démarrer directement des modèles prédéfinis issus des plates-formes CMS, eCommerce ou Blog les plus connues du monde Open Source. L’opération est aussi rapide et guère plus complexe. Retournez dans l’interface d’administration des Windows Azure Web Sites. Cliquez sur Nouveau et au lieu d’utiliser la fonction « Création rapide », appelez l’option « À partir de la Galerie ». Cette galerie présente une collection importante d’applicatifs « prêts à l’emploi ». On y retrouve notamment des incontournables du monde ASP.NET (Orchard CMS, R@zorC.NET, BlogEngine.NET, Composite C1 CMS, Umbraco, DasBlog, DotNetNuke, Galerie.NET, Kentico CMS, MojoPortal, nopCommerce, etc.), mais aussi les incontournables de la galaxie PHP/MySQL, à commencer par WordPress, Drupal 7, Drupal Commerce, Incentive, Joomla, MediaWiki, phpBB, etc. Bref, il y a un peu de tout pour commencer instantanément la mise en oeuvre de son site web, de son site de e-commerce ou d’un blog évolué. Prenons l’exemple de WordPress afin d’illustrer le travail réalisé par Microsoft pour automatiser le processus et le rendre accessible à tous : de la Galerie, sélectionnez WordPress. Cliquez sur Suivant ; nommez votre site en définissant son nom de sous domaine dans azurewebsites.net ; sélectionnez « Créer une base de données MySQL » (dans le menu Base de données) et cliquez sur Suivant ; donnez un nom à votre base MySQL, sélectionnez sa région d’hébergement, acceptez les termes ClearDB et validez par Terminer. Azure utilise en effet son partenaire ClearDB pour fournir l’hébergement de bases MySQL sous forme de service. Le tour est joué. Il faut juste laisser une vingtaine de secondes à Azure pour implémenter la solution. Notez qu’en mode Gratuit, vous n’avez droit qu’à une seule base MySQL pour l’ensemble de vos dix sites. Si vous avez besoin d’héberger plusieurs sites WordPress, une petite astuce est nécessaire. Commencez par créer le premier site WordPress comme ci-dessus. Connectez-vous au site à l’aide de votre client FTP. Éditez le fichier « wp-config. php » présent en racine du site Web. Repérez la variable d’environnement « $table_prefix = ’wp_’; ». Modifiez-la pour refléter le site en optant par exemple pour « $table_ prefix = ’wp1_’; ». Revenez sur l’interface Azure. Créez votre second site en prenant soin sur l’écran de création d’opter pour « Utiliser une base de données MySQL existante ». Puis relancer le client FTP et connectez-vous à ce nouveau site. Editez le fichier « wp-config.php » et modifiez la variable pour obtenir « $table_prefix = ’wp2_’; ».
Travailler avec WebMatrix 2
Nous vous l’avons souvent dit, l’outil WebMatrix 2 demeure à nos yeux le meilleur moyen de se confronter aux technologies web depuis les environnements Windows. Gratuit, il vous permet de créer en quelques clics une véritable machine de développement Web avec les outils de développement, les serveurs Web (PHP ou ASP.NET) et SGBD (SQL Server Express ou MySQL) qui vont bien et même la plateforme Open Source que vous souhaitez utiliser (WordPress, Orchard, etc.). Si vous devez vous lancer dans la création d’un site web, hébergé sur WAWS, depuis l’une de ces plateformes, commencez par créer un site depuis la Galerie comme vu précédemment puis utilisez WebMatrix pour le personnaliser et l’enrichir. Voici comment faire : depuis le tableau de bord de l’interface d’administration WAWS, cliquez sur « Télécharger le profil de publication » et enregistrez le fichier de Settings sur votre Bureau ; lancez maintenant l’environnement WebMatrix. Sélectionnez « Ouvrir le site » puis « Site distant » ; cliquez sur « Importer un profil de publication » et choisissez le fichier de Settings que vous venez de télécharger. Cliquez sur « Valider la connexion » pour vérifier que tout fonctionne comme attendu et validez sur Enregistrer. Cliquez alors sur « Télécharger » pour rapatrier l’environnement et le site WordPress en local. Vous pouvez maintenant, tranquillement de votre PC, paramétrer et personnaliser le site, définir votre arborescence de pages et ajouter les modules qui vous intéressent. Une fois le « développement » complété, cliquez simplement sur le bouton Publier pour retransférer le site WordPress personnalisé vers Azure. Eh oui… c’est aussi simple et trivial que ça en a l’air ! Pas de configuration manuelle, pas de surprises cachées : Un fichier de settings à télécharger, un clic pour rapatrier depuis Azure, un autre clic pour le republier sur Azure. Tout cela est évidemment rendu possible par le protocole WebDeploy intégré. Et ce qui est vrai pour WebMatrix l’est évidemment aussi pour Visual Studio (2010 comme 2012). Il suffit simplement d’y importer le fichier « profil de publication » téléchargé depuis le tableau de bord Azure.
Autres déploiements
Comme nous l’avons dit, le déploiement de sites peut aussi être effectué depuis différentes sortes de « repository » à commencer par Team Foundation Services (la version Online/SaaS de Visual Studio TFS accessible depuis www.visualstudio.com), CodePlex, GitHub, BitBucket ou un serveur GIT local. Pour vous y aider, Windows Azure propose un assistant spécialisé dans ces déploiements. Depuis le Tableau de bord du site, sélectionnez le lien « Configurer des déploiements avec TFS ou Git ».
Choisissez sur quel service est hébergé le code source de votre site, et suivez l’assistant pas à pas. Notez que lorsque vous déployez votre site vers WAWS depuis GIT ou TFS, vous verrez apparaître sur le portail un historique des déploiements. Celui-ci est des plus utiles puisqu’il permet de réaliser en quelques secondes un « rollback » à une date/version antérieure, en cas de mauvaises surprises après déploiement d’une nouvelle version !
Gérer la montée en charge
Au fur et à mesure que votre site verra sa notoriété augmenter, il faudra bien évidemment venir lui associer davantage de ressources. L’élasticité, la faculté d’assurer une montée en charge simple, a toujours été le leitmotiv d’Azure – avec l’idée de ne payer que pour les ressources consommées et de pouvoir augmenter ou redescendre les ressources allouées à volonté. On retrouve cette simplicité sur les Windows Azure Web Sites. Pour pouvoir ainsi assurer la montée en charge de vos sites, il faut bien évidemment les sortir du mode Gratuit. Le simple passage du mode Gratuit au mode « Partagé » vous offre déjà davantage de CPU et de bande passante. Mais si le site rencontre un vrai succès d’audience, il faudra s’intéresser à l’onglet « Mettre à l’échelle » du portail d’administration. Deux approches sont possibles. La première consiste simplement à augmenter le nombre d’instances allouées à votre site web en le conservant en mode Partagé. La seconde consiste à migrer du mode Partagé au mode Réservé. Dans ce mode, le site est alors hébergé sur des machines virtuelles dédiées. Vous pouvez alors sélectionner la taille des VM (Petite, Moyenne, Grande) ainsi que le nombre de VM. Attention à ce que vous faites. Les options de mise à l’échelle appliquées à un site WEB sont également appliquées à tous vos sites liées au même profil et à la même région s’ils sont configurés en mode Partagé ou Réservé ! Veillez donc à placer les sites qui n’ont pas besoin de la même élasticité sur des comptes Azure différents ou sur des régions différentes.
Des limites qui… tombent une à une
Jusqu’à récemment, les Windows Azure Web Sites étaient propulsés par IIS7 – et donc Windows Server 2008R2. Ce n’est plus le cas depuis quelques semaines. Hébergés sous Windows Server 2012 et donc IIS8 – c’est d’autant plus important que les WAWS peuvent conserver et migrer directement le fichier « web.config » local –, ils proposent désormais le support du .NET Framework 4.5. Voilà qui lève quelques limitations relevées par les premiers testeurs des WAWS. Toutefois, d’autres limitations demeurent. La plus marquante est l’impossibilité d’utiliser un domaine personnalisé sur les instances gratuites. Il faut absolument basculer soit en mode Partagé, soit en mode Réservé : notez que précédemment, seuls les hébergements Réservés pouvaient disposer d’un domaine personnalisé, ce n’est plus vrai désormais. La limitation la plus gênante est sans conteste la difficulté d’attacher un certificat SSL sur son propre domaine. Enfin, rappelons que les Windows Azure Web Sites sont toujours en beta. Mais ils ont beaucoup évolué ces dernières semaines, et la version actuelle ne saurait tarder. D’ailleurs, si vous aviez déjà tenté de vous frotter, avec bien peu de réussite, aux Azure Web Sites, à l’été ou l’automne dernier, nous ne pouvons que vous inviter à retenter l’aventure aujourd’hui pour y découvrir une expérience radicalement différente. Les « betas », ça sert aussi à ça…<