Creez votre 1ere application Windows Azure etape par etape
2009WygwamPar Gregory Renard-34925527050CTO – R&I Manager WygwamMicrosoft Regional DirectorMicrosoft -6578441269489MVP1506122-674164[Creez votre 1ere application Windows Azure etape par etape]Avec Azure et Mesh, Microsoft entre dans une nouvelle ère de son histoire. Cette ère renferme un potentiel incroyable. Gr?ce à ce document, découvrez ces nouveaux concepts et créez vos premières applications qui vous permettront de tirer parti de cette nouvelle plateforme MicrosoftAvertissement & Remerciements?? Cette version du document est basée sur les annonces et versions produits de la Professional Developer Conference 2008.?Les technologies et produits sont, pour la plupart, à ce jour en version CTP (Community Technology Preview). L’auteur (Grégory Renard) et la société Wygwam ne pourront être tenus pour responsables si le contenu diverge, à terme, des produits dans leur version finale.??Note de l’Auteur?:??Je dédie ce travail à mon épouse et mes enfants pour leur patience et leur présence?! ?Wygwam-643239-19769686Sommaire TOC \o "1-3" \h \z \u Windows Azure?: Créez votre première application PAGEREF _Toc229458834 \h 41ère Partie : Choix, Pré-requis et r?les?! PAGEREF _Toc229458835 \h 4Application Live Mesh Versus Application Azure / On the Cloud ! PAGEREF _Toc229458836 \h 4Pourquoi une Plateforme on the Cloud Microsoft ? PAGEREF _Toc229458837 \h 6Préparez-vous à développer vos applications Windows Azure PAGEREF _Toc229458838 \h 82ème Partie : Provisioning, Consuming, PAGEREF _Toc229458839 \h 12Choisissez votre type d'application : Worker Role ou Web Role PAGEREF _Toc229458840 \h 12Créez votre environnement de hosting : notion de provisioning ! PAGEREF _Toc229458841 \h 13Du Licensing au Consuming?: De l’achat de licences à la consommation de Services. PAGEREF _Toc229458842 \h 13Azure Services Developer Portal?: créez votre premier projet?! PAGEREF _Toc229458843 \h 14Déployer votre application On the Cloud (en preprod) … Introduction ! PAGEREF _Toc229458844 \h 183ème Partie : Templates VS2008 Cloud, Compilation et déploiement PAGEREF _Toc229458845 \h 19Créez votre application on the cloud ! PAGEREF _Toc229458846 \h 19Décortiquez la solution DemoCloudServices ! PAGEREF _Toc229458847 \h 20Création du Hello Azure Cloud Demo PAGEREF _Toc229458848 \h 22Préparez le déploiement de votre solution PAGEREF _Toc229458849 \h 25Découvrez le cycle de déploiement d’une application Azure PAGEREF _Toc229458850 \h 26Déployez votre application Azure PAGEREF _Toc229458851 \h 264ème Partie : Mise en production et multi-instances serveurs PAGEREF _Toc229458852 \h 28Mise en production et démarrage de votre application PAGEREF _Toc229458853 \h 29Arrêt de votre application PAGEREF _Toc229458854 \h 30Ajout d’instances serveurs PAGEREF _Toc229458855 \h 31Vérification de la double instance serveur PAGEREF _Toc229458856 \h 345ème Partie : Déploiement et mise en production d’une nouvelle version applicative PAGEREF _Toc229458857 \h 35Déployer une nouvelle version de votre application Azure PAGEREF _Toc229458858 \h 36Interversion des applications “Production” - “Staging” PAGEREF _Toc229458859 \h 38Conclusion quant à la création d’une application Azure PAGEREF _Toc229458860 \h 40Windows Azure?: Créez votre première application1ère Partie : Choix, Pré-requis et r?les?!Abordons maintenant la création d’une première application hébergée sur la plateforme Azure Services. Pour ce faire, nous passerons au travers de nombreuses étapes logiques qu’il vous faudra suivre dans le cadre de la création d’une telle application.Mais avant d’aborder les aspects d’ordre technique, tentons encore de comprendre la différence fondamentale entre une application de type Azure et une application de type Mesh.Application Live Mesh Versus Application Azure / On the Cloud !Au regard des explications au cours du chapitre précédent, la première étape sera de bien nous définir quel type d’application Cloud que nous souhaitons créer, pour ce faire, posons-nous une première question fondamentale : ??Quelle est la différence entre une application de type Live Mesh et une application de type Windows Azure ???840740174625La différence, bien que subtile est notoire et pour cause... à ce stade, Live Mesh est un élément constituant de la plateforme Windows Azure Services qui repose sur Windows Azure qui nous servira à son tour de support d'hébergement de l'application que nous allons créer ci-après. Détaillons un peu plus les deux approches?:Live Mesh Tech Preview =?Web OS?: Live Mesh Tech Preview, en dehors de son aspect graphe social, est ni plus ni moins qu'une plateforme symétrique de partage et synchronisation ubiquitaire de dossiers / documents ainsi que d'hébergement d'applications de type Mesh Apps. Une forme de Facebook vu selon l’expérience de la société Microsoft (orienté OS)? Windows Azure = OS on the Cloud : Entendez un OS sur Internet, en gros de la Virtualisation d'OS (HyperV) dans la plus pure définition contemporaine (ex: Windows Serveur 2008),? cette démarche prise par Microsoft a pour objectif de répondre à des besoin croissants de calculs/traitements, d’accès géolocalisés, stockage, montée en charge ou de gestion tout simplement des applications web... tout ceci en toute simplicité et cela semble bien être le cas !Voyez ci-après la structure de Windows Azure?:C’est ainsi vers ce second type d’application que nous nous dirigerons dans un premier temps pour ensuite, au terme de ces supports d’apprentissage, parcourir la création d’une application du premier type (Live Mesh).Fixons-nous notre objectif au terme de ce second chapitre?: ??Développons une application Web ( traditionnelle … un typique Hello Cloud) que nous déploierons sur la plateforme Windows Azure !? Ni plus, ni moins.? Mais avant d'en arriver à ce stade, posons-nous une nouvelle question ...Pourquoi une Plateforme on the Cloud Microsoft ?Fort de l'analyse du marché et de la concurrence, Microsoft a travaillé en mode furtif durant ces dernières années sur cet écosystème qui nous est mis à disposition depuis la PDC 2008 de Los Angeles.? Microsoft affiche ainsi clairement sa volonté au travers de Windows Azure de changer le paradigme économique du monde du logiciel ! ... ok, ok, mais la machine du S+S était déjà bien en cours avec les Stratégies respectives d'Amazon, de Google, de , d'Oracle ou encore d'IBM, alors qu'apporte en définitive de plus Microsoft avec Windows Azure Services ?En mon sens, Microsoft apporte l'écosystème le plus complet à ce jour dans la démarche stratégique du S+S (On-Premises Vs On the cloud)... et ce pour différentes raisons que je vous énumère rapidement : La symétrie entre le On-Premises et le On the Cloud tant sur :les fondations l'infrastructure le modèle applicatifla plateforme de développementL'historique de la plateforme .NET et son extension vers le Service: des classes unifiées aux services unifiés comme j’ai eu l’occasion de vous le présenter précédemment :Live ServicesSQL Services... CRM Services, SharePpoint Services, ...La simplification du développement d'applications dites On the Cloud au regard des applications dites On-Premises.La simplification et l’industrialisation du Software + Services...? Microsoft apporte ainsi avec Windows Azure des réponses aux éléments suivants :Réduction des co?ts de fonctionnement des applications serveurs.Simplification du déploiement et de la gestion des applications de type Cloud.Flexibilité des applications et de leurs infrastructures respectives au regard des co?ts impactés en fonction des besoins de montée en charge.Simplification de la gestion de la montée en charge des applications (Load Balancing)Optimisation des co?ts d'exploitation (ne payer que ce qui est consommé)Simplification de la mise en ?uvre de structures d’hébergement de pré-production clones de la production.Détachement complet de l'infrastructure…On peut dire que le challenge est d'envergure et multiple !? Voyons ce qu'il en est !Préparez-vous à développer vos applications Windows AzureAfin de démarrer votre première expérience sur la plateforme Azure Services au travers de la création de votre première application dite "On the Cloud", il vous faudra vous acquitter des pré-requis suivants : Visual Studio 2008 SP1 / .NET Framework 3.5 SP1 (n’hésitez pas à travailler depuis une version Express de VS2008) Azure Tools for Microsoft Visual Studio March 2009 CTP Au sein de cette dernière version des outils de développement Azure, les différents installeurs préalablement disponibles (Tools et SDK) se voient regroupés en un seul installeur (ce qui n’est pas pour nous déplaire !).? Soyez bien vigilants sur le fait d’avoir préalablement désinstallé la version précédente avant de lancer cette nouvelle installation !?? Mais que contient cette nouvelle version ???? Observez à cet effet la liste suivante reprise de la page officielle depuis la MSDN :Combined installer includes the Windows Azure SDK Addressed top customer bugs Native Debugging of Cloud Service Roles FastCGI Project Template Update Notifications of future releases Full Trust???????????????????????????????????????????????????????????????????????????????????? FastCGIVous y retrouverez également les éléments suivants :C# and VB Project Templates for building Cloud Services Tools to change the Service Role configuration Integrated local development via the Development Fabric and Development Storage services Debugging Cloud Service Roles running in the Development Fabric Building and packaging of Cloud Service Packages Browsing to the Azure Services Developer Portal SSL Certificate selection Quelques liens complémentaires sur le sujet : Les pré-requis étant installés, il vous faudra maintenant vous enregistrer sur la plateforme Azure de Microsoft Connect afin de vous faire activer un compte CTP : dernière étape effectuée, il ne vous reste plus qu'à découvrir les nouveaux Templates de projets disponibles au sein de Visual Studio 2008 :Vous retrouvez sous la nouvelle catégorie " Cloud Service" quatre nouveaux types de projets VS2008 : Web Cloud Service (A), Worker Cloud Service (B), Blank Cloud Service,Web and Worker Cloud Service.? Examinons les deux premiers au travers de leur r?le !Effectivement, le développement d'applications Windows Azure engendre une notion dite de "R?les" qui se distinguent en deux parties : Web Role et Worker Role !Web Role (A) : consiste en une application Web accessible par protocole HTTP et/ou HTTPS.? Un Web Role permettra ainsi le support d'applications de type ou Windows Communication Foundation. Source : ? ? Worker Role (B) : consiste en une application de type processus.? Un Worker role permettra de gérer la communication avec les services de stockage (SQL Services par ex) ou tout autre service Internet.? Constrairement au Web Role, celui-ci ne doit pas impérativement exposer un point d'accès externe (type HTTP/HTTPS).? Un Worker Role peut également intégrer la notion de gestion de Queue Storage Service.Ainsi un Service Azure que vous développerez pourra être un simple Web role, un simple Worker role ou une combinaison des deux, nous y reviendrons ultérieurement.2ème Partie : Provisioning, Consuming,Attaquons maintenant les différentes étapes de développement d'une application dite "On the Cloud". Pour ce faire, nous devrons impérativement passer par une série d’étapes inévitables dont voici un premier extrait?:Choisir et Créer votre application "On the cloud" sur base du type de Cloud Service attendu : Worker Cloud Service : Worker Role Web Cloud Service : Web Role Créer votre environnement de hosting (notion de provisioning) Déployer votre application On the Cloud (en preprod) Effectuer votre mise en production Effectuer une mise à jour Abordons dans un premier temps les trois premiers points de cette série d’étapes?! Choisissez votre type d'application : Worker Role ou Web RoleCette première notion bien qu’expliquée préalablement, peut nécessiter un certain niveau de rappel.? Effectivement, rappelez-vous la différence notoire entre un Worker Role et un Web Role …Le développement d'applications Windows Azure engendre une notion dite de "R?les" qui se distinguent en deux parties : Web Role et Worker Role !Source : choix dépendra inévitablement de votre objectif applicatif ainsi que de l’architecture que vous souhaiterez mettre en ?uvre, vous pourrez bien entendu combiner ces types de projets afin de vous mettre en place toute architecture applicative digne de ce nom.? Avant d’aller plus loin dans ces notions, voyons comment provisionner votre hébergement sous Windows Azure?Créez votre environnement de hosting : notion de provisioning !La plateforme Azure étant en version beta, le déploiement d’applications cloud dans cet environnement nécessitera l’activation de votre compte LiveID (entendez votre compte messenger par exemple).Afin de réaliser ceci, il vous faudra vous connecter à l’adresse suivante et obtenir un Token vous permettant d’héberger votre premier projet Azure?: token, une fois réceptionné, vous permettra de ??provisionner?? votre compte?! Le terme “provisionner” est le fait de lui permettre de gérer un ou plusieurs hébergements d’applications sur le service Azure (un peu comme vous provisionnez votre abonnement téléphonique ou internet).? Cette notion de provisioning engendre en cascade l’apparition d’une nouvelle ère dite de consuming.Du Licensing au Consuming?: De l’achat de licences à la consommation de Services.Cette démarche n’est pas dénuée de sens, effectivement, à ce jour lorsque vous souhaitez obtenir une application, il vous faut en acheter une licence.? Désormais dans la stratégie Azure (tout comme dans le monde Apple avec l’iPhone par exemple), vous quitterez progressivement ce mode dit de Licensing pour entrer dans un mode dit de Consuming (facturé à la demande) ou si vous préférez consommation de vos applications selon différents critères comme :Le temps de consommation Les traitements serveur (calculs processeur) générés par votre consommation La bande passante utilisée par votre consommation Le stockage de données généré par votre consommation … Ces différentes critères risquent de devenir très certainement des facteurs de facturation utilisés à terme par la société Microsoft dans le cadre de la facturation des services Azure.? Mais nous ne sommes que dans le domaine de la supposition à ce stade?! Il nous faudra attendre la seconde partie de 2009 afin d’en conna?tre plus à ce sujet.Nous entrons ainsi dans une nouvelle ère de l’internet, de l’information et de l’informatique en général où nous consommerons Internet et ces applications dites ??on the cloud?? comme nous consommons aujourd’hui l’électricité. Le MIT nous l’avait laissé entendre il y a quelques années déjà.Imaginez également que nos enfants ne conna?tront certainement pas un autre type de consommation du Web et des applications que le mode dit du Consuming?!Azure Services Developer Portal?: créez votre premier projet?!Ces prérogatives terminées, il ne vous restera plus qu’à passer les étapes nécessaire au provisioning de votre environnement d’hébergement, observez le premier écran suite à votre authentification sur le portail Azure Services Developer :Comme vous le constatez, cette interface vous propose une gestion simplifiée de vos projets, l’ajout d’un nouveau projet de type Cloud se fera très simplement en cliquant sur “New Project”.? Ce premier écran passé, vous arriverez sur un second écran vous proposant de sélectionner la typologie de projet à provisionner :Windows Azure : Storage Account Hosted Services Azure Services Platform Live Services Live Framework Live Services Existing APIs En ce qui nous concerne, choisissez “Hosted Services”, s’en suivra une série d’écrans en cascade ne vous prenant que quelques instants et permettant de fournir les informations suivantes :Propriétés du projet (Project Properties) Nom de votre service hébergé (sous-domaine de à ce stade). Notez que ce choix a toute son importance car le nom ne pourra être modifié ultérieurement, à moins de ne créer un nouveau projet mais donc de posséder par la même occasion un nouveau provisioning. Effectivement, tout Key Token ne permet de supporter qu’un et un seul provisioning. Voir ci-dessous : ?Cette dernière étape effectuée, vous arriverez sur l’écran de gestion du hosting et déploiement de votre projet On the Cloud. Observez la capture ci-dessous présentant l’interface en question :Comme vous le constaterez rapidement, cette interface se divise en deux parties :Production : mise en production accessible depuis votre sous-domaine créé préalablement. Staging : mise en pré-production accessible depuis un sous-domaine généré à la volée par la plateforme Azure Services Developer Portal. Nous verrons par la suite que le déploiement de la pré-production vers la production ainsi que toute mise à jour se fait de manière très intuitive par simple clic sur l’interface Azure Portal.Déployer votre application On the Cloud (en preprod) … Introduction !Il ne vous restera ainsi qu’à déployer votre premier projet. Cette étape démarre lors de votre premier déploiement par un upload des deux packages suivants :Package Applicatif?: contenant votre application on the cloud Package Paramétrage?: contenant les paramètres de configuration de votre application dite on the cloud.? Vous y retrouverez entre autre la notion du nombre d’instances serveurs afin de gérer le Load Balancing de votre service Azure. Un dernier paramètre de déploiement sera simplement de fournir un label de déploiement qui reste libre à ce stade (en ce qui concerne notre exemple, j’ai pris pour politique de mentionner la version de Build du package applicatif, celui-ci n’a visiblement aucun impact le fonctionnement de la plateforme et ne vous sert que de repère).3ème Partie : Templates VS2008 Cloud, Compilation et déploiementAborderons maintenant la troisième partie relative de ce volet au travers des points suivants :Déployer votre application On the Cloud (en preprod) : suite… Création de votre application Comprendre une solution Cloud Service (selon Azure) Compiler une application : Découverte de la Development Fabric Découverte du Development Storage Préparation des packages de déploiement Déployez votre application Nous pourrons ainsi aborder au sein de la 4ème partie de ce document les notions de mise en production ainsi que mise à jour de vos applications.Créez votre application on the cloud !Après avoir démarré Visual Studio 2008 SP1 (avec l’installation de l’ensemble des pré-requis établis en début de ce document), démarrez par la création d’une solution de type Web Cloud Service que nous nommerons DemoCloudServices :Cette première étape effectuée, vous obtiendrez au sein de VS2008 le résultat suivant : Votre instinct d’observateur vous fera très vite remarquer que cette solution est nativement constituée des deux projets suivants :DemoCloudServices Ce premier projet contient ni plus ni moins que l’ensemble des paramètres liés à l’environnement d’hébergement (hosting) au sein de Windows Azure ! ? DemoCloudServices_WebRole Ce second projet étant pour celui-ci votre projet Web (Web Role) que vous allez héberger sur la plateforme Microsoft Azure ! Vous pourriez dans un premier temps (dans un mode de découverte de la plateforme Azure), ne pas vous préoccuper du projet DemoCloudServices et ne vous focaliser uniquement sur votre projet.? Effectivement, l’objectif de ce type de template Visual Studio est clairement de vous faciliter le travail en éliminant de votre champ d’action les contraintes de paramétrage de Windows Azure.Mais nous ne serions pas dignes de cette flamme qui nous caractérise si nous n’allions pas un peu plus dans les détails de ce projet de paramétrage… Décortiquez la solution DemoCloudServices !Focalisons-nous ainsi sur le projet de paramétrage de la plateforme Azure : “DemoCloudServices”.Celui-ci se constitue à son tour de deux parties majeures comme présenté dans la capture ci-dessous :Le répertoire “Roles” servira ainsi de gestion visuelle dans le cadre de la fonctionnalité de référencement aux projets cloud (Roles) constituant votre solution que vous retrouvez dans les fichiers “*.csdef” et “*.cscfg”, observez la capture ci-dessous d’une autre solution “on the cloud” constituée quant à elle de plusieurs projets :L’exploitation de différents projets au sein de votre solution de déploiement Azure est réalisable sous réserve de ne référencer au maximum :qu’un et un seul projet de type Web Role qu’un et un seul projet de type Worker Role Cela peut sembler un peu limitatif dans un premier temps de ne pas pouvoir administrer plusieurs paramétrages de r?les mais nous ne sommes qu’au niveau d’une seule solution.? Vous pourriez aisément penser votre architecture sous un autre angle et ajouter un nouveau projet de configuration (de type Blank Cloud Service) afin de dérouler la gestion d’autres projets de type cloud au sein de votre même solution. La gestion : ajout, suppression, changement de solution au sein de votre projet de paramétrage se fera tout naturellement au travers du menu contextuel associé au répertoire “Roles”, observez : Gauche :?cette capture présente le menu contextuel associé directement au répertoire Role, l’ensemble de ses sous-menus son grisés et pour cause, le projet en cours de paramétrage contient déjà deux projets (un Worker Role et un Web Role). ?? Droite : cette capture présente le menu contextuel associé au référencement du Role Type et permet de constater que nous pouvons aisément remplacer le Role en cours par un nouveau projet de type Role ou un projet existant au sein de notre solution.? Vous avez également la loisibilité de supprimer tout projet de Type Role de votre projet de paramétrage. (rien de plus simple //Remove). Maintenant que partie visuelle de la gestion des Roles Types au sein d’une solution de type Cloud Service est bien comprise, passons aux deux fichiers disponibles? : *.cscfg et *.csdef*.csdef : fichier de définition *.cscfg : fichier de configuration Nous y retrouverons d’ailleurs une notion non négligeable, la gestion du nombre d’instances serveur par Role Type (voir en jaune ci-dessus). Création du Hello Azure Cloud Demo?Abordons ainsi légèrement le projet que nous souhaitons en définitive déployer sur la plateforme Windows Azure !? Dès l’ouverture de ce projet et de l’ensemble de ses éléments constituants, nous retrouvons rapidement un air de déjà vu… En y regardant d’un peu plus près, nous détecterons une customisation propre au développement Azure comme la présence d’une Assembly du nom de : Microsoft.ServiceHosting.ServiceRuntimeProcédez à l’ajout des trois contr?les standard (TextBox, Button et Label) permettant de construire rapidement le test standard du Hello World (Hello Azure Cloud dans notre cas?!) et n’attendons plus un seul instant pour effectuer notre première compilation : appuyez sur F5 !La compilation du projet engendre ainsi le lancement automatique de deux outils :Development Storage L’environnement de développement Windows Azure SDK inclut un stockage de développement. Cet outil simule ainsi les Blob, Queue et services de stockage de tables disponibles dans le Cloud.? Le Development Storage met à disposition une interface utilisateur (ci-dessus) permettant de visualiser le statut local des services de stockage permettant la gestion de ceux-ci (start, stop et reset). Ressource : ? Development Fabric ? La Development Fabric permet de simuler la Windows Azure Fabric sur votre machine locale vous permettant ainsi de démarrer et tester vos services localement avant tout déploiement.? La Development Fabric vous permet de débugger et optimiser le comportement de vos services avant la mise en production de ceux-ci. L’outils Development Fabric présenté ci-dessus vous permet d’observer et gérer vos services déployés localement.? La capture de gauche vous montre la DF (Dev Fabric) contenant une seule instance de serveur tandis que la seconde capture à droite vous montre une DF avec 3 instances de serveur (nous verrons prochainement comment gérer le nombre d’instances de serveurs…).Ressource : le reste, le résultat est relativement traditionnel, puisque nous retrouvons exactement notre application telle que nous en avions l’habitude avec notre listener au sein de VS2005 ou VS2008 :?Il ne nous restera plus qu’à démarrer le déploiement de notre première application dite “On the Cloud'”.? Pour se faire, rien de plus simple, nous nous accrocherons au contenu de la 2ème Partie de cette série (en ce qui concerne la compréhension du déploiement c?té Windows Azure) !Préparez le déploiement de votre solutionAfin de déployer votre solution, il vous faudra préalablement vérifier que vous n’êtes plus en mode débug local.? Cette précaution prise, vous pourrez ainsi cliquer droit sur votre projet de configuration Azure et sélectionner la commande “Publish” (publication).La sélection effectuée, Visual Studio 2008 se chargera de vous générer les deux packages nécessaires au déploiement (upload) sur le portail web “Azure Services Developer / Tech Preview” : ? Lors de la création des packages de publication, VS2008 se chargera de vous ouvrir cette url dans votre navigateur.Note : Associez votre ApplicationID récupéré depuis l’interface de gestion de votre projet en ligne (Azure Portal) avec vos propriétés (onglet Portal) de projet de configuration afin de permettre à VS2008 d’ouvrir directement le projet cible lors de toute exécution du mode Publish.?Découvrez le cycle de déploiement d’une application AzureLe cycle de déploiement d’une application Azure est ainsi le suivant :Exécution locale au travers de la Development Fabric (F5) + Publish pour génération des packages Déploiement online au sein de la Development Fabric Windows Azure Déploiement online au sein de le Windows Azure Hosted Service Déployez votre application AzureCliquez ainsi sur le bouton “Deploy…” depuis votre interface portal et sélectionnez les deux packages respectifs.? L’astuce étant de passer en mode adresse dans votre Windows explorer afin de copier/coller directement l’adresse physique de stockage dans l’explorateur de l’interface web et ainsi retrouver aisément vos packages de déploiement.N’oubliez pas de lui fournir un label de déploiement et il ne vous restera ainsi plus qu’à cliquer sur “Deploy”…? Ceci ayant pour effet de vous afficher chronologiquement les interfaces suivantes :Le résultat final prendra quelques instants qui sont nécessaires à la plateforme Azure afin de déployer votre projet sur base des informations de paramétrage fournies ainsi que de vous créer une URL de pré-production.Cette nouvelle étape terminée, il vous faudra maintenant démarrer votre pré-production. Pour ce faire, cliquez sur le bouton ??RUN?? (cfr captures gauche ci-dessus) afin de lancer l’instance de serveur en cours.? Sans avoir préalablement démarré votre instance serveur, vous recevrez le message suivant en cliquant sur le lien de pré-production (URL du site web de pré-production) : La première instanciation terminée, vous pourrez constater la mise à disposition de votre projet et le résultat suivant :4ème Partie : Mise en production et multi-instances serveursAbordons la quatrième partie de cette découverte de création d’une application Azure et abordons les points suivants :Effectuer votre mise en production Mise en production et démarrage de votre application Arrêt de votre application Ajout d’instances serveurs Vérification de la double instance serveur Au terme du troisième volet de ce chapitre, nous avons eu l’occasion de mettre notre première application Azure Web Cloud Service en pré-production (mode Staging).? Passons maintenant à la suite des opérations en effectuant une mise en production de celle-ci au terme de laquelle nous examinerons comment nous pourrons augmenter le nombre d’instances serveurs manuellement.Mise en production et démarrage de votre applicationLors de la mise en pré-production, vous aviez pu constater l’upload des deux packages générés automatiquement par Visual Studio 2008.? L’instance de serveur démarrée, nous retrouvions l’interface suivante : Afin de procéder à la mise en production, il vous suffira de cliquer délicatement sur le cercle central entre l’interface de Staging et de Production.? Cette action engendrera l’affichage d’une fenêtre de confirmation vous permettant d’annuler toute fausse manipulation : L’opération est ainsi terminée et vous venez d’effectuer la mise en production de votre première application Azure :Rien de plus simple, constatez le basculement de votre application ainsi que de l’ensemble de ses paramètres vers le mode production, un simple clic sur votre lien officiel (paramétré lors de la création du projet) et vous pourrez ainsi consommer votre application depuis son adresse définitive, dans notre cas de démo : êt de votre application L’arrêt de l’application est aussi simple que sa mise en production et pour cause, il vous suffira de cliquer sur le bouton “Suspend” afin de stopper l’instance de votre solution déployée.? Cette action aura pour effet de transformer le bouton “Suspend” en “Run”.? A cet instant vous pourrez également constater le changement de l’état “Started” à “Stopped”.? Cliquez à nouveau sur votre lien de mise en production et la page vous affichera une interruption de connexion (cfr capture droite) !Pour la redémarrer, cliquez à nouveau sur “Run” !Ajout d’instances serveursProfitons de cet arrêt afin d’observer l’un des objectif de cette stratégie “On the Cloud” au travers de la gestion de la montée en charge de votre application…? Effectivement, prenons un exemple simple : “Vous développez votre application de e-Commerce pour laquelle vous n’avez au stade initial que des moyens financiers limités (normal)… au terme de quelques semaines (jours pour les plus chanceux :p) votre boutique en ligne rencontre un réel succès et génère ainsi un trafic exponentiel … comme tout projet de e-Commerce”…En temps normal (en dehors de toute stratégie de type Cloud Computing), vous devriez optimiser votre application afin d’augmenter vos performances voir de passer votre hébergement frontal sur du Load Balancing !? (Multiserveurs frontaux pour équilibrage de charge)… Ceci engendrant forcément quelques aventures ou mésaventures auprès de votre hébergeur ainsi que la gestion d’un déploiement de votre application en mode Load Balancing… et forcément quelques frais inhérents comme l’acquisition, installation, mise en production d’un nouveau serveur frontal, co?ts de licences, … je vous passe les détails croustillants !Voyons comment la simplification de cette opération de montée en charge (Load Balancing) peut se dérouler sous Windows Azure !Note : La méthode actuellement mise à disposition au sein de Windows Azure est manuelle (modification de paramètres), le passage en Load Balancing devrait pouvoir se faire automatiquement dans la version finale de Windows Azure en fonction du trafic engendré par votre solution et ainsi de ses besoins en traitement/calculs (Computing).Encore une fois, les équipes en charge de Windows Azure ont rendu l’opération plus que naturelle, votre application étant à l’arrêt, cliquez sur le bouton “Configure…” faisant ainsi appara?tre l’écran suivant :La modification du nombre d’instances en court permettra de déterminer la mise en ?uvre d’un second serveur (ceci en passant le nombre de 1 à 2 comme présenté ci-dessous).Sauvez votre nouvelle configuration et observez le résultat après avoir redémarré votre application.Vous l’aurez constaté sur l’écran de gestion de la configuration de votre application, vous avez également la possibilité d’uploader un nouveau package de configuration, plus pratique dans le cadre de multi-projets au sein de votre solution.La première instance de serveur démarre de manière instantanée tandis que la seconde demande un certain temps d’initialisation (ce qui peut sembler normal à ce stade).Note : La version actuelle de Windows Azure mise à disposition en version démo ne vous permet que d’instancier deux serveurs au maximum. Certains comptes peuvent même n’en instancier que deux et n’en démarrer que un à fois (visiblement les provisioning demandés après la PDC de Los Angeles).Au terme de l’opération, l’interface de gestion de votre mise en production vous affichera une double instanciation comme présenté ci-dessous :Vérification de la double instance serveurVérifions maintenant que nous sommes réellement sur une double instance de serveurs.? Pour ce faire, ajoutons la ligne de code suivante à notre page web :Comme vous le constatez, celle-ci engendrera l’affiche du nom de machine attribué au serveur hébergeant l’application Azure que nous venons de déployer.Déployons rapidement cette nouvelle solution (je reviendrai plus en détails dans la 5ème Partie sur la mise à jour de votre application au sein de Windows Azure), nous n’oublierons pas de configurer à nouveau une double instance afin de constater le résultat suivant :Première instance serveur :?Seconde instance serveur : Les captures parlent d’elles-mêmes !? Note : Non content de nous apporter cette possibilité de scalability de nos applications, Windows Azure vous offre aussi la possibilité de gestion de votre pré-production (Staging) dans les mêmes conditions (multiserveurs) … non négligeable dans le cadre d’applications lourdes vous évitant ainsi l’acquisition d’une infrastructure clone.? … tout cela sous réserve du modèle économique que Microsoft nous exposera prochainement !5ème Partie : Déploiement et mise en production d’une nouvelle version applicativeAbordons enfin la cinquième partie de cette découverte de création d’une première application dite “on the cloud” made in Microsoft Windows Azure.? Nous aborderons au travers de ce cinquième volet les points suivants :Effectuer une mise à jour Déployer une nouvelle version Interversion des applications “Production” - “Staging” Conclusion Au terme de la quatrième partie, nous avions eu l’occasion de finaliser une mise en production de notre première application Azure ainsi que le fait de vérifier la gestion de la scalability en Load Balancing.? Abordons maintenant un dernier point de cette première série qu’est la mise à jour d’un projet de type Azure. Remettons-nous quelques instants dans le contexte, au terme de notre mise en production, nous avions obtenu l’interface online suivante : Celle-si nous permettait de remarquer le passage de l’interface de gestion d’application du mode Staging au mode “none” (sans projet hosté).? Quelles seront ainsi nos prochaines étapes ?? Réfléchissez –y quelques secondes avant de lire la suite de cet article … Pour les plus pressés, voici la liste en question :Compilation et publication au sein de Visual Studio 2008 Upload des nouvelles versions du package respectif de votre projet Azure et de son projet de configuration annexé dans l’interface de Staging Démarrage de l’instance serveur en mode Staging Vérification du résultat depuis votre URL de pré-production Interversion des projets “Production” et “Staging” + choix et démarrage des instances serveurs au besoin. Attaquons sans plus attendre …? Je ne reviendrai pas sur la première étape de compilation et publication au sein de Visual Studio 2008 et j’aborderai directement le déploiement (upload de nouveaux packages) de celle-ci :Déployer une nouvelle version de votre application AzureTout comme lors du déploiement de la première version, cliquez sur le bouton “Deploy…” (capture gauche)?:Cette opération effectuée, votre écran vous présentera la capture de droite.? Celle-ci affiche clairement une nouvelle version du package mise en production (à vous de définir la zone Properties de manière adéquate, dans l’exemple ci-dessus : “Version 2.0”).? J’ai volontairement appelé cette nouvelle version 2.0, bien qu’elle n’ait rien d’extraordinaire (définition du Title et texte incorporé à la page), elle aura tout au moins le mérite de contribuer à la compréhension de notre objectif.Après avoir cliqué sur “Deploy”, vous obtiendrez l’écran gauche suivant (écran qui apparaissait déjà lors de toute mise en ligne initiale et que j’avais involontairement omis dans mes explications) :L’écran ci-dessus à droite est celui qui s’affichera dans la foulée du précédent, vous constaterez l’état de travail (deploying) de votre application Azure.? Cette étape de déploiement du packaging terminé, vous visionnerez l’écran ci-dessous vous permettant alors le démarrage de votre application de pré-production pour validation :A cette étape, nous restons très proche des manipulations que vous devriez déjà bien ma?triser après lecture des quatre premières parties de cette série.Interversion des applications “Production” - “Staging” Le passage en production de cette nouvelle version se passera exactement dans la même lignée que votre première mise en production, vous pourrez ainsi en cliquant simplement sur le cercle central, intervertir votre application de production avec votre application de pré-production.? Observez dans la capture ci-dessous la modification de couleur (de bleu à Orange) du cercle central en orange? dans le cadre de basculement d’une application Staging vers l’état de Production : Cliquez ainsi sur le cercle central (orange) et une fenêtre de validation vous demandera si vous êtes certains de vouloir effectuer cette mise en production.? Après acceptation, vous observerez un petit temps de traitement de Windows Azure avant de constater l’écran suivant :Votre mise à jour est ainsi terminée et prête à être consommée, la Version 2.0 (label mentionné) est ainsi bien passé dans le Production Hosted service et la version 1.1 de notre application Azure est revenue dans le Staging Hosted Service.? Cette procédure permet ainsi de comprendre que toute mise en production engendrera automatiquement un backup temporaire de votre ancienne version applicative.? Le terme temporaire signifiant qu’il persistera le temps de mise en pré-production (Staging) d’une nouvelle version (opération pouvant être réalisée après avoir arrêté ‘Suspend’ votre application Staging).Vérifions rapidement que cette nouvelle version 2.0 est bien production :Nous retrouvons bien la version 2.0 intégrant la modification du Title et le texte au sein de la page. //cqfdConclusion quant à la création d’une application AzureNous voici au terme de ces 5 parties relatives à la création d’une première application hébergée au sein de la plateforme Windows Azure.? Force est de constater la simplicité de création d’une application de type Azure (On the Cloud), en effet, Microsoft a réellement travaillé dans la continuité de la stratégie appliquée dans le cadre de la plateforme .NET et la prise en mains d’applications de type Windows Azure au travers de Visual Studio 2008 se fait concrètement en quelques instants.Bien que prometteur de par son unification aux méthodologies de développement .NET (//principalement Web), Windows Azure ne trouvera à mon avis son essor qu’au travers d’une politique de prix agressive de la part de Microsoft au regard des offres existantes sur le marché (Google, SalesForce, Amazon, IBM, …), nous devrions avoir plus d’informations lors de la PDC 2009.? Windows Azure devra également subir à mon avis quelques évolutions quant à sa capacité d’industrialisation de la montée en charge (instances serveurs), mais les informations fournies par les équipes laissent comprendre (par interprétation des informations divulguées au compte goutte) que cette fonctionnalité est clairement en cours de développement... à suivre donc !Ainsi, Windows Azure et les Azure Services (.NET Services, SQL Services, Live Services … dans un premier temps) semblent avoir un bel avenir prometteur devant eux et je ne pourrais que conseiller à chacun d’entre vous et plus particulièrement à tout éditeur de solution : Services et/ou Produits (ISV) de s’intéresser sans plus attendre à la plateforme de Services Azure. ................
................
In order to avoid copyright disputes, this page is only a partial summary.
To fulfill the demand for quickly locating and searching documents.
It is intelligent file search solution for home and business.
Related searches
- bond par value calculator
- how to calculate par value
- onenote desktop application windows 10
- azure sql vs azure sql database
- bond par value formula
- how to calculate par value of bond
- par value bond meaning
- bonds par value definition
- bond par value 1000
- azure app service windows container
- azure vm windows pricing
- azure windows containers