Windows Azure SDK 1.1 et le nouveau service Azure Drive

Mardi 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

Dimanche 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

Retrouvez Wygwam sur le Azure Roadshow le 25 et 26 janvier

Jeudi 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

Samedi 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.

Apercu des offres commerciales pour la plateforme Windows Azure : Introductory Special, Accelerator Core, Accelerator Extended ou Consumption

Vendredi 8 janvier 2010

C’est ce mois ci que Microsoft lance ses offres commerciales pour la plateforme de cloud computing, Windows Azure ! Ses offres sont au nombre de quatre :

On commence donc par une offre gratuite jusqu’au 31 Juillet 2010 pour la découverte et l’expérimentation “Introductory Special” limité à 25heures de compute (execution) sur une « small instance » et 500Mb de Storage pour la partie Windows Azure, 1 DB SQL Azure limitée à 1Go pour SQL Azure disponible seulement pendant les 3 premiers mois, 2 connexions au ServiceBus et 100 000 access control pour une limite totale de 512 Mo de bande passante en entrée et en sortie. Au dessus de ces quotas, les tarifs de l’offre « Consumption » seront appliqués.

On a ensuite deux offres “forfaits” : Accelerator Core et Accelerator Extented pour respectivement 59.95$ (env. 42€) et 109.95$ (78€). Ces forfaits nous engagent sur une période de 6mois minimum. Vous disposerez pour ce prix de 750 heures de compute sur une « small instance », 10Go de Storage pour une bande passante limitée à 7Go en entrée et 14 Go en sortie pour les régions Amérique et Europe (bande passante réduite pour la région Asie) et 1.000.000 access control et un pack de 5 connexions au ServiceBus.

L’offre Extented vous rajoutera en plus une base de donnée SQL Azure Business de 10Go.

Ces forfaits vous permettent de limiter votre consommation sur la plateforme Azure avec un budget déjà défini et donc jamais dépassé. Pour les services et quotas fournis dans ces forfaits, vous économiserez un peu plus de 50% que si vous le prenez à la carte “Consumption”.

Pour finir, vous retrouvez tous ces services à la carte où vous payerez à la consommation “Pay as you go” sans aucun engagement sur la durée avec la possibilité de choisir, pour le service de Compute de Windows Azure entre une « small, medium, large ou extra large instance » (performances des machines virtuelles hébergeant vos services Azure)

Comparatif de ces offres :

  Introductory Special Development Accelerator Core Development Accelerator Extended Consumption
Windows Azure
Compute 25 hours (small compute instance) 750 hours (small compute instance) 750 hours (small compute instance) $0.12 per hour (small compute instance)
$0.24 per hour (medium compute instance)
$0.48 per hour (large compute instance)
$0.96 per hour (extra large compute instance)
Storage 500 MBs of storage 10 GBs of storage 10 GBs of storage $0.15 per GB stored per month
Storage transactions 10,000 storage transactions 1,000,000 storage transactions 1,000,000 storage transactions $0.01 per 10,000 storage transactions
SQL Azure
Web databases 1 Web Edition DBs ≤ 1 GB RDB (3months max.) N/A N/A $9.99 per database per month ≤ 1 GB RDB
Business databases N/A N/A 1 Business Database ≤ 10 GB RDB $99.99 per database per month ≤ 10 GB RDB
AppFabric
Access Control transactions 100,000 Access Control transactions 1,000,000 Access Control transactions 1,000,000 Access Control transactions $1.99 per 100,000 transactions
Service Bus connections 2 Service Bus connections 1 pack of 5 Service Bus connections 1 pack of 5 Service Bus connections $3.99 per connection on a “pay-as-you-go” basis*

$9.95 for a pack of 5 connections*

$49.75 for a pack of 25 connections*

$199.00 for a pack of 100 connections*

$995.00 for a pack of 500 connections*
Data Transfers (per region)
North America
and Europe
.5 GB in / .5 GB out 7 GB in / 14 GB out 7 GB in / 14 GB out $0.10 per GB in / $0.15 per GB out
Asia Pacific .5 GB in / .5 GB out 2.5 GB in / 5 GB out 2.5 GB in / 5 GB out $0.30 per GB in / $0.45 per GB out
Commitment Term
  N/A 6 months 6 months N/A
Savings
  N/A Represents 54% off normal consumption rates. Represents 52% off normal consumption rates. N/A
Base Unit Price
  No Charge $59.95 (env. 42€) $109.95 (env. 78€) Pay as you go

Plus d’information sur : http://www.microsoft.com/windowsazure/offers/

A noter aussi, pour les abonnés MSDN et partenaires (Microsoft Partner Network), des avantages commerciales vous sont proposés.

Enfin, tout comme BPOS (Exchange Online, Sharpoint Online, etc..), le portail client se trouve sur le site des Microsoft Online Services à l’adresse : https://mocp.microsoftonline.com/

Pour finir, les comptes gratuits CTP prendront fin au 31 janvier 2010.