Google App Engine/ɛn.dʒin/L’introduction
En 15 secondes...Google App Engine permet aux développeurs de bâtir desapplications web sur les mêmes infrastructures scal...
En ~30 minutes•   La plateforme•   Les APIs•   La tarification•   Quelques scénarios
Google App EngineLa plateforme
Position dans le Cloud                       Application                Plateforme     Infrastructure                     ...
Plateforme d’actualité   Support communautaire de Google      ‣   Blog      ‣   Groups   Mises à jour du SDK      ‣   9 MA...
Facilité à scaler
Facilité àd’utilisateursDouleur vs nombre                  scaler           App Engine                                    ...
Les langages
Les frameworks• Grails                 • Django• Play!                 • web.py• Spring MVC
Comment ça marche?  Phase 1: Développer  Phase 2:   ?  Phase 3: Profit!
Limitations   • Aucune écriture sur le système de fichier   • Aucun socket   • 30 secondes d’exécution   • Tout doit passer...
Google App EngineLes APIs
Les APIs• Datastore (BD non relationnelle)   • Mail (envoi, réception)• Blobstore (gros fichiers)           • URLFetch• Mem...
DatastoreC’est quoi?• BigTagle : key-value storage• Architecture distribuée• Performance et disponibilité variable• Optimi...
DatastoreLes limitations• Pas de fonction d’agrégat• Pas de jointure• Latence élevée• 1 mb max / entité• 1 mb max / appel ...
Datastore entitéExemple : Déclarer une  from google.appengine.ext import db  class Message(db.Expando):    de   =   db.Ema...
Datastore entitéExemple : Enregistrer une  m = Message(                                    m = Message(      de          =...
Datastore des entitésExemple : Obtenir et supprimer  #Obtenir 2 entités où Message.de = un.sender@dom.com  requete = Messa...
Blobstore   • Supporte HTML5 multiple file input   • Jusqu’à 2 Go   • Ne permet aucun autre input à part     celui du fichier
Memcache  • Rapide, sauf latence  • Persistance non garantie  • Sauve du temps et de l’argent  • 1 mb max par entité
Taskqueue  • 30 secondes 10 minutes par task  • Parallélisme  • Chaque tâche doit être    idempotente
Google App EngineLa tarification
Gratuité• Bande passante et CPU               Ressource                 Quota        Prix / mois  pour env. 5 millions de ...
Tarificationvous utilisezPayez uniquement ce queRessource                 Unité          AppEngine     AmazonBande passante...
Google App EngineScénarios
Les scénariosBon cas d’utilisation        Backend pour conserver les scores d’un jeu        sur plateforme mobile        ‣...
Les scénariosMoins bon cas d’utilisation        Application de gestion d’inventaire,        de fournisseurs et de facturat...
Google App EngineRetour
Questions?Commentaires?@JimmyBourassa sur Twitterjbourassa sur GitHubjimmy.bourassa@hooktstudios.com
Prochain SlideShare
Chargement dans…5
×

Introduction à Google App Engine - WAQ 2011

1 362 vues

Publié le

Publié dans : Technologie
0 commentaire
0 j’aime
Statistiques
Remarques
  • Soyez le premier à commenter

  • Soyez le premier à aimer ceci

Aucun téléchargement
Vues
Nombre de vues
1 362
Sur SlideShare
0
Issues des intégrations
0
Intégrations
5
Actions
Partages
0
Téléchargements
30
Commentaires
0
J’aime
0
Intégrations 0
Aucune incorporation

Aucune remarque pour cette diapositive

Introduction à Google App Engine - WAQ 2011

  1. 1. Google App Engine/ɛn.dʒin/L’introduction
  2. 2. En 15 secondes...Google App Engine permet aux développeurs de bâtir desapplications web sur les mêmes infrastructures scalable quisont derrière les applications de Google.
  3. 3. En ~30 minutes• La plateforme• Les APIs• La tarification• Quelques scénarios
  4. 4. Google App EngineLa plateforme
  5. 5. Position dans le Cloud Application Plateforme Infrastructure EC2
  6. 6. Plateforme d’actualité Support communautaire de Google ‣ Blog ‣ Groups Mises à jour du SDK ‣ 9 MAJs dans la dernière année Pas de support commercial
  7. 7. Facilité à scaler
  8. 8. Facilité àd’utilisateursDouleur vs nombre scaler App Engine Douleur Architecture régulière Nombre d’utilisateurs
  9. 9. Les langages
  10. 10. Les frameworks• Grails • Django• Play! • web.py• Spring MVC
  11. 11. Comment ça marche? Phase 1: Développer Phase 2: ? Phase 3: Profit!
  12. 12. Limitations • Aucune écriture sur le système de fichier • Aucun socket • 30 secondes d’exécution • Tout doit passer en HTTP • Pas de SSL pour les domaines personnalisés
  13. 13. Google App EngineLes APIs
  14. 14. Les APIs• Datastore (BD non relationnelle) • Mail (envoi, réception)• Blobstore (gros fichiers) • URLFetch• Memcache • ...• TaskQueue (background workers)
  15. 15. DatastoreC’est quoi?• BigTagle : key-value storage• Architecture distribuée• Performance et disponibilité variable• Optimisé pour la lecture• Transactions avec limitations• API facile d’utilisation
  16. 16. DatastoreLes limitations• Pas de fonction d’agrégat• Pas de jointure• Latence élevée• 1 mb max / entité• 1 mb max / appel à l’API
  17. 17. Datastore entitéExemple : Déclarer une from google.appengine.ext import db class Message(db.Expando): de = db.EmailProperty(required=True) a = db.EmailProperty(required=True)
  18. 18. Datastore entitéExemple : Enregistrer une m = Message( m = Message( de = un.sender@dom.com, de = un.sender@dom.com, a = un.receiver@dom.com, a = un.receiver@dom.com, message = Hello World!, message = Hello World!, priorite = 0 priorite = URGENT, ) pjs = [chat.jpg, chien.jpg] m.put() ) print m m.put() print m # ------------------------ # ------------------------ # Message # Message # De : un.sender@dom.com # De : un.sender@dom.com # A : un.receiver@dom.com # A : un.receiver@dom.com # Priorite : 0 # Priorite : URGENT # Pjs : [chat.jpg, chien.jpg]
  19. 19. Datastore des entitésExemple : Obtenir et supprimer #Obtenir 2 entités où Message.de = un.sender@dom.com requete = Message.all().filter(de, un.sender@dom.com) messages = requete.fetch(2) print messages # ------------------------ #[<Message object at ...>, <Message object at ...>] #Supprimmer les entités db.delete(messages) messages = requete.fetch(2) print messages # ------------------------ #[]
  20. 20. Blobstore • Supporte HTML5 multiple file input • Jusqu’à 2 Go • Ne permet aucun autre input à part celui du fichier
  21. 21. Memcache • Rapide, sauf latence • Persistance non garantie • Sauve du temps et de l’argent • 1 mb max par entité
  22. 22. Taskqueue • 30 secondes 10 minutes par task • Parallélisme • Chaque tâche doit être idempotente
  23. 23. Google App EngineLa tarification
  24. 24. Gratuité• Bande passante et CPU Ressource Quota Prix / mois pour env. 5 millions de pages Données du Blobstore 1 gig $0.15• Limitations importantes au niveau Données du Datastore 1 gig $0.15 de l’espace de stockage Bande passante entrante 1 gig / j. $3.00 Bande passante sortante 1 gig / j. $3.60 Courriels envoyés 2000 / j. $6.00 CPU 6.5 h / j. $9.50 Total mensuel $22.40
  25. 25. Tarificationvous utilisezPayez uniquement ce queRessource Unité AppEngine AmazonBande passante sortante gig $0.12 $0.08 - $0.15Bande passante entrante gig $0.10 $0.10Temps CPU Heure CPU $0.10 $0.14Données sauvegardées gig/mois $0.15 $0.25Courriel envoyé destinataire $0.0001 $0.0001
  26. 26. Google App EngineScénarios
  27. 27. Les scénariosBon cas d’utilisation Backend pour conserver les scores d’un jeu sur plateforme mobile ‣ Application non-critique ‣ Le nombre de clients peut changer d’ordre de magnitude rapidement ‣ Peu de relations entre les entités ‣ Gratuit pour une bonne période
  28. 28. Les scénariosMoins bon cas d’utilisation Application de gestion d’inventaire, de fournisseurs et de facturation ‣ Application critique ‣ L’ordre de magnitude est peu sujet à changement ‣ Beaucoup de relations entre les entités
  29. 29. Google App EngineRetour
  30. 30. Questions?Commentaires?@JimmyBourassa sur Twitterjbourassa sur GitHubjimmy.bourassa@hooktstudios.com

×