A la suite de l’annonce de Google App Engine, et en réponse au billet de Frédéric Cavazza (voir ce lien), je me propose de faire un petit panorama des plateformes de Cloud Computing.
Force.com
Commençons par celui qui a inventé les grands concepts de la « platform as a service ». Salesforce a proposé la première plateforme multi-tenant majeure (voir ce billet : Application en ligne & architectures "multi-tenant") qui permet d’accéder à un large catalogue d’application SaaS (AppExchange) éditées par la société elle même ou par des tiers. Salesforce a par ailleurs annoncé récemment l’intégration des outils collaboratifs de Google avec AppExchange.
La société a introduit les termes de :
- Infrastructure as a service : un Data Center à haute disponibilité, dont il n’est pas nécessaire de connaitre l’architecture pour pouvoir l’exploiter
- Database as a service : une architecture de données à très grande volumétrie
- Development as a service : un environnement de développement et test intégré à la plateforme
- Integration as a service : un bus d’échange intégré à la plateforme
- Etc.
Si la plateforme force.com est la plus avancée à ce jour, elle utilise malheureusement un langage propriétaire, AppEx, qui n’est portable sur aucune autre plateforme. Développer sur force.com, c’est donc se lier à la plateforme.
Amazon Web Services
L’offre d’Amazon est apparue à la suite du constat suivant : le commerçant en ligne avait une capacité de stockage et de traitement supérieure à ses besoins, qu’il pouvait revendre.
Amazon Elastic Compute Cloud (EC2) permet ainsi le déploiement de machines virtuelles chez Amazon afin de tirer partie de leurs capacités de traitement. Tandis que SimpleDB et Simple Storage permettent respectivement de stocker des données structurées en non structurées.
Avec EC2 Amazon n’offre pas vraiment de plateforme multi-tenant, mais plutôt l’exécution de machines virtuelles intégrant les couches classiques (système d’exploitation, serveur d’application, application).
Google App Engine
J’attendais depuis longtemps la naissance de la plateforme de Google qui n’avait jusqu’à présent proposé qu’un petit environnement de scripting : Google Mashup Editor.
Google propose donc App Engine, un environnement d’exécution basé sur le langage Python et qui devrait prochainement s’ouvrir aux langages PHP et Ruby. Leur solution de persistance s’intitule BigTable.
Des ingénieurs astucieux ont déjà réussi faire tourner App Engine sur d’autres plateformes (voir ce lien).
Je pense qu’App Engine sera à terme une plateforme plus ouverte que force.com
Microsoft S + S (Software + Service)
Microsoft n’est pas issu du Web, mais du monde des éditeurs. Ainsi sa stratégie vise à concilier le modèle d’éditeur de logiciel (Software) avec celui de fournisseur de service (Service). De part son passif, l’éditeur de Redmond ne peut pas être aussi tranché que Google ou Salesforce et affirmer que les applications exploitées dans l’entreprise vont disparaitre. Il propose donc un modèle où des technologies identiques seront utilisées en Intranet et sur des plateformes multi-tenant. Ainsi, les développeurs familiers de .NET utiliseront leur langage habituel pour produire des SaaS.
Microsoft n’a encore que très partiellement dévoilé les composants de sa plateforme : l‘éditeur a présenté SQL Server Data Services et Biztalk Services. D’autres annonces vont probablement arriver prochainement.
Je ne parle pas pour l’instant des plateformes de Sun ou IBM encore mal connues.
Je vous propose un petit tableau récapitulatif.