« Azure »

Windows Azure SDK 1.1 et le nouveau service Azure Drive

2 février 2010

Microsoft vient de publier la nouvelle version du SDK pour Windows Azure, version 1.1 de Février 2010 que vous pouvez retrouver sur :

Hormis la correction de quelques bugs de la version 1.0 (Novembre 2009) notamment avec le StorageClient ou l’API Diagnostics (prochainement abordé dans le Coach Azure MSDN), cette nouvelle version apporte deux nouveautés non-négligeable :

  • Le “OS Version Support
  • Un nouveau service des Azure Storage : le Azure Drive

OS Version Support

Le “OS Version Support” est un attribut (nommé “osVersion”) que l’on va placer sur notre ServiceConfiguration.cscfg (fichier de configuration de notre service Azure) pour définir quelle est la version de l’OS qui va exécuter notre application, on appelle cela le ‘”Guest OS”.

Pourquoi ? Tout simplement pour éviter les problèmes de changement/mise à jour des machines virtuelles qui exécutent mon application.

Ainsi une application écrite avec la version 1.0 du SDK pourra choisir de s’exécuter sur la version Windows Azure Guest OS 1.0 (Release 200912-01) ou sur la Windows Azure Guest OS 1.1 (Release 201001-01). Par contre une application écrite avec la version 1.1 du SDK Azure tournera forcement sur la Windows Azure Guest OS 1.1 (Release 201001-01).

On a donc le choix entre le Windows Azure Guest OS 1.1 défini par la clé WA-GUEST-OS-1.1_201001-01 et l’ancien Windows Azure Guest OS 1.0 défini par la clé WA-GUEST-OS-1.0_200912-01. Ainsi, bien que Microsoft continura d’e faire évoluer les Guest OS, mon application pourra continuer de fonctionner dans la version pour laquelle elle a était écrite sans problème d’upgrade.

Par exemple pour que mon service fonctionne sur la version 1.1, le début de mon fichier de configuration ressemblera à cela :

1
2
3
<ServiceConfiguration serviceName="CloudService1" osVersion="WA-GUEST-OS-1.1_201001-01" xmlns="http://schemas.microsoft.com/ServiceHosting/2008/10/ServiceConfiguration">
  <Role name="WebRole1">
	....

Azure Drive

Annoncé en Novembre 2009 lors de la PDC09, le service Azure Drive (anciennement XDrive) permet de “monter” le service des Azure Blobs comme une partition NTFS (ex: X:\) sur le service Compute de Windows Azure. Si ces notions ne vous sont pas familières je vous invite à parcourir notre coach Azure sur la MSDN ainsi que notre Azure Roadshow. Ce service n’est disponible que dans un rôle (web ou worker) Windows Azure en version 1.1 (voir OS Version ci-dessus).

Derrière cela se cache en fait le service des Azure Blobs qui va stocker un disque dur virtuel VHD. Ce VHD utilise le Azure Blob Page Blob introduit en Novembre 2009 et non le classique Block Blob. Vous retrouverez sur notre Azure Roadshow à la slide 67 les différences majeures entre les Blocks et Pages blob.

Le VHD doit être partitionné en NTFS et vous avez ensuite la possibilité de pouvoir uploader/downloader vos propres VHD en utilisant le service des Blobs. Comme l’indique la slide 67 de notre Azure Roadshow, votre VHD ne pourra excéder 1 To (limite d’un Page Blob). De plus chaque VM peut monter jusqu’à 16 “Drives”.

Côté “prix”, vous payerez l’utilisation du service des Azure Storage à savoir $0.15 par GB et $0.01 toutes les 10000 transactions dans le forfait “Consumption” (voir le détail ici).

On pourrait alors se demander comment connaitre le nombre de transaction effectué lorsque j’accède au contenu de mon VHD stocké dans un PageBlob ? C’est pourra cela qu’on utilise un ”local-cache” grâce aux “Local Storage” du service de Compute de Windows Azure.

Vous définissez ainsi un LocaStorage à utiliser sur votre VM (voir le Coach MSDN pour mieux comprendre le LocalStorage – en résumé c’est un espace de stockage NTFS local à la VM qui est réinitialisé à chaque démarrage de la VM) par les lignes :

1
2
3
4
5
<LocalResources>
      <LocalStorage name="MyAzureDriveCache" 
                    cleanOnRoleRecycle="false" 
                    sizeInMB="220000" />
</LocalResources>

Votre LocalStorage pourra être accessible sur la lettre Z:\ dans votre VM Azure.  La taille du LocalStorage dépend de la taille de votre VM. Sur une Small instance on dispose de 250Gb, sur une Extra large instance on a 2Tb (voir le détail ici).

Il faudra ensuitre initialiser votre LocalStorage pour qu’il remplisse son role de “cache” pour les Drives par la ligne :

1
2
CloudDrive.InitializeCache(localCache.RootPath, 
              localCache.MaximumSizeInMegabytes);

Et pour finir vous pourrez monter votre “drive” sur votre LocalStorage par le code :

