20
Google App Engine M1IF38 – Programmation Web avancée et mobile Vi-Nam KHUONG– Aurélien LEVISSE – Romain MONTERO

Google App Engine - Centre national de la recherche ... · Google App Engine Avril 2008 : version beta / Novembre 2011 : version officielle ! Cloud de type PaaS ! Langages supportés

  • Upload
    others

  • View
    6

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Google App Engine - Centre national de la recherche ... · Google App Engine Avril 2008 : version beta / Novembre 2011 : version officielle ! Cloud de type PaaS ! Langages supportés

Google App EngineM1IF38 – Programmation Web avancée et mobile

Vi-Nam KHUONG– Aurélien LEVISSE – Romain MONTERO

Page 2: Google App Engine - Centre national de la recherche ... · Google App Engine Avril 2008 : version beta / Novembre 2011 : version officielle ! Cloud de type PaaS ! Langages supportés

Sommaire!

● Notion de cloud!● App Engine ● Services!● Application ● Démonstration!● Conclusion

2

Vi-Nam KHUONG - Aurélien LEVISSE - Romain MONTERO

Page 3: Google App Engine - Centre national de la recherche ... · Google App Engine Avril 2008 : version beta / Novembre 2011 : version officielle ! Cloud de type PaaS ! Langages supportés

Le Cloud

● Déporter la charge de travail ● Utiliser la puissance de serveurs distants!!

● Redimensionnement rapide ● Instance d’un nouveau serveur et mise en route en

quelques minutes !

● Plus de préoccupation pour les problèmes physiques

3

« We didn’t care where the messages went… the cloud hid it from us. » Kevin Marks, Google

Vi-Nam KHUONG - Aurélien LEVISSE - Romain MONTERO

Page 4: Google App Engine - Centre national de la recherche ... · Google App Engine Avril 2008 : version beta / Novembre 2011 : version officielle ! Cloud de type PaaS ! Langages supportés

Le Cloud● Trois types différents :

● IaaS (Infrastructure as a Service) : location de moyens de calcul et de stockage avec contrôle des systèmes d’exploitation, des stockages et des applications. Ex: Amazon Web Service.!!

● PaaS (Platform as a Service) : pas de contrôle des serveurs, du stockage. Ex : Google App Engine.!!

● SaaS (Software as a Service) : aucun contrôle de l’utilisateur. Ex : Gmail.

4

Vi-Nam KHUONG - Aurélien LEVISSE - Romain MONTERO

Page 5: Google App Engine - Centre national de la recherche ... · Google App Engine Avril 2008 : version beta / Novembre 2011 : version officielle ! Cloud de type PaaS ! Langages supportés

Le Cloud● Quelques grands services de cloud computing :

5

Vi-Nam KHUONG - Aurélien LEVISSE - Romain MONTERO

Page 6: Google App Engine - Centre national de la recherche ... · Google App Engine Avril 2008 : version beta / Novembre 2011 : version officielle ! Cloud de type PaaS ! Langages supportés

Google App Engine● Avril 2008 : version beta / Novembre 2011 : version

officielle !

● Cloud de type PaaS !

● Langages supportés : Python, Java, PHP, Go !

● Gratuit (1Go – 5 millions de pages vues par mois)

6

Vi-Nam KHUONG - Aurélien LEVISSE - Romain MONTERO

Page 7: Google App Engine - Centre national de la recherche ... · Google App Engine Avril 2008 : version beta / Novembre 2011 : version officielle ! Cloud de type PaaS ! Langages supportés

7

Fonctionnement● A r r i v é e s u r l e

« répartiteur de charge » !

● Recherche d’un serveur disponible !

● Accès au DataStore si besoin

Vi-Nam KHUONG - Aurélien LEVISSE - Romain MONTERO

Page 8: Google App Engine - Centre national de la recherche ... · Google App Engine Avril 2008 : version beta / Novembre 2011 : version officielle ! Cloud de type PaaS ! Langages supportés

Services● Google Accounts API

!● Connexion avec n’importe quel compte Gmail !

● Limitation à un domaine !

● Connexion avec un compte OpenID

8

Vi-Nam KHUONG - Aurélien LEVISSE - Romain MONTERO

