Ce billet constitue la troisième partie de mon panorama estival des plateformes de Cloud Computing.
L’offre Google App Engine se décompose selon les couches :
- Le service d’exécution de la plate-forme est basé sur un runtime Java ou Python. Les entreprises préfèreront le développement Java, plus proche de leurs standards. Ce développement est assez contraint afin de préserver la performance de la plateforme. De fait, GAE ne supporte qu’une partie de la norme JEE.
- DataStore est le service de persistance. C’est une base de données, accédée par un langage de requêtage de haut niveau : GQL, Google Query Langage.
- En termes d’intégration, la PaaS offre Secure Data Connect (SDC). SDC prend la forme d’un tunnel SSL entre GAE et le Système d’Information. SDC permet d’exposer les bases de données d’entreprise sous forme de services. Ce n’est pas un bus d’intégration à proprement parler.
- pour l’authentification, Google propose l’intégration avec les comptes Google Apps, ou la fédération d’identité au travers de sa SSO API.
La philosophie de Google App Engine consiste à proposer une plate-forme offrant une grande puissance de traitement et une grande capacité de stockage : il s’agit de mettre les gigantesques capacités des datacenters Google à la disposition des entreprises. Ces dernières pourront donc lui confier leurs applications à très forte charge ou celles qui nécessitent beaucoup d’espace de stockage.
La contrepartie de cette promesse de puissance est une architecture Java assez contrainte. Néanmoins, Google propose un langage de programmation complet et non un environnement RAD comme force.com : les entreprises utilisatrices ont donc une plus grande marge de manœuvre qu’avec Apex.
Enfin, une des grandes forces d’App Engine est son intégration avec Google Apps : Google propose ainsi un environnement unique et cohérent pour son offre SaaS et les applications développées par les entreprises sur sa plate-forme PaaS.