Google XXL: Google App Engine
Google XXL

Google App Engine


Google App Engine offre des fonctionnalités centralisées vous permettant d'exécuter vos applications web en tirant partie la même infrastructure que celle utilisée par Google : GFS et Bigtable.
On appelle ce type de service du "Cloud computing". Il s'appuie sur une architecture réseau très dense constitué de grappes de serveurs appelées nuages et réparties partout dans le monde.
Le principe est de décharger les programmeurs de toutes les tâches de maintenance et d'administration de façon à ce qu'ils se concentrent sur le développement et l'optimisation de leurs applications.
Actuellement, ce service est en période d'essai et il existe des limitations en termes d'utilisation processeur, bande passante et capacité de stockage.
Un compte gratuit peut utiliser 500 Mo d'espace disque et ne devra pas excéder les 5 millions de pages vues dans le mois.
Google App Engine est ouvert aux 10000 premiers développeurs qui ouvriront un compte (gratuit) sur ce service. Signalons que les inscriptions sont déjà closes...
Vos applications (3 au maximum) seront hébergées sur un sous-domaine de appspot.com mais il est aussi possible d'utiliser Google Apps et donc son propre nom de domaine.
Par ailleurs, l'environnement de développement est limité, pour l'instant, au langage Python qui est plutôt d'un apprentissage difficile ("aisé" me demande de rectifier Luka)… Gageons que cela ne devrait pas durer longtemps et que Google App Engine sera ouvert à d'autres langages.
Ce service diffère de ceux proposés par Amazon. Les services Web que sont EC2, SimpleDB et S3 peuvent être utilisés ensemble ou de manière séparée dans un projet différent. Google App Engine propose aux développeurs une plate-forme centralisée capable d'héberger leurs applications, de répondre aux requêtes et d'utiliser leur base de données au sein d'un système unifié proposant les avantages suivants :

  • WebServing dynamique ;
  • Stockage persistent (soutenus par Bigtable et GFS pour les requêtes et les tris) ;
  • Équilibrage de charge automatique ;
  • Utilisation de l'API Google pour l'identification des utilisateurs et la gestion de la messagerie ;
  • Prise en charge complète des fonctionnalités de développement local.
Le SDK "App Engine software development kit" vous permet de simuler localement le moteur d'applications "App Engine".
Il est possible de tester les premières applications utilisant la technologie Google App Engine à partir de cette galerie.

google app engine galerie
Apparemment, il y a pas mal de problèmes (un afflux trop soudain de visites ?) qui restent en suspens ! Néanmoins, cela vous donne déjà une bonne idée de ce qu'il est possible de faire (et de ne pas faire).
Pour une documentation complète, rendez-vous à cette adresse : http://code.google.com/appengine/docs/.
Vous pouvez aussi lire les premiers articles de ce blog dédié : http://googleappengine.blogspot.com/.
Voici, pour les spécialistes, la vidéo de démonstration.

8 commentaires:

  Luka

8 avril 2008 à 14:22

Python un langage difficile a apprendre ? Je vous conseille d'essayer, vous verrez c'est pas si terrible.

  Jean-Noël Anderruthy

8 avril 2008 à 14:47

Disons alors pour des gens comme moi qui ont déjà bien du mal à faire une sortie standard ("Hello World!") en C++
En bref, le commun des mortels pour qui tous les langages sont un mélange d'hébreu et de chinois...

(Et qui ne suis pas diplômé en Recherche d'informatique à l'université de Sherbrooke ;-) )

  Benoit

8 avril 2008 à 15:01

Je confirme, si python est difficile alors tous les langages sont difficiles.

Sinon à propos de ce Apps Engine... vous voulez dire que Google offre gratuitement la possibilité d'héberger des applications sur leur infrastructure "googlesque", qui constitue leur avantage concurrentiel ?
C'est moi ou c'est totalement énorme ?
même si c'est pour l'instant limité, j'ai du mal à comprendre.
A qui ce service s'adresse-t-il ? et quel bénéfice en retire Google ?

  Jean-Noël Anderruthy

8 avril 2008 à 16:27

La question du coût possible est pour l'instant en suspens... Je pense qu'à l'instar du service proposé par Amazon, il y aura un coût. Mais, tel quel, ce service est pour l'instant en phase de test et donc gratuit... Il paraît calqué sur un autre service proposé par Google appelé Mashup Editor. L'avantage de Google ? S'imposer sur le marché du "cloud computing" j'imagine. A terme, il n'y aura plus besoin d'ordinateur tel qu'on le connait actuellement... Juste un périphérique capable de se connecter sur le Net et vous retrouverez un OS "déporté". Mais cela suppose un gros effort également de la part des entreprises : les traitements de leurs données s'effectueront de manière virtualisée par Internet sur un Data Center X. Google a commencé à l'appliquer pour ses propres besoins et, maintenant qu'il possède l'expertise nécessaire, va développer des solutions pour les entreprises. Bien entendu, le marché est énorme. Vous vous concentrez sur votre métier et moi, Google, je m'occupe de mettre la table et de faire la vaisselle : votre infrastructure informatique sera réduite au minmum puisque je prends tout en charge. Je crois que c'est le sens d'un concept appelé "Entreprise agile" ! Enfin, j'imagine que les économies d'échelle qui sont permises sont très importantes.

  Benoit

10 avril 2008 à 10:12

Je vois. Les entreprises vont acheter de l'"Infrastructure as a service" (avec un loyer à payer tous les mois) pour ensuite revendre du Software as a service. Evolution implacable.

  Jean-Noël Anderruthy

10 avril 2008 à 11:08

Bravo Benoit pour ton sens de la synthèse ;-)

  William

20 août 2008 à 08:29

On trouve de vraie perles sur Google App. Je suis récémment tombé sur Spy dont j'ai fait l'article http://fanurl.com/w qui n'aurait pas forcément vu le jour sans Google App. En tous cas, bien joué !

  Jean-Noël Anderruthy

20 août 2008 à 10:59

Merci William ;-) Un article intéressant sur un service qui vaut le détour. Attention à ne pas sombrer dans une somnolence hypnotique tout de même !