1
2
3
CloudDrive drive1 =  
    new CloudDrive(new Uri(“http://account.blob.core.windows.net/container/Blob1”), credentials);
drive1.Mount(200000, DriveMountOptions.None);

En clair, ce service va nous permettre de manipuler nos dossiers/fichiers comme nous le faisions On-Premise sur nos Windows Server sans devoir réécrire nos applications existantes. Derrière cela tout repose sur les PageBlob nous garantissant une disponibilité de 99,99% et failover automatique.

Plus d’informations :

Présentation & démos du Azure Roadshow

31 janvier 2010

En début de semaine nous donnons avec Gregory Renard, une serie de conférences dans le cadre du Azure Roadshow en Belgique.

Comme promis, nous vous mettons à disposition la presentation ainsi que les ateliers/démos que nous avons joués :

  • Atelier 1 – Premier service : Hello World dans un WebRole, découverte des fichiers de définition et configuration et déploiement local et sur Azure
  • Atelier 2 – Tables : Conception d’un WebRole type « twitter-like ». Manipulation des Azure Tables pour enregistrement des messages
  • Atelier 3 – Blobs : Ajout des images sur les messages. Manipulation des Azure Blobs pour le stockage des images
  • Atelier 4 – Queue & WorkerRole : Ajout d’un WorkerRole pour la génération des miniatures des images. Manipulation des Azure Queues pour transmettre les demandes de minuatures au Worker Role.
  • Atelier 5 – SQL Azure : Remplacement du repository Azure Tables par un DBML pour interfacer un SQL Express. Puis migration du SQL Express sur un base SQL Azure.
  • DemoSqlAzure : demos SQL Azure : calcul des couts et manipulation du firewall

Je vous rappelle aussi que vous pouvez vous former sur la plateforme Windows Azure en consultant notre Coach sur la MSDN : http://msdn.microsoft.com/fr-fr/azure/msdn.coach.azure.aspx

Windows Azure Status

25 janvier 2010

A l’instar de Trust chez Salesforce, App Status Dashboard chez Google ou encore Service Health Dashboard chez Amazon WS, Microsoft vient de sortir un outil de surveillance des services de la plateforme Windows Azure, à savoir :

  • Windows Azure (Compute, Storage et CDN)
  • SQL Azure
  • App Fabric (ServiceBus et Access Control)

Vous aurez aussi la possibilité de remonter dans l’historique jour après jour ou de vous abonner aux flux RSS pour être notifié sur l’état des services.

Le lien : http://www.microsoft.com/windowsazure/support/status/servicedashboard.aspx

Retrouvez Wygwam sur le Azure Roadshow le 25 et 26 janvier

21 janvier 2010

Retrouvez-moi en compagnie de Gregory Renard, le 25 janvier à Mons et le 26 janvier à Liège à l’occasion du Azure Roadshow.

Quatre heures de conférence pour une prise en main technique de Windows Azure et SQL Azure. Durant la session nous parcourons :

  • Le concept du cloud computing
  • Le développement sur Windows Azure (Azure Compute)
  • Le stockage sur Windows Azure (Azure Storage)
  • L’exploration d’SQL Azure

Pour participer à cette session les pré-requis sont :

 

Azure Roadshow – MIC, Mons
lundi 25 janvier 2010 9:30 – lundi 25 janvier 2010 13:00
Microsoft Innovation Center – MIC
Boulevard Initialis 1
Mons Belgique
Inscription : http://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032438248&Culture=fr-BE

Azure Roadshow – Technifutur , Liège 
mardi 26 janvier 2010 13:30 – mardi 26 janvier 2010 17:00
Technifutur – Liège Science Park
Rue du Bois Saint-Jean, 15/17 Seraing 4102
Liège Belgique
Inscription : http://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032438250&Culture=fr-BE

Les types d’instances sur Windows Azure

9 janvier 2010

Dans mon précédent post j’évoquais différents “types” d’instances pour le compute sur Windows Azure. Pour rappel, voici leurs caractéristiques :

Compute Instance Size CPU Memory Instance Storage I/O Performance
Small 1.6 GHz 1.75 GB 225 GB Moderate
Medium 2 x 1.6 GHz 3.5 GB 490 GB High
Large 4 x 1.6 GHz 7 GB 1,000 GB High
Extra large 8 x 1.6 GHz 14 GB 2,040 GB High

Comme vous le savez, chaque instance représente une machine virtuelle. En fonction de son type, les ressources ci-dessus seront appliquées. La bande passante réseau ou l’accès aux disques entre autre sont compris dans la colonne “I/O Performance”. Etant donné que ces caractéristiques sont partagés sur la machine hôte par les machines virtuelles (instances), un “ordre de priorité” est défini par cet indicateur. Bien sûr même si une Small instance a une priorité moindre qu’une medium instance, un minimum y est réservé !

Les heures de “compute” sont calculées sur base d’une “small instance”. Ci-dessous la table de conversion :

Compute Instance Size Elapsed Hour Small Instance Hours
Small 1 hour 1 hour
Medium 1 hour 2 hours
Large 1 hour 4 hours
Extra large 1 hour 8 hours

Ainsi, une heure sur une “extra large instance” (8 x 1.6 Ghz) vous coutera l’équivalent de 8 heures sur une “small instance” soit 8 x 0.12 = 0,96$ / heure.

Comme évoqué dans les commentaires du billet précédent, les heures sont “horaire” et non basées sur l’utilisation du CPU en heure. Peu importe l’utilisation que vous faites du CPU, vous payerez en fonction du nombre d’heure pendant laquelle votre ou vos instances sont démarrées.