Autoscaling avec Windows Azure : WASABi | Jean-Luc Boucho - Blog sur .NET, l'Architecture et Windows Azure

mercredi 23 novembre 2011

Autoscaling avec Windows Azure : WASABi

L'un des avantages du Cloud, c'est l'élasticité, à savoir la capacité à disposer rapidement de ressources supplémentaires ou à les libérer.
Avec Windows Azure, si en effet l'allocation ou la libération d'instance de machine virtuelle est rapide (de l'ordre d'un quinzaine de minutes), il n'en demeure pas moins que c'est une opération manuelle. Un comble pour le Cloud où l'automatisation est ultra-présente !
Il n'existe donc pas de fonctionnalité ou de service fourni par Microsoft pour adapter automatiquement le nombre d'instances (role Windows Azure) en fonction de la charge, contrairement à la plateforme Amazon EC2 par exemple (même s'il s'agit de IaaS, la problématique reste la même) où la fonction d'autoscaling est fournie avec la plateforme (avec des coûts supplémentaires évidemment).

Rappelons le principe de l'autoscaling :
  • L'application hébergée dans le Cloud subit une charge, variable, prévisible ou non...
  • La charge est évaluée selon un certain nombre de critères à définir : %CPU, Nombre d'IO, Mémoire restante, Nombre de messages en attente dans la file...
  • Les règles prenant en compte les critères et leurs seuils sont également à définir pour déterminer les actions de redimensionnement (à la hausse ou à la baisse)
  • Le service d'autoscaling collecte, surveille les critères de charge puis exécute automatiquement le redimensionnement en fonction de l'exécution des règles définies.
Dans GAE (Google App Engine), le service Google de collecte s'appelle CloudWatch.
Et dans l'univers Windows Azure, des éditeurs-tiers proposent différentes solutions :
Et depuis récemment, vous pouvez vous appuyez sur le nouveau composant Windows Azure Integration Pack - Autoscaling Application Block (WASABi) disponible sur CodePlex et réalisé par l'équipe Microsoft de Patterns & Practices, qui s'occupe de l'Entreprise Library.
La documentation de WASABi se télécharge directement ici (102 pages !), mais vous préférerez peut-être aborder juste l'essentiel dans ce post de Michael Collier.

Notez enfin que quelque soit la solution que vous envisagez, vous disposez en standard d'un quota de 20 coeurs d'instance par souscription Windows Azure, limite qui peut être agrandie sur appel et justification auprès du support Microsoft.

Aucun commentaire: