Le Cloud computing

Posté par Cedric, le 14/04/2008 - Technologie

Au lendemain du lancement par Google de App Engine, il est temps de revenir sur un des piliers de l’internet du futur, le cloud computing.

Depuis ses débuts, Internet se compose toujours de la même manière : un site, du trafic, une architecture serveur. Pour imager, on pourrait voir les serveurs comme la bâtisse d’un magasin, les sites comme les boutiques à proprement parler, et le trafic comme les chalands qui se déplacent dans ce centre commercial. Une même bâtisse peut contenir plusieurs boutiques, et plus cette bâtisse est solide et optimisée pour la chalandise (routes, parkings, solidité des fondations, service de sécurité etc..) plus elle est capable de drainer et de contenir de monde.

Il en va de même pour le web. Et c’est précisément là où le bat blesse. Reprenons notre exemple. Après avoir mené une formidable campagne de promotion (sur Internet évidemment), vous voila submergé : des kilomètres d’embouteillages encerclent votre centre commercial, si bien que votre infrastructure est dépassée et ne peut contenir tout cet afflux de visiteurs : vous fermez boutique, en attendant de décongestionner la zone.

Ce genre de problème arrive tous les jours sur Internet. Il est dû à la mauvaise adéquation entre l’architecture serveur et le trafic. Très souvent, les startups tentent d’économiser sur ce poste, en attendant de voir si le trafic augmente. Un beau jour, Michael Arrington leur accorde un article dans TechCrunch. Après les félicitations et la flatterie de rigueur, les créateurs sourient devant leurs courbes de suivi statistique en temps réel… avant de grimacer devant la lenteur soudaine de leur service. Quelques minutes après, la réponse se fait attendre plusieurs minutes, avant d’afficher une erreur 500.

Le Cloud Computing

Cloud Computing

C’est là qu’intervient la petite révolution du cloud computing. Le système est simple, les usines à gaz que sont Amazon et Google possèdent des architectures considérables de plusieurs dizaines de milliers de serveurs. Or, passé un certain stade, ajouter des machines à une architecture déjà existante et très bien structurée coûte très peu d’argent. Amazon s’est donc doté d’un parc additionnel considérable, qu’ils ont virtualisé pour le proposer au grand public. Ainsi est né Amazon EC2 (Elastic Computer Cloud). EC2 est un web service (une API) qui permet d’étendre un serveur facilement et rapidement, pour lui ajouter la puissance et la disponibilité des serveurs d’Amazon. La bande passante, la capacité de stockage, ainsi que la disponibilité sont théoriquement sans limite (dans la réalité, des accidents peuvent arriver). La startup a donc la possibilité, lorsqu’elle voit arriver une charge importante sur son serveur, de créer une image Amazon de leur système et de le dupliquer sur les serveurs distants du libraire Américain. Le trafic recevable est instantanément décuplé et la vitesse de chargement reste intacte pour les nouveaux arrivants.

Il s’agit d’une formidable innovation, qui aide à construire un web « scalable », évolutif et élastique. Une pratique rependue désormais au stockage d’image, avec Amazon S3 ou à la base de données avec SimpleDB. Ceci rend donc théoriquement possible de nouvelles pratiques : avoir un serveur minimal, indispensable pour bâtir son prototype et même lancer son service, et externaliser d’entrée le stockage de son contenu, ainsi que prévoir dès le départ l’addition de serveurs existants en préparant ses images disques prêtes à être lancées.

Un peu comme un supermarché dont la taille du bâtiment serait à même de changer selon l’affluence, permettant ainsi de réduire les couts de structure et de variabiliser des frais que l’on pensait condamnés à rester fixes. Une pratique destinée à se répandre et un marché que n’a pas voulu rater Google en proposant aux développeurs de bâtir leurs applications sur les mêmes serveurs que le célèbre moteur de recherche. La conquête des développeurs étant devenue stratégique pour les géants de l’Internet, on a du mal à croire que Yahoo! et Microsoft ne suivent pas la danse.

tags: amazon, cloud-computing, google

Comments 2 comments so far

Salut,

peux tu en dire un peu + sur Simmple DB de Amazon?

merci!

Posted by parapluie on 14/04/2008

Cher Parapluie,

Ces bases de données répondent à la même logique: l'explosion physique des données sur une multitude de serveurs redondants afin de satisfaire au fameux HA. High avaiability, ce que recherchent tous les architectes serveurs au monde. En externalisant la base de données, le coeur du système, les données les plus sensibles, sont protégées sur des datacenters différents, répartis sur des continents différents, etc.. cela garantit donc le plus haut niveau de sécurité possible, si l'on part bien sur du postulat que Amazon satisfait son contrat de confidentialité. (on n'oserait pas imaginer l'inverse).

A l'utilisation, j'ai testé Amazon SimpleDB, le fonctionnement est différent d'une base de données normale car cela fonctionne uniquement par couple clé, valeur. Pas de table avec des colonnes, le système se veut plus simple (pas a préciser de type de données, il les reconnait tout seul), et fonctionne évidemment étroitement avec S3 et EC2.

Pour les intéressés, il y a meme un plugin Symfony pour SimpleDB.

Cedric

Posted by Cedric on 15/04/2008