Premiers pas dans l’administration de Windows Azure

3ème partie : déploiement et pré-production

 

Fiche pratique Azure

 

Dans cette troisième fiche consacrée à l’administration de son portail Windows Azure, abordons maintenant la partie déploiement et de pré-production (si pratique). Le déploiement d’une application cloud sur Windows Azure se résume à : je crée les packages, je les charge sur mon portail et j’attends que Windows Azure les déploie.

Avant toute chose, vous devez disposer des packages de déploiement et de configuration : fichier de configuration .cscfg et fichier de déploiement (contenant l’application) .cspkg. Ils sont générés par votre outil de développement. Procédons par étape.

Créer un nouveau service hosté

 

1.    Créer un nouveau service hosté

Pour pouvoir déployer, vous devez disposer d’une instance (machine virtuelle Azure), donc d’un service hosté (hosted service). Nous allons en créer un nouveau. Il suffit de cliquer sur le bouton New Hosted Service. La procédure de création va alors démarrer.

Vous devez indiquer la souscription sur laquelle l’instance sera créée (et facturée si besoin), le nom du service, un URL d’accès (monnom.cloudapp.net), la localisation du datacenter, déploiement immédiat ou non, le nom du déploiement. Et l’ajout d’un certificat. La localisation du datacenter est importante, car si vous avez besoin d’une latence réseau faible, optez pour la zone Europe (si vos utilisateurs sont en Europe bien sûr). Vous pourrez mettre en place une politique « affinity group » pour vous assurer que vos différents services sont dans le même datacenter. Pour notre exemple, nous l’allons pas déployer immédiat.

testdeploy

Le nouveau service hosté est créé et disponible. Mais vide !

2.    Déployer une application sur le cloud en quelques clics

La force de Windows Azure est de simplifier le travail des développeurs et administrateurs. Sélectionnez le service hosté sur lequel se fera le déploiement puis un clic sur « New Production Deployment.

Create a new deployment

 

On donne alors un nom de déploiement (ex. : toto déploie). Deux possibilités pour les packages : soit ils sont stockés dans Azure Storage, soit sur votre disque dur. Puis on clique sur OK. C’est tout ! Un avertissement vous informera sur le fait que pour obtenir une qualité de service (SLA) vous devez disposer de deux instances.

4

Le déploiement se lancera. Cela prendra plus ou moins de temps selon la complexité des packages (environ 15 minutes en général). La colonne Status fournit l’état du déploiement. Si tout se passe bien : vous obtiendrez en vert : Ready. N’oubliez pas de consulter les informations fournies par la colonne « properties » (à droite). Vous y trouverez : URL, DNS, ID, les dernières opérations sur le déploiement…

A noter que la configuration peut être modifiée, adaptée indépendamment du package applicatif via le bouton « Configure ». Vous pourrez charger un nouveau fichier de configuration ou modifier en ligne la configuration courante. Nous y reviendrons dans une autre fiche.

Configuration

 

3.    Mise à jour et déploiement de pré-production

Windows Azure propose plusieurs mécanismes de mise à jour : staging et upgrade. Le staging est une fonction très intéressante car il s’agit d’un déploiement en pré-production d’une application. L’URL sera temporaire et vous permettra de tester, d’éprouver l’application cloud avant une mise en production effective. Le staging est idéal pour garder une version N en production et une version N+1 en tests puis de basculer vers la N+1 en production quand vous l’estimerez fiable. Comme pour le déploiement « réel », déploiement en staging impose de charger dans votre instance les deux fichiers applicatifs (.cscfg et .cspkg).

Upgrade (bouton Upgrade) permet de mettre à jour directement les packages de production (la mise à jour sera disponible en production).

Déploiement

 

4.     Déploiement type d'une solution Visual Studio vers Windows Azure

Typiquement, quand votre solution Windows Azure est prête dans Visual Studio et que la génération n'a pas eu de problème, vous pouvez déployer. Cependant, il vous faudra tout d'abord avoir un compte Windows Azure disponible et une instance Hosted Services active. Et lorsque vous demanderez une publication du service cloud (publish cloud service) vous devrez déclarer dans Visual Studio votre Windows Azure ID puis posséder un certificat qui sera généré localement puis à déployer sur votre compte. Le certificat doit permettre une authentification de l’utilisateur et de l’application.

Vous avez le choix entre une publication via Visual Studio ou manuellement, pour cela, il faut tout d'abord générer les fichiers de configuration et de la solution que vous allez ensuite indiquer sur le compte Windows Azure. Vous aurez à indiquer les deux fichiers, dans la partie production ou staging. Il fournit une URL d'accès. Si Visual Studio génère une erreur, passez directement par le site Windows Azure.