Movatterモバイル変換


[0]ホーム

URL:


Aller au contenu
Wikipédial'encyclopédie libre
Rechercher

Google App Engine

Un article de Wikipédia, l'encyclopédie libre.

Cet article est uneébauche concernant unlogiciel.

Vous pouvez partager vos connaissances en l’améliorant (comment ?) selon les recommandations desprojets correspondants.
Page d’aide sur l’homonymie

Pour les articles homonymes, voirGAE.

Google App Engine
Description de l'image Google App Engine icon.jpg.

Informations
Développé parGoogle
Dernière version1.9.0 ()
Écrit enPythonVoir et modifier les données sur Wikidata
EnvironnementWorld Wide Web
TypeProgrammation Web
Site website officiel

modifier -modifier le code -voir Wikidata(aide)

Google App Engine (GAE) est une plateforme deconception et d'hébergement d'applications web basée sur lesserveurs deGoogle.

Historique

[modifier |modifier le code]

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.

 :

  • Premier lancement du service Google App Engine fournissant des outils de développement ainsi que les API pour le langagePython.
  • Sortie de la première version du SDK.

 :

  • L'outil Google App Engine Launcher est disponible surMacOS.
  • Ajout des APIs Image Manipulation et MemCache.
  • Les inscriptions au service sont désormais ouvertes au public.

 :

  • Possibilité d’héberger jusqu’à 10 applications au lieu de 3.
  • Possibilité d’exporter les logs.

 :

  • Outils de monitoring pour chaque application (temps CPU utilisé, niveau d’utilisation du disque, bande passante du réseau consommée,…).

 :

 :

  • Possibilité de planifier des tâches automatiques avec l’API Task Queue.
  • Support deDjango

 :

  • Support du protocoleXMPP (messagerie instantanée)
  • Python Google App Engine Launcher disponible surWindows.

 :

  • Réception des emails directement depuis l'application.

 :

  • Support officiel du produit parGoogle (qui n'est plus enbêta)

Fonctionnement

[modifier |modifier le code]

Google App Engine permet entre autres la création debase de données (appeléesdatastore) et la gestion des utilisateurs.

Fonctionnement général

[modifier |modifier le code]
Architecture du Google App Engine
Architecture du Google App Engine

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).

Utilisateurs et sécurité

[modifier |modifier le code]

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.

Sandbox

[modifier |modifier le code]

Afin de protéger le système, les applications sont exécutées dans unSandbox. Ce qui implique certaines contraintes :

  • Les écritures de fichiers ne sont pas autorisées
  • La création de sockets n’est pas autorisée
  • Les applications ne peuvent pas lancer de Threads
  • Les processus tournant depuis plus de 30 secondes sont arrêtés
  • Les extensions C pour Python sont désactivées

Langage de programmation

[modifier |modifier le code]

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.

  • Depuis le, le langageJava est utilisable à partir la version 1.2.0 du SDK.
  • Depuis le, avec la version 1.5.0, est disponible le langageGo (mais encore de façon expérimentale pour l'instant).

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.

Python

[modifier |modifier le code]

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()

Java

[modifier |modifier le code]

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 ");}}

Services

[modifier |modifier le code]

Google fournit pour différentslangages de programmation un ensemble d’API permettant d’accéder à différents services.

  • Memcache : cache au-dessus de la base de données.
  • URL Fetch : pour faire des requêtes HTTP/HTTPS sur un autre serveur.
  • Email : pour envoyer et de recevoir des emails.
  • Images : pour manipuler des images (rotation, dimension etc.)
  • Google Accounts : permet d’utiliser les comptes Google pour des identifications au sein d’une application.
  • XMPP : pour envoyer et recevoir des messages au format XMPP (utilisé dansGoogle Talk)
  • Task Queues : sert à mettre des tâches de fond en file d’attente.
  • Cron : pour la planification des tâches à exécuter de manière récurrente pour, par exemple, envoyer une lettre d'information chaque mois.
  • Channel API : permet de créer une communication entre navigateur et serveur (push). C'est une implémentation deComet avec l'aide d'une bibliothèquejavascript.
  • Backends : pour créer des instances permanentes d'une application avec un accès à plus de mémoire (nouveauté de la version 1.5.0)
  • Pull Queues : comme les Task Queues mais l'application choisit des tâches dans la queue pour les exécuter (au lieu d'être servie) (nouveauté de la version 1.5.0)

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.

Quotas globaux du Google App Engine
ServiceQuota gratuit / jourMaximum du quota payant / jour
Nombre de requêtes1 300 00043 000 000
Bande passante entrante1 GB1 046 GB
Bande passante sortante1 GB1 046 GB
Temps CPU6.5 heures1 729 heures
Nombre d’appels à la base de données10 000 000140 000 000
Taille des données1 GBPas de maximum

Google Cloud SQL

[modifier |modifier le code]

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].

Contexte technologique

[modifier |modifier le code]

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].

Voir aussi

[modifier |modifier le code]

Notes et références

[modifier |modifier le code]
  1. (en)Présentation en anglais du service Google App Engine sur le site officiel.
  2. Google Cloud SQL: votre base de données dans le nuage
  3. [Googlehttp://blog.napagoda.com/2011/10/sample-application-with-google-cloud.html SQL Cloud: Exemple d'application]
  4. (en)Google finally realizes it needs to be the web platform

Liens internes

[modifier |modifier le code]

Liens externes

[modifier |modifier le code]

Sur les autres projets Wikimedia :

v ·m
Moteur de recherche
Services en ligne
Google Workspace
Google Cloud
Applications
Logiciels
Matériels
Outils
Publicité
Google Marketing Platform
Outils de développement
Magasins
Autres activités
Anciens produits
Lieux
Articles liés
Voir aussi :Alphabet Inc.
Ce document provient de « https://fr.wikipedia.org/w/index.php?title=Google_App_Engine&oldid=218208789 ».
Catégories :
Catégories cachées :

[8]ページ先頭

©2009-2026 Movatter.jp