Présentation d’une plateforme très répandue : Google App Engine. Apparu en 2008, ce service de Google très spécifique vous permet de disposer des ressources de calcul des datacenters de Google afin de développer vos propres applications par des API.
Présentation
C’est en 2008 que Google introduit son service en proposant un SDK basé uniquement sur le langage Python, avec déjà quelques services tels que le Datastore. En presque 3 ans, ce service a su évoluer de manière simple et logique. Aujourd’hui, bon nombre d’API ont été ajoutées à la proposition initiale avec des astuces intéressantes dignes de Google.
Tous les ans au Google I/O, de nouvelles fonctionnalités sont présentées sur App Engine. Désormais, Google conseille de plus en plus l’utilisation du GWT pour la création de l’interface et App Engine pour l’exploitation.
Les services offerts
Ils sont relativement peu nombreux mais particulièrement astucieux pour certains :
– Datastore : une base de données non relationnelle
Cette base de données est similaire à SimpleDB que l’on trouve chez Amazon.
– URL Fetch : une API qui permet de faire des requêtes HTTP
Ce service permet de faire des appels HTTP à des sites externes pour, par exemple, vérifier en permanence s’ils sont toujours accessibles ou directement les interroger.
Autorise l’envoi de mails uniquement avec un compte Google enregistré comme administrateur de l’application.
– Images
Toute sorte d’outils pour manipuler/découper des images. C’est comme ça que toutes les petites images de la page d’accueil de Google sont en fait stockées sous la forme d’une seule image comme celle ci :
– Single Sign On (SSO)
Cette fonctionnalité vous permet d’utiliser le système de login de Google et donc de ne pas avoir à le gérer vous même. Facebook propose également ce genre de fonctionnalité.
– Messages XMPP
XMPP est le protocole de Tchat utilisé par Google Talk. Il est adapté à l’envoi de petits messages instantanés. Il est possible d’émettre et de recevoir des messages XMPP dans une application App Engine.
– File de tâches
Dans App Engine, vous ne pouvez pas avoir un bout de code qui reste en exécution pendant un temps infini. Google a volontairement bridé ce genre d’exécution. Une file de tâches permet de mettre en attente des portions de code qui seront exécutées lorsque les ressources CPU seront disponibles.
– Planificateur de tâches
Similaire à Cron on JCron, ce planificateur vous permet d’exécuter une portion de code à un moment programmé.
Le prix
A la base, App Engine est gratuit et sans publicité. Les limites se situent sur les ressources CPU et le stockage alloués à vos applications (vous pouvez en avoir 10 au maximum). L’url de votre application se fini toujours par appspot.google.com.
Si vous achetez un nom de domaine, vous pouvez très bien faire votre site personnel (même s’il n’est composé que de pages HTML) sur App Engine et ensuite rediriger votre domaine vers l’application. Votre site supportera très bien, voire mieux, des grosses montées en charge grâce au cloud de Google.
Rien ne vous empêche par la suite d’acheter du temps CPU, du stockage ou des options (comme par exemple éviter le “démarrage à froid” de la base de données).
Comment développer ?
Les fidèles du développement web en java ne seront pas perdus. Un SDK et un plugin pour eclipse sont disponibles (http://code.google.com/intl/fr-FR/appengine/). Reste ensuite à vous de faire les pages web et les servlets qui correspondent à vos besoins.
En un seul clic sur un bouton (), votre application est déployée sur le cloud de Google et immédiatement accessible. Difficile de faire plus simple.