vendredi, octobre 07, 2011

Revue de livre: le Cloud Computing avec Amazon Web Services (Jeff Barr)



Cela fait longtemps (5 ans déjà) que j'étudie puis parle sur ce blog des services Amazon de Cloud Computing (comme EC2 ou S3) et depuis 9 mois je les utilise à grande échelle pour la majeure partie d'entre eux.

Je voulais donc faire une revue du livre "Cloud Computing avec Amazon Web Services" des éditions Pearson pour confronter les écrits de Jeff Barr (ici traduits en français) à ma propre perception et à mon expérience.

En effet, Jeff Barr est chez Amazon l'évangéliste de ces divers services depuis leur naissance: il sait donc de quoi il parle.

J'ai trouvé ce livre intéressant pour deux  points principaux:
  1. le fait que l'angle business / fonctionnel y soit traité: pourquoi utiliser le cloud computing, ses apports, ses avantages, etc. sont traités avec une vision de manager qui permet à quelqu'un qui ne "touche pas aux bits" de comprendre pourquoi ses troupes lui rebattent les oreilles avec la nécessité de monter une nouvelle infrastructure sur ce mode de location et de virtualisation plutôt qu'en la possédant et en gérant chaque morceau physique
  2. le résumé très lapidaire que fait Jeff Barr de la philosophie AWS dès le début du livre puis qu'il décline et démontre au long des pages: les services AWS sont un "centre de calcul programmable" où tous les services sont accessibles par interface de programmation (API).
C'est cette caractéristique qui est pour moi la plus saillante: ayant pendant de nombreuses années géré de grandes infrastructures internes, je connais toutes les turpitudes associées à la mise en place de nouveaux composants dans un centre de calcul (commande, livraison, préparation de l'espace, alimentation électrique, etc..). Même si les centres de calcul sont le plus souvent pré-équipés, les mises en place finissent presque toujours par être longues et coûteuses donc pénibles.

Avec Amazon AWS, c'est vrai que tout ceci n'est qu'un mauvais souvenir:
  • le démarrage d'un nouveau serveur, c'est l'appel de l'API EC2 (détails ici) avec les paramètres correspondant aux besoins (puissance de calcul, mémoire, etc...), 
  • la mise en place de stockage (pour des tailles pouvant être en térabytes...) c'est l'appel à l'API S3 (détails ici), la mise en place d'un réseau très sécurisé type VPN (détails ici), c'est à nouveau seulement quelques appels à l'interface VPC, etc...
Le livre détaille ses différentes APIs dans sa partie technique en fournissant des exemples de mise en oeuvre concrets (principalement en PHP) qui permette de "programmer son centre de calcul" selon la devise de Jeff Barr.

Dans la partie fonctionnelle, il met en avant les avantages du cloud computing qui vont de paire avec cette installation initiale simple. Les plus marquants sont pour moi
  • la flexibilité = possibilité de tester différentes combinaisons de machines, de logiciels, et d'architectures avant de s'arrêter sur un choix final. L'installation d'une machine devient de type Kleenex: on s'en sert et on jette de suite si cela ne convient pas...
  • la résilience = travailler même quand l'on est une petite structure sur un système certifié SAS70 qui sont parmi les plus sûrs au monde
  • l'agilité: possibilité de croître en capacité et de décroître en ne consommant que ce dont l'on a besoin. C'est économique et plus c'est "green" puisque l'on ne laisse pas tourner des machines dans le vide !
Donc, si vous souhaitez avoir une bonne vision globale du Cloud Computing en général, des services Amazon AWS en particulier et tout ceci dans la langue de Molière plutôt que dans celle de Shakespeare, je vous recommande ce bouquin !

Un petit regret: que peu d'espace ne soit accordé à des exemples en Java. C'est mon langage de prédilection ! D'autant qu'il est fortement adapté à la pratique du "centre de calcul programmable" puisque une modélisation orientée objet  de tous les services à disposition est un must dès que l'on vise une forte automatisation d'un tel système pour qu'il puisse croître à très grande échelle en toute efficacité.

Source: blog Media and Tech (par didier durand)