article suivant, il est clair que comparée à une solution d’hébergement classique, une offre d’IaaS comme celle d'AMAZON n’est pas avantageuse si l’on souhaite exécuter des instances en permanence. La vraie force de l’IaaS, c’est l’élasticité, le dimensionnement automatique pour suivre la montée en charge.
Ce point était l’un des plus important pour notre étude. Le service AutoScaling fourni par AMAZON fonctionne correctement : lorsque les critères sont atteints la taille d’un groupe de machines.
Néanmoins, il est important de souligner que la période selon laquelle un groupe d’instances EC2 est dimensionné, doit être déterminée avec attention, au risque de lancer de multiples instances et donc de voir les coûts s’envoler. Supposons qu’un site web ait une courbe d’utilisation qui associée à certains paramètres d’AutoScaling (typiquement la période de dimensionnement d’une heure) produise le diagramme de vie des instances EC2 suivant :
Ainsi, nous aurons consommé : 12 heures pour l’instance 1, 6 heures pour l’instance 2, 4 heures pour l’instance 3 et 2 heures pour les instances 4, 5 et 6. Soit un total de 28 heures machines.
Supposons maintenant que l’échelle de temps du graphique précédent ne soit pas l’heure, mais la minute. Nous avons alors 6 heures machines à payer – car chaque heure consommée est pleinement facturée – pour seulement 12 minutes de fonctionnement. Notons au passage que 4 instances auraient suffi. Cet exemple s'applique sur quelques minutes et quelques machines, imaginons maintenant que cela concerne des dizaines de machines pendant une année...
Dans une première approche, on souhaite disposer d’un système très réactif et donc d’une période de dimensionnement très courte - de l’ordre de quelques minutes. Or ce choix peut s’avérer ruineux.
Tout d’abord, et c’est positif, AMAZON WS existe depuis un certain temps et fonctionne bien : aucun plantage ou message d’erreur, une documentation claire et une communauté importante font qu’il est assez agréable de travailler sur l’infrastructure AMAZON. Par ailleurs la portabilité est là : envie de rapatrier l ‘application chez vous ? C’est faisable.
Par ailleurs, le coté ‘infra’ plus que ‘appli’ peut avoir son importance dans le choix du fournisseur car contrairement à GOOGLE qui annonce : « ne vous inquiétez pas, nous gérons votre appli », AMAZON donne les outils pour gérer et maitriser son soft : nous savons où sont les machines, les données, nous avons la possibilité de rester maître de notre soft. Le revers de la médaille est la quantité de facteurs à gérer.
Le premier de ces facteurs est la réactivité de l’élasticité. Cette élasticité est la raison d’être du cloud computing IaaS, sinon autant aller chez un hébergeur. Voulez-vous dimensionner votre infrastructure toutes les 10 minutes, toutes les heures ou bien tous les jours ? La réponse à cette question passe par une maîtrise avancée de l’application à déployer.
Par ailleurs, et c’est aussi vrai pour Microsoft et GOOGLE, les différents éléments à prendre en compte pour une estimation budgétaire et plus spécifiquement les volumes de données entrants et sortants des data centers AMAZON, nécessitent une maitrise de la volumétrie de son application. L’idéal étant une application existante qu’il ne reste plus qu'à outiller. En outre, l’aspect financier (volumétrie, nombre de requêtes …) peut impacter l’architecture de l’application.
AMAZON est la solution si il s’agit de faire une externalisation d’infra privée vers le Cloud – normal puisqu’il n’y a presque rien à faire ! Pour du développement from scratch, AMAZON se prête mieux à du web-service, du batch ou du site web statique là ou on peut supposer que GOOGLE et MICROSOFT sont meilleurs pour des applis web, mais attention dans ce cas aux problèmes de portabilité. Rien ne vous empêche de déployer une archive WAR sur un TOMCAT au sein d’une instance EC2 mais le niveau d’abstraction offert par les solutions GOOGLE et MICROSOFT permet de faciliter grandement le déploiement, vous avez beaucoup moins de questions à vous poser. Par ailleurs, il est tout à fait possible d’intégrer AMAZON avec une autre solution.
Pour terminer, il faut garder à l’esprit que les choses évoluent très vite dans le monde du Cloud Computing. Ainsi, GOOGLE supporte maintenant le SQL pour les App Engine Business alors que le principal point négatif de GAE était son système de Base de Données non SQL.
De même l’offre AMAZON a encore évolué entre la fin du projet présenté ici (mars 2010) et la rédaction du présent document (Juin 2010) : le service de load balancing gère les sessions http (sticky-sessions) tandis que cloud front supporte le protocole HTTPS