Bienvenue à Blogs CodeS-SourceS Identification | Inscription | Aide

Windows Azure Services : Creez votre premiere application On the Cloud - Part3

Précédemment dans le Redoblog //Windows Azure Services :

Aborderons maintenant la troisième partie relative à la création d’une première application dite “on the cloud” made in Microsoft Windows Azure.  Nous aborderons au travers de cette troisième volet les points suviants :

  • 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
  • Effectuer votre mise en production  (Suite au Part 4)
  • Effectuer une mise à jours (Suite au Part 4)

1. Créez votre application on the cloud !

Pour ce faire, démarrons par la création d’une solution de type Web Cloud Service que je nommerai DemoCloudServices :

image
Rappel : je vous retourne vers le point 3 du part 1 en ce qui concerne les pré-requis à l’exploitation des projets de type Azure au sein  de Visual Studio 2008 : ICI

Vous observerez dans la capture ci-dessus la présence des trois types de projets “Cloud” : Worker role, Web Role ainsi que le mix des deux premiers. 

Cette première étape effectuée, nous obtenons au sein de VS2008 le résultat suivant :

image image

Votre instinct d’observateur vous fera très vite remarquer que cette solution est nativement constituée de deux projet :

  • 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 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 projet est clairement de vous faciliter le travail en éliminant de votre champ d’action les contraintes de paramétrages de Windows Azure.

Mais nous ne serions pas digne de cette flamme qui nous caractérise si nous n’allions pas un peu plus dans les détails de ce projet…

2. Décortiquez la solution DemoCloudServices !

Comme vous avez eux l’occasion de le constater, notre solution se constitue de deux projets, le premier relatif au paramétrage de Windows Azure (plateforme de hosting) et le second notre projet Web On the Cloud !

Focalisons-nous 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 :

image

Le répertoire “Roles” servira ainsi des 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 de plusieurs projets :

image

 

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 peu 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 seul solution.  Vous pourriez aisément ajouter un nouveau projet de configuration (de type Blank Cloud Cervice) 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 :

image image

  • Capture Gauche :  Celle-ci 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).
      
  • Capture Droite : Celle-ci 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
    image
  • *.cscfg : fichier de configuration
    image
    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).

Je m’arrêterai à ce stade d’explications du projet de paramétrages, nous pourrons y revenir plus en profondeur dans les commentaires de ce post ou encore dans un nouveau post à terme.

3. 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…

image

En y regardant d’un peu plus près, nous détecterons une customisation propre au développement made in Azure comme la présence d’une Assembly du nom de : Microsoft.ServiceHosting.ServiceRuntime (Cliquez pour accéder à la référence MSDN)

image

Ajoutez ainsi rapidement le test standard du Hello World (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 :

image

  • Development Storage

    L’environnement de développement Windows Azure SDK inclus un stockage de développement. Cet outils simule ainsi les Blob, Queue et services de stockage de tables disponibles dans le Cloud (Azure SQL Services). 
    image
    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 : http://msdn.microsoft.com/en-us/library/dd179339.aspx
     
  • 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 ainsi de débugger et optimiser le comportement de vos services avant la mise en production de ceux-ci.

    imageimage
    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… cfr rem plus haut).

    Ressource : http://msdn.microsoft.com/en-us/library/dd179455.aspx 

Pour le reste, le résultat est relativement traditionnel, puisque nous retrouvons exactement notre application tel que nous en avions l’habitude avec notre listener au sein de VS2005/2008 :

image 

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 du Part2 de cette série de posts (en ce qui concerne la compréhension du déploiement côté Windows Azure) et nous devrons également préparer notre solution au déploiement !

4. Préparez le déploiement de votre solution

Afin 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 qui devront être uploadés sur le portail web “Azure Services Developer / Tech Preview” : https://lx.azure.microsoft.com/Cloud/Provisioning/Default.aspx  (Lors de la création des packages de publication, VS2008 se chargera de vous ouvrir cette url dans votre navigateur).

image

Note : Associez votre ApplicationID récupéré depuis l’interface de gestion de votre projet en ligne (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. 

Le cycle de déploiement d’une application Azure est ainsi le suivant :

  1. Exécution locale au travers de la Development Fabric (F5) + Publish pour génération des packages
  2. Déploiement online au sein de la Development Fabric Windows Azure
  3. Déploiement online au sein de le Windows Azure Hosted Service

image

Cliquez ainsi sur le bouton “Deploy…” depuis votre interface portal et sélectionnez les deux package 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 rapidement vos packages de déploiement.

image image

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 :

image  image

Le résultat final prendra ainsi 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.

image  image

Cette nouvelle étape étant terminée, il vous faudra maintenant démarrer votre préprod (cliquer sur RUN, cfr captures gauche ci-dessus) afin de lancer l’instances de serveur en cours. 

Sans avoir préalablement cliqué sur RUN vous recevrez le message suivant en cliquant sur le lien de preprod (Web Site URL) :

image

La première instanciation terminée, vous pourrez constater la mise à disposition de votre projet et le résultat suivant :

image 

http://d74e7349-6956-40d1-a30a-5b7e52523087.cloudapp.net/Default.aspx 

Nous voici ainsi au terme de ce troisième post, nous aborderons dans une quatrième partie les notions suivantes :

  • Effectuer votre mise en production dans l’environnement Portal Azure
  • Effectuer une mise à jours de votre projet Azure
  • Gestion de la Scalability selon Azure de votre application (Multiple Instances Serveur)

Redo
Member of WygTeam
www.wygwam.com

Publié dimanche 11 janvier 2009 22:22 par redo
Classé sous : , , ,
Ce post vous a plu ? Ajoutez le dans vos favoris pour ne pas perdre de temps à le retrouver le jour où vous en aurez besoin :

Commentaires

Pas de commentaires
Les commentaires anonymes sont désactivés

Les 10 derniers blogs postés

- Etes-vous yOS compatible ? (2/3) : la nouvelle plateforme Yammer–Office 365–SharePoint par Le blog de Patrick [MVP SharePoint] le 04-22-2014, 09:27

- [ #Yammer ] [ #Office365 ] Quelques précisions sur l’activation de Yammer Entreprise par Le blog de Patrick [MVP SharePoint] le 04-22-2014, 09:03

- Après Montréal, ce sera Barcelone, rendez-vous à la European SharePoint Conference 2014 ! par Le blog de Patrick [MVP SharePoint] le 04-19-2014, 09:21

- Emportez votre sélection de la MSDN dans la poche ? par Blog de Jérémy Jeanson le 04-17-2014, 22:24

- [ #Office365 ] Pb de connexion du flux Yammer ajouté à un site SharePoint par Le blog de Patrick [MVP SharePoint] le 04-17-2014, 17:03

- NFluent & Data Annotations : coder ses propres assertions par Fathi Bellahcene le 04-17-2014, 16:54

- Installer un site ASP.net 32bits sur un serveur exécutant SharePoint 2013 par Blog de Jérémy Jeanson le 04-17-2014, 06:34

- [ SharePoint Summit Montréal 2014 ] Tests de montée en charge SharePoint par Le blog de Patrick [MVP SharePoint] le 04-16-2014, 20:44

- [ SharePoint Summit Montréal 2014 ] Bâtir un site web public avec Office 365 par Le blog de Patrick [MVP SharePoint] le 04-16-2014, 18:30

- Kinect + Speech Recognition + Eedomus = Dommy par Aurélien GALTIER le 04-16-2014, 17:17