Page 9: Google App Engine - Centre national de la recherche ... · Google App Engine Avril 2008 : version beta / Novembre 2011 : version officielle ! Cloud de type PaaS ! Langages supportés

Services● Task Queues !● Gestion asynchrone de tâches à exécuter par App

Engine !

● Donner plus de temps pour les requêtes lourdes et non « primordiales ».

9

Vi-Nam KHUONG - Aurélien LEVISSE - Romain MONTERO

Page 10: Google App Engine - Centre national de la recherche ... · Google App Engine Avril 2008 : version beta / Novembre 2011 : version officielle ! Cloud de type PaaS ! Langages supportés

Services● Cron

● Planificateur de tâches

10

Page 11: Google App Engine - Centre national de la recherche ... · Google App Engine Avril 2008 : version beta / Novembre 2011 : version officielle ! Cloud de type PaaS ! Langages supportés

Services● Cron

● Protéger les urls

11

Page 12: Google App Engine - Centre national de la recherche ... · Google App Engine Avril 2008 : version beta / Novembre 2011 : version officielle ! Cloud de type PaaS ! Langages supportés

Services● Mail API !

● Search API !

● Sockets API !

● …

12

Vi-Nam KHUONG - Aurélien LEVISSE - Romain MONTERO

Page 13: Google App Engine - Centre national de la recherche ... · Google App Engine Avril 2008 : version beta / Novembre 2011 : version officielle ! Cloud de type PaaS ! Langages supportés

DataStore● High Replication Datastore ● NoSQL ● Entité : Clé/Valeur ● Opérations :

● Get ● Put ● Delete ● query

13

Page 14: Google App Engine - Centre national de la recherche ... · Google App Engine Avril 2008 : version beta / Novembre 2011 : version officielle ! Cloud de type PaaS ! Langages supportés

Connexion

14

Vi-Nam KHUONG - Aurélien LEVISSE - Romain MONTERO

Page 15: Google App Engine - Centre national de la recherche ... · Google App Engine Avril 2008 : version beta / Novembre 2011 : version officielle ! Cloud de type PaaS ! Langages supportés

Base de données

15

Possibilité d’utiliser ou non la bibliothèque « persistence » de Java

Vi-Nam KHUONG - Aurélien LEVISSE - Romain MONTERO

Page 16: Google App Engine - Centre national de la recherche ... · Google App Engine Avril 2008 : version beta / Novembre 2011 : version officielle ! Cloud de type PaaS ! Langages supportés

Ajout d’un message

16

Avec « persistence » Avec la librairie Google

Vi-Nam KHUONG - Aurélien LEVISSE - Romain MONTERO

Page 17: Google App Engine - Centre national de la recherche ... · Google App Engine Avril 2008 : version beta / Novembre 2011 : version officielle ! Cloud de type PaaS ! Langages supportés

Récupération d’un message

17

Avec « persistence »

Avec la librairie Google

Vi-Nam KHUONG - Aurélien LEVISSE - Romain MONTERO

Page 18: Google App Engine - Centre national de la recherche ... · Google App Engine Avril 2008 : version beta / Novembre 2011 : version officielle ! Cloud de type PaaS ! Langages supportés

Démonstration● http://mif38-demo.appspot.com

18

Vi-Nam KHUONG - Aurélien LEVISSE - Romain MONTERO

Page 19: Google App Engine - Centre national de la recherche ... · Google App Engine Avril 2008 : version beta / Novembre 2011 : version officielle ! Cloud de type PaaS ! Langages supportés

Bilan● Avantages

● Gratuit pour faibles fréquences d’utilisation !

● Pratique pour sites d’associations / Clubs / CV !

● Beaucoup d’API !

● Puissance de Google

19

Vi-Nam KHUONG - Aurélien LEVISSE - Romain MONTERO

Page 20: Google App Engine - Centre national de la recherche ... · Google App Engine Avril 2008 : version beta / Novembre 2011 : version officielle ! Cloud de type PaaS ! Langages supportés

Vi-Nam KHUONG - Aurélien LEVISSE - Romain MONTERO

Bilan● Inconvénients

● Choix des technologies (langage, IDE) !

● Peu de documentation !

● Confier des informations à Google !

● Base de données NoSQL pour rester gratuit

20