TP3-2 CONSTRUISEZ VOTRE PREMIER SERVICE AZURE Table des matières TP3-2 Construisez votre premier service Azure... 1 Construisez votre premier service Azure... 2 Mise en place des outils de développement... 2 Créez votre première solution Azure... 2 Vous êtes plutôt Web Role, WCF Service Role, Worker Role ou CGI Web Role?... 3 Découvrez le contenu d une solution Cloud Service... 4 Exercice 1 : Développez votre premier WebRole... 6 Exercice 2 : La «Development Fabric» ou tester et débuguer ses applications Azure en local... 7 Exercice 3 : Déployer votre solution sur le Cloud Azure... 9... 12 A la fin du TP tout doit être supprimé.... 12... 12 Exercice 4 : Mise en production d un service Azure... 12 Exercice 5 : Configurez votre application Windows Azure... 12 ServiceConfiguration.cscfg ou Web.config?... 13 Exercice 6 : Plus de puissance de calcul = plus de serveur!... 17 Conclusions... 18
Construisez votre premier service Azure Mise en place des outils de développement A partir de l hyperviseur, lancer Windows 7: 1. installer Visual Studio 2010, et le service pack 1. 2. Installer la fonctionnalité Services World Wide Web 3. Lancer Visual Studio 2010. Nouveau Projet/Cloud. 4. Le SDK Windows Azure n étant pas Installé, cliquer sur Activer Windows Azure Tools. Visual Studio présente ensuite une page de téléchargement : Télécharger Windows Azure Tools. Cliquer sur ce bouton, puis installer le SDK et quitter Visual Studio. Architectures réparties et Cloud Computing 5. Exécuter le correctif permettant d améliorer l IntelliSense pour les applications Cloud à l adresse suivante (utiliser Internet Explorer): http://code.msdn.microsoft. com/kb983301/release/pro jectreleases.aspx?releaseid =4351, puis installer le et redémarrer Visual Studio. Créez votre première solution Azure Dès lors que le SDK de Windows Azure sera installé sur votre machine, vous retrouverez au sein de Visual Studio 2010 un nouvel ensemble de modèles (templates) de création de projets, ceux-ci se trouvent sous la catégorie dite «Cloud Service» que vous retrouverez aussi bien en Visual Basic qu en Visual C#. Cette nouvelle catégorie vous permettra de créer des projets basés sur le Template Cloud Service. Observez la capture ci-dessous, vous devriez avoir le même rendu à votre écran. Acceptez les noms par défaut pour le nom du projet et le nom de la solution, à savoir : - Nom de votre projet : «CouldService1» - Nom de votre solution : «CouldService1» Cliquez maintenant sur le bouton «OK», cette étape effectuée, un assistant vous proposera de sélectionner les rôles de votre service Azure au travers de l écran cicontre : Vous devez sûrement vous poser la question : «mais Daniel Tschirhart - Architectures réparties et Cloud Computing - Construisez votre premier service Azure 2/18
qu est-ce qu un «Rôle»?» et vous avez raison. Abordons rapidement cette notion avant de poursuivre la création de notre premier projet. Vous êtes plutôt Web Role, WCF Service Role, Worker Role ou CGI Web Role? Effectivement, le développement d'applications Windows Azure engendre une notion dite de "Rôles" qui se distingue en quatre parties que sont les ASP.NET Web Role, les Worker Role, les WCF Service Role et les CGI Web Role. L architecture des services hébergés au sein de la plateforme Windows Azure est construite sur base de composants modulables développés en code managé. Ces composants sont appelés des «Rôles», ainsi la création d un service au sein de Windows Azure ne sera ni plus ni moins qu une implémentation d un ou plusieurs rôles. Un Service sera également capable d exécuter plusieurs instances de rôles différents. Dans Windows Azure, exécuter une ou plusieurs instances d un rôle consiste en une exécution répliquée sur plusieurs serveurs en vue d exécuter tout ou partie des fonctionnalités de ce ou ces services. A ce stade de la version du SDK de Windows Azure, vous retrouverez donc quatre rôles, libre à vous de choisir les rôles nécessaires au sein de votre solution! Voyons un peu plus en détails à quoi correspondent l ensemble de ces rôles : - Les ASP.NET Web Rôles : Ce rôle vous permettra de créer des applications Web de type ASP.NET qui seront exposées sur le protocole HTTP et/ou HTTPS. Vous pourrez alors héberger des applications de type ASP.NET. - Les WCF Service Web Role : Ce rôle est très similaire au précédent et permet d héberger des Web services basés sur la brique WCF du.net Framework. - Les Worker Roles : Ce troisième rôle consiste en une application de type processus s exécutant comme une tâche de fond sans nécessité d être exposée sur un quelconque protocole. Il peut s agir d une application de génération de miniature qui s exécuterait indépendamment du site web. On pourra alors utiliser les services d Azure Storage comme la Queue pour faire communiquer notre Web rôle avec le Worker Role. Source : http://msdn.microsoft.com/en-us/library/dd179341.aspx - Les CGI Web Roles Cette dernière catégorie de rôles vous permettra de créer des applications web s exécutant via FastCGI. Au travers de ce type de rôle, vous pourrez par exemple héberger sur Windows Azure des applications de type PHP. Ainsi un Service Azure que vous développerez pourra être un simple Web role (ASP.NET ou CGI par exemple), un simple Worker Role ou une combinaison des deux voire plus encore en termes de combinaisons. Vous avez également la possibilité d héberger plusieurs rôles du même type dans un service Azure Solution Visual Studio Azure - et ainsi vous retrouvez avec une solution Azure pouvant contenir X Web Role(s) et X Worker Role(s). Daniel Tschirhart - Architectures réparties et Cloud Computing - Construisez votre premier service Azure 3/18
Dans le cadre de ce TP de découverte, nous ajouterons un seul ASP.NET Web Role en sélectionnant simplement dans la catégorie «Visual C#» le «ASP.NET Web Role» et en cliquant ensuite sur la flèche vers la droite : Architectures réparties et Cloud Computing Après avoir cliqué sur le bouton «OK», vous obtiendrez ainsi le résultat suivant (après avoir sélectionné menu Affichage / Explorateur de solutions) : Examinons maintenant plus en détails le contenu de ce que Visual Studio 2010 nous a créés! Découvrez le contenu d une solution Cloud Service Analysons le contenu de la solution crée par Visual Studio 2010 : Comme vous pouvez le constater dans la capture ci-avant, nous retrouvons les deux projets suivants : CloudService1 : «Projet Azure» WebRole1 : «Votre premier Web rôle» Le premier projet «CloudService1» est un projet de type Azure, celui-ci contient différents éléments indispensables au paramétrage de la plateforme Azure, à savoir : Le fichier de définition du service contenant par exemple la configuration HTTP ou HTTPS Le fichier de configuration du service permettant l édition des paramètres de configuration depuis l interface d administration, vous y retrouvez également le nombre d instances pour chaque rôle. Ce premier projet est indispensable car il nous permet de tester une solution tant en local au travers des outils que nous découvrirons un peu plus loin. Ces éléments sont également présents dans la plateforme Windows Azure au travers de l interface de gestion des paramètres qui n est qu une réédition online de cette interface. Le second projet «WebRole1» est votre web rôle : un projet de type ASP.NET. Afin de mieux comprendre le mode de fonctionnement de ce type de solution et certainement le pourquoi de cette architecture de projet, effectuez maintenant une publication (Publier) de votre solution et observez le résultat! Pour ce faire, rien de plus simple, cliquez droit sur votre projet Azure «CloudService1» et sélectionnez l action Package... Cette action aura pour résultat la génération de votre solution ainsi que la création des packages qui devront être à terme uploadés sur la plateforme Azure au travers de son interface d administration. Nous y reviendrons ultérieurement. Daniel Tschirhart - Architectures réparties et Cloud Computing - Construisez votre premier service Azure 4/18
Observez les fichiers générés : Architectures réparties et Cloud Computing Un fichier CSPKG : fichier compressé contenant notre application ASP.NET Un fichier CSCFG : fichier de configuration de notre solution Azure. Celui-ci, après déploiement sur Azure, reste éditable au travers le site d administration. Par curiosité vous pouvez renommer le fichier CSPKG en.zip (ajouter l extension.zip) afin d analyser son contenu : Le fichier.cssx est lui-même un fichier ZIP qui contient le contenu de l application ASP.NET de notre WebRole. Si vous souhaitez obtenir de plus amples informations relatives à la structure interne des packages Azure, vous pouvez consulter l adresse ci-dessous : http://blogs.msdn.com/jnak/archive/2009/04/16/digging-in-to-thewindows-azure-service-package.aspx Pour la suite nous utiliserons un autre projet fourni dans une archive sur le site web de cours. Décompacter l archive dans le dossier C:\Users\user\Documents\Visual Studio 2010\Projects\MyFirstWebRoleprojet\MyFirstWebRole et ouvrir le projet (raccourcis MyFirstWebRole.sln). Daniel Tschirhart - Architectures réparties et Cloud Computing - Construisez votre premier service Azure 5/18
Exercice 1 : Développez votre premier WebRole Maintenant que vous avez compris les fondements relatifs à la création d une solution de type Azure, poursuivons la création de notre premier Web Role ASP.NET en ajoutant au sein de la Page ASPX un label qui a pour objectif d afficher le nom du serveur sur lequel l application est exécutée. Pour ce faire on réalise une page web simple comportant un simple control de type «Label» au sein de la page ASPX du projet WebRole de votre solution. Modifiez la page default.aspx pour qu elle présente le code suivant : Code HTML : <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="MyWebRole1._Default" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/tr/xhtml1/dtd/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" > <head runat="server"> <title>demo Azure</title> </head> <body> <form id="form1" runat="server"> <div> <h1><asp:label ID="lblHelloWorld" runat="server"></asp:label></h1> </div> </form> </body> </html> Commençons la partie code en étudiant le chargement de la page où nous allons remplir un label lblhelloworld (voir le code de Default.aspx) avec le nom du serveur sur lequel la page est exécutée. Saisissez ainsi le code suivant au sein de votre méthode de chargement de page (Default.aspx.cs) : Code C# : using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; namespace WebRole1 { public partial class _Default : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { this.lblhelloworld.text = "Hello World from " + Page.Server.MachineName; } } } Le premier développement de WebRole étant terminé, il vous faudra maintenant découvrir le mode de compilation et de test en local ainsi que sa «mise en production» sur la plateforme Azure. Passons pour ce faire à l étape : le test et debugging local! Daniel Tschirhart - Architectures réparties et Cloud Computing - Construisez votre premier service Azure 6/18
Exercice 2 : La «Development Fabric» ou tester et débuguer ses applications Azure en local Afin de vous faciliter le développement de vos applications Azure, vous avez la possibilité d exécuter l ensemble de vos rôles en local tout comme si vous étiez en production sur la plateforme de déploiement Windows Azure. Cette fonctionnalité, mise à disposition au travers de certains outils que nous allons découvrir vous permettra de tester et débuguer vos applications en local avant de les télécharger sur la plateforme Azure. Cette fonctionnalité de test local mise à disposition au travers de Visual Studio 2010 vous permettra de profiter du mode débugge disponible comme pour toute application de type ASP.NET. Indispensable! : démarrez votre Visual Studio 2010 en mode Administrateur afin de vous permettre d utiliser le test et débugue local. Comment tester votre application? Et bien rien de plus simple : appuyez sur la touche F5 et vous devriez obtenir un résultat similaire à celui-ci : Vous le constatez, votre navigateur démarre votre page Web sur une adresse locale hébergeant votre WebRole. Il ne vous reste plus qu à tester la gestion de vos points d arrêt dans votre Visual Studio pour le debugging vous permettant d exécuter au pas à pas votre application, analyser les variables locales et accéder à la pile. Cliquer sur la marge de gauche de la fenêtre Visual Studio pour poser un point d arrêt, puis appuyer de nouveau sur F5. Le programme s arrête au point d arrêt. A partir de là on peut inspecter l ensemble des variables du programme. Daniel Tschirhart - Architectures réparties et Cloud Computing - Construisez votre premier service Azure 7/18
Comme vous le voyez, développer un WebRole Azure ne change pas les habitudes d un développeur ASP.NET. Une question reste d actualité : qu en est-il de l hébergement local de nos applications Azure? L hébergement local est fourni par la «Development Fabric» qui simule l environnement Azure sur votre poste local, celui-ci est accessible au travers des icônes disponibles au sein de votre barre des tâches (clic droit) voir ci-contre: L interface graphique de la «Development Fabric» vous permettra de suivre les rôles créés pour votre service Azure. Remarque : Cette «Development Fabric» se comporte comme la plateforme Azure. A ce titre, il est possible de créer plusieurs instances d un rôle (en changeant le paramétrage fichier de configuration CSCFG), de les héberger dans cette Fabric et de les superviser depuis la console affichée ci-dessus. Daniel Tschirhart - Architectures réparties et Cloud Computing - Construisez votre premier service Azure 8/18
Exercice 3 : Déployer votre solution sur le Cloud Azure Pour la suite nous utiliserons le projet «MyFirstWebRole» à télécharger depuis le site de cours. Décompresser l archive dans le répertoire des projets. Notre WebRole étant créé et testé, il nous reste plus qu à le déployer sur les serveurs de Windows Azure. Pour cela nous allons utiliser la fonction de publication sur le projet Azure «MyFirstWebRole» : Architectures réparties et Cloud Computing Créer le package : Suite à cela Visual Studio ouvrira une fenêtre : L explorateur Windows dans le dossier de publication de votre projet où vous retrouverez les deux fichiers de votre service Azure à savoir : le package CSPKG et le fichier de configuration CSCFG Lancer Internet Explorer avec l URL : http://windows.azure.com, identifier vous avec votre compte Windows Live utilisé pour vous abonner aux services Windows Azure, à la suite de quoi IE ouvre la fenêtre suivante : Ces premières étapes effectuées, vous accéderez maintenant à l interface de présentation suivante vous permettant de créer et provisionner votre premier projet Azure : Windows Azure vous proposera d effectuer le choix de création de service entre plusieurs services par exemple un service de type «Storage Account» (stockage d informations à ne pas confondre avec SQL Services) ou «Hosted Services» (hébergement de votre solution Azure). Choisir Nouveau service hébergé. Après quelques secondes, l abonnement utilisé est affiché. Daniel Tschirhart - Architectures réparties et Cloud Computing - Construisez votre premier service Azure 9/18
Commencer par créer notre projet sur l interface d administration d Azure en créant un nouveau projet de type «Hosted Service» (service hébergé) : Donner le nom et la description de notre service : La seconde étape consiste à créer le nom de domaine de votre application. Pour l instant, nous pouvons seulement réserver un sous domaine de cloudapp.net. Dans le cadre de notre première application, je vous invite à choisir le sous-domaine qui vous conviendra le mieux, un sous domaine est unique et dans le cadre de TP choisirons : «tp3-<votre nom de famille>.cloudapp.net». Celui-ci deviendra donc indisponible. Pour finir nous allons définir un groupe d affinité que nous appellerons «Groupe TP Cloud». Le groupe d affinité a pour but d héberger vos «Hosted Service» et «Storage Account» dans les mêmes régions géographique (pour rappel nous nous situons ici à l échelle mondiale des datacenters!) afin de gagner en performance. Notre projet est maintenant créé! Daniel Tschirhart - Architectures réparties et Cloud Computing - Construisez votre premier service Azure 10/18
Nous allons, dans notre TP, déployer notre projet dans l environnement de «Staging» (environnement intermédiaire) pour voir de quoi il en retourne, puis, si notre application est bien fonctionnelle, la basculer en production. Dans l interface nous allons pouvoir sélectionner notre package Azure «.cspkg» et notre fichier de configuration «.cscfg» dans la fenêtre ouverte par Visual Studio lors du «Publish» (répertoire C:\Users\user\...\MyFirstWebRole\MyFirstWebRole\bin\Debug\Publish) ou (répertoire C:\Users\user\...\MyFirstWebRole\MyFirstWebRole\bin\Release\Publish) Puis cliquer sur OK (au bas de la fenêtre). Il faudra patienter quelques minutes (de 5 à 10 minutes), le temps que Windows Azure nous créé un serveur virtuel de type Windows Server 2008 SR2, déploie notre service et lance ce dernier. En sélectionnant que éléments, Azure vous fournit tous les caractéristiques de l élément sélectionné. Pour tester notre service, nous pouvons nous connecter en cliquant sur lien de l adresse temporaire fournie : Daniel Tschirhart - Architectures réparties et Cloud Computing - Construisez votre premier service Azure 11/18
Comme vous pouvez le constater, notre service (webrole ASP.NET) fonctionne correctement, indiquant le nom du serveur sur lequel il s exécute. Attention : ne laisser pas s exécuter votre instance de service après la fin du TP, votre compte serait débité au bout de 25 heures! Suspendre le service, puis détruire machine virtuelle : Sélectionner le service et clic sur les icones Arrêter, puis après l arrêt choisir Supprimer (tester, puis par la suite ne le faire qu à la fin du TP). A la fin du TP tout doit être supprimé. Exercice 4 : Mise en production d un service Azure Satisfait de notre service, nous allons le promouvoir pour l environnement de production : Après le lancement de l application on obtient : Exercice 5 : Configurez votre application Windows Azure Comme vous avez pu le constater lors du déploiement sur Windows Azure, nous avons envoyé le fichier de configuration de notre service (ServiceConfiguration.cscfg) indépendamment de notre package. Ce fichier contiendra les différentes valeurs de configuration de notre service et restera éditable depuis l interface d administration de Windows Azure nous permettant de ne pas devoir refaire la procédure de déploiement. Pour cela il suffit de cliquer sur le bouton «Configurer» après avoir sélectionné votre service : Daniel Tschirhart - Architectures réparties et Cloud Computing - Construisez votre premier service Azure 12/18
Vous accèderez sur la page de configuration de votre service à l interface suivante: Architectures réparties et Cloud Computing Il vous sera possible de modifier le fichier de configuration de votre service directement en ligne ou d envoyer une nouvelle version de votre fichier.cscfg sans pour autant redéployer un nouveau package. ServiceConfiguration.cscfg ou Web.config? Le fichier Web.config créé par défaut pour toute application ASP.NET permet d externaliser la configuration dans un fichier XML tout comme le propose le fichier ServiceConfiguration.cscfg sur un service Azure. Mais alors dans quel fichier mettre mes paramètres de configuration? Le problème du fichier Web.config est que celui-ci, dans le cadre dans un service Azure, est encapsulé dans le package Azure (cspkg) et donc devient non éditable une fois le service Azure déployé. Il faut donc être vigilent lors du développement de notre application et de savoir quels sont les paramètres que l on veut pouvoir modifier une fois notre service déployé. Le fichier de configuration d un service Azure met à disposition un modèle type clé/valeur, l équivalent du AppSettings du fichier Web.config. Les clés des paramètres de configuration doivent être d abord déclarées dans le fichier de définition de votre service Azure (ServiceDefinition.csdef). Ensuite dans le fichier ServiceConfiguration.cscfg nous pourrons affecter les valeurs pour les paramètres de configuration. Créons un paramètre de configuration dans notre service MyFirstWebRole. Nous nommerons ce paramètre «Auteur» et nous l affecterons à la valeur «<mon_nom>». Ce nom sera affiché la page Web. Pour cela commençons par déclarer notre paramètre dans le fichier de description de notre service (ServiceDefinition.csdef). Plutôt que d effectuer la modification directement dans le fichier à l aide d un éditeur du type notepad, Visual Studio fourni un éditeur spécialisé vous évitant que commettre des erreurs de syntaxe. Cliquer sur Daniel Tschirhart - Architectures réparties et Cloud Computing - Construisez votre premier service Azure 13/18
Dans la partie de droite s ouvre l éditeur : L onglet Configuration permet de paramétrer le fichier de configuration avec le nombre d instances de machines virtuelles qui seront déployées par Windows Azure et la taille de la machine virtuelle. L onglet Setting permet d ajouter des paramétrer l application. C est cet onglet que nous allons utiliser. L onglet Endpoints permet de définir le port http à utiliser. L onglet Local Storage permet de configurer l espace disque à utiliser sur le serveur virtuel (non utilisé ici). L onglet Certificates permet d associer un certificat de sécurité à notre application (non utilisé ici). Architectures réparties et Cloud Computing Ouvrir l onglet Setting 1. Ajouter un paramètre (Add Setting) 2. Définir un paramètre de type Auteur 3. Définir le nom de l auteur ici «myself» Le fichier ServiceDefinition.csdef modifié est donné cidessous <?xml version="1.0"?> <ServiceConfiguration servicename="myfirstwebrole" xmlns="http://schemas.microsoft.com/servicehosting/2008/10/serviceconfiguration"> <Role name="mywebrole"> <Instances count="1" /> <ConfigurationSettings> <Setting name="diagnosticsconnectionstring" value="usedevelopmentstorage=true" /> <Setting name="auteur" value="daniel" /> </ConfigurationSettings> <Certificates> </Certificates> </Role> </ServiceConfiguration> De cette façon, une fois mon service déployé sur le Cloud Azure, nous aurons toujours la possibilité de modifier la valeur pour le paramètre «Auteur» sans devoir recompiler non application et redéployer notre service. Daniel Tschirhart - Architectures réparties et Cloud Computing - Construisez votre premier service Azure 14/18
Avant de récupérer le paramètre «Auteur» dans le code C# associé à la page, nous allons modifier la page web en ajoutant un label lblauteur. Cette modification est simple pour un développeur connaissant la syntaxe d ASP.net ce qui n est pas notre cas. Nous utiliserons donc la boite à outils des contrôles de Visual Studio. 1. Faites apparaitre cette boite à outils (menu Affichage/Boite à outils) et épingler ce contrôle. Architectures réparties et Cloud Computing 2. Dans l explorateur de solutions cliquer sur default.aspx pour ouvrir la page web. Au bas de la fenêtre default.aspx des onglets permettent de spécifier le mode d affichage de cette page. Passer en mode Design. Dans la boite à outil, sélectionner un contrôle Label et glisser le dans la fenêtre Design. Ajouter un texte statique Auteur : devant le label. 3. En sélectionnant le label on fait apparaitre une fenêtre de propriétés sur le bord droit de Visual Studio. 4. Effacer la valeur Label attribuée à la propriété Text. 5. Attribuer la valeur lblauteur à l ID du contrôle. 6. Passer en mode Source (afficher le balisage) pour voir le résultat de l ajout du label sur la page web. Vous devriez obtenir le code ci-dessous. Daniel Tschirhart - Architectures réparties et Cloud Computing - Construisez votre premier service Azure 15/18
Une fois notre paramètre Auteur déclaré pour notre service, et le label associé défini dans la page Web, il nous faut les récupérer depuis le code de notre WebRole. 1. Ouvrir le fichier Default.aspx.cs 2. Dans la procédure Page_Load à la suite de la ligne affichant le nom du serveur ajouter (observer le travail de l Intellisence de Visual Studio) : this.lblauteur.text = Remarque : L assembly Microsoft.WindowsAzure.ServiceRu ntime (ajouté automatiquement comme référence à notre application ASP.NET) met à disposition la classe statique «RoleEnvironment» Vous retrouverez dans cette classe la méthode «GetConfigurationSettingValue» permettant la récupération de la valeur pour un paramètre donné. Pour affecter la valeur de notre paramètre Auteur dans un label, le code sera le suivant : Lors de l exécution de notre application nous retrouverons bien notre valeur pour le paramètre Auteur affectée au label : Afin de tester ces modifications, répéter l exercice 2 pour un déploiement en local et l exercice 3 pour un déploiement sur la plateforme Azure. Après déploiement sur le serveur de production on obtient(ne pas oublier de régénérer le package de déploiement) : Daniel Tschirhart - Architectures réparties et Cloud Computing - Construisez votre premier service Azure 16/18
Exercice 6 : Plus de puissance de calcul = plus de serveur! Un des grands avantages du Cloud est la puissance de calcul dû aux nombres de serveurs dans les DataCenter de Windows Azure qui nous permet une haute disponibilité et montée en charge. Imaginez que votre service connaisse une forte montée en charge saturant le serveur sur lequel il s exécute. Avec une infrastructure On-Premise, il est à votre charge l achat de nouveaux serveurs, leur installation et la mise en place du load-balancing ne sachant pas si cet investissement sera rentable dans le cas où il ne s agit que de pics de montée en charge éphémère (exemple : un site de commerce pendant les fêtes de fin d année). Grace à Windows Azure pas besoin de se soucier de ces problèmes. Nous allons simplement incrémenter le nombre de serveurs sur lequel notre service doit tourner et laisser la plateforme Windows Azure déployer le nombre de serveurs nécessaires et assurer le load-balancing entre ces serveurs. Pour cela nous allons éditer le fichier de configuration de notre service depuis l interface d administration de Windows Azure pour incrémenter le paramètre «Instances Count». Dans notre cas nous allons demander deux serveurs (limite pour les comptes gratuits de développeur). Modifier le nombre d instances : Après enregistrement du fichier, nous pouvons constater qu un deuxième serveur est déployé : Daniel Tschirhart - Architectures réparties et Cloud Computing - Construisez votre premier service Azure 17/18
On constate en navigant sur notre service, que ce n est pas toujours le même serveur qui répond. Tantôt le serveur 1C9 nous répond, tantôt c est le 776 qui nous répond. Le load-balancing est complément transparent pour le développeur comme pour l utilisateur. Ainsi mon service peut monter en charge, de notre côté nous n aurons qu à ajuster le nombre de serveurs nécessaires à la charge actuelle en éditant un simple fichier XML dans l interface d administration de Windows Azure. (Note : le préfixe «RD» du nom du serveur indique la localisation géographique du serveur. RD pour Redmond. Nos deux serveurs se situent donc dans le Datacenter de Redmond à Seattle. Conclusions Nous touchons à la fin de ce TP et nous avons donc construit notre premier service «in the cloud» hébergé sur l Azure Service Platform. Ce premier exemple est simple mais nous a permis de comprendre toute la mécanique de développement et de déploiement autour de la plateforme Azure. Références : Ce document est une version adaptée du didacticiel : Coach Windows Azure. Daniel Tschirhart - Architectures réparties et Cloud Computing - Construisez votre premier service Azure 18/18