Cet article est uneébauche concernant unlogiciel.
Pour les articles homonymes, voirGAE.
| Développé par | |
|---|---|
| Dernière version | 1.9.0 () |
| Écrit en | Python |
| Environnement | World Wide Web |
| Type | Programmation Web |
| Site web | site officiel |
Google App Engine (GAE) est une plateforme deconception et d'hébergement d'applications web basée sur lesserveurs deGoogle.
Lapremière version de ce service (appelée 'beta'), est sortie enavril 2008, avec la possibilité d'enregistrer uniquement des comptes gratuits[1]. L'offre de cette première version propose 500Mo de stockage persistant, et suffisamment debande passante et de capacités de calcul pour servir 5 millions de pages par mois. Toutefois il est possible d'acheter davantage de ressources.
Depuis, de nombreuses fonctionnalités sont venues étayer l'offre de ce service ainsi que des outils facilitant le développement et la gestion des applications.
:
:
:
:
:
:
:
:
:
Google App Engine permet entre autres la création debase de données (appeléesdatastore) et la gestion des utilisateurs.

La figure présente de manière globale le fonctionnement de la plate-forme. Les requêtes sont traitées par le Load Balancer qui a pour rôle de répartir les charges sur les différents Clusters à tolérance de pannes.
Pour la partie persistance, la base de données DataStore repose sur le SGBD,BigTable, développé en interne par Google. Le langage de requêtes associé à BigTable est GQL (Google Query Langage).
Cette gestion des utilisateurs est une extension de celle utilisée par Google : l'utilisateur s'authentifie en utilisant son compte Google (Gmail par exemple). Les applications créées ne sont ainsi pas amenées à gérer la création des comptes, lagestion des données utilisateur ou la récupération des mots de passe. Ce service, libère aussi le développeur d'application de négocier lasécurité avec l'utilisateur. Cela permet aussi à l'utilisateur final de ne pas avoir à s'authentifier lorsqu'il visite un nouveau service App Engine.
Afin de protéger le système, les applications sont exécutées dans unSandbox. Ce qui implique certaines contraintes :
Au moment du lancement, seule l'utilisation dePython au travers d'une version limitée duframework web Django, du framework webwebapp proposé par Google (c'est celui qu'utilise letutoriel) ou sans framework web : un simple CGI en Python suffit. L'interfaceWeb Server Gateway Interface (WSGI) est aussi disponible. Google a indiqué que, dans le futur, d'autres langages seraient disponibles.
Les outils fournis par google :Le SDKopen source (souslicence Apache) contient un serveur de développement ainsi que divers utilitaires pour gérer l'application sur le serveur de Google.Pour programmer une application Google App Engine Java, il existe unplugin pour Eclipse qui permet de développer et de mettre en ligne l’application. Le support du serveur de développement est disponible pourNetbeans.
Pour créer unhello world avec Google app Engine, utilisant le "framework" webapp :
fromgoogle.appengine.extimportwebappfromgoogle.appengine.ext.webapp.utilimportrun_wsgi_appclassMainPage(webapp.RequestHandler):defget(self):self.response.headers['Content-Type']='text/plain'self.response.out.write('Hello, webapp World!')application=webapp.WSGIApplication([('/',MainPage)],debug=True)defmain():run_wsgi_app(application)if__name__=="__main__":main()
Exemple de code pour uneservlet helloworld :
packagehelloworld;importjava.io.IOException;importjavax.servlet.http.*;publicclassHelloServletextendsHttpServlet{publicvoiddoGet(HttpServletRequestreq,HttpServletResponseresp)throwsIOException{resp.setContentType("text/plain");resp.getWriter().println("Hello ");}}
Google fournit pour différentslangages de programmation un ensemble d’API permettant d’accéder à différents services.
Les services Google App Engine de base sont gratuits, mais soumis à des quotas. Il est possible d’acheter un quota plus large pour chaque service.Le tableau ci-dessous indique les quotas gratuits et payants pour les requêtes et les accès en base de données.
| Service | Quota gratuit / jour | Maximum du quota payant / jour |
|---|---|---|
| Nombre de requêtes | 1 300 000 | 43 000 000 |
| Bande passante entrante | 1 GB | 1 046 GB |
| Bande passante sortante | 1 GB | 1 046 GB |
| Temps CPU | 6.5 heures | 1 729 heures |
| Nombre d’appels à la base de données | 10 000 000 | 140 000 000 |
| Taille des données | 1 GB | Pas de maximum |
En, Google ajoute une base de données SQL sans entretien, qui supporte JDBC et DB-API[2]. Ce service vous permet de créer, configurer et utiliser desbases de données relationnelles avec les applications App Engine.Moteur de base de donnéesMySQL version 5.1.59 et la base de données ne doit pas être supérieure à 10 Go[3].
Le service Google App Engine vient concurrencer ceux d'Amazon nomméAmazon Web Services (AWS) et de Microsoft nomméWindows Azure. Ce sont des lots de services applicatifs qui permettent à une application web de stocker des données et d'exécuter du code sur leurs serveurs respectifs.
Beaucoup d'analystes techniques avaient prédit l'arrivée de Google dans ce créneau.« Google finally realizes it needs to be the web platform » a écrit Mike Masnick, qui publie leblog Techdirt[4].
Sur les autres projets Wikimedia :
| |||||
| Moteur de recherche | |||||
| Services en ligne |
| ||||
| Applications | |||||
| Logiciels | |||||
| Matériels | |||||
| Outils | |||||
| Publicité |
| ||||
| Outils de développement | |||||
| Magasins | |||||
| Autres activités | |||||
| Anciens produits | |||||
| Lieux | |||||
| Articles liés | |||||
| Voir aussi :Alphabet Inc. | |||||