20120402 nantes gtug - app engine

1,855 views
1,762 views

Published on

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
1,855
On SlideShare
0
From Embeds
0
Number of Embeds
900
Actions
Shares
0
Downloads
14
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide
  • Lookup by ID is 4 to 5x faster than by doing a query
  • 20120402 nantes gtug - app engine

    1. 1. Jerome Mouton@jlmoutonjerome.mouton@snapengage.com
    2. 2.  Un peu d’histoire, IaaS, PaaS et AppEngine Présentation de la plateforme, les API et services Bonnes pratiques Bye bye les aprioris
    3. 3.  Serveurs dans co-location ◦ Gestion du matériel ◦ Administration système ◦ Dimensionnement? Plus de cables… virtual servers Virtual private servers (VPS) ◦ Plus de matériel à gérer ◦ Administration système ◦ Dimensionnement complexe
    4. 4. Load balancer
    5. 5. Load balancer
    6. 6.  SDK Matériel Réseau Système d’exploitation Application runtime: Python, Java, Go Static file serving Services Load balancing et tolérance de panne
    7. 7.  Construit au dessus de BigTable ◦ Un sorted array plus qu’une DB relationnelle ◦ Optimisé pour des opérations de lecture High Replication Datastore ◦ Copié en temps réel vers plusieurs data centers ◦ Basculement automatique sur autre DC si latence ◦ Pas d’arrêt/read-only en cas de maintenance
    8. 8.  Exécution simple de taches Moins de contraintes de temps d’exécution Réexécution en cas d’échec Choix de push et pull-queues
    9. 9.  Cross compilation Java vers JavaScript ◦ Langage unique pour frontend et backend ◦ Optimise le JavaScript pour chaque type de navigateur RPCs vers AppEngine Dans le SDK AppEngine ◦ Compilation partielle automatique ◦ Debugging
    10. 10.  Channel API pour long polling ◦ Push de AppEngine vers le client web xmpp API ◦ Intégration avec messagerie instantanée  Très simple avec utilisateurs dans Google Talk  Appels async pour le xmpp généric  Pratique pour communication entre applications
    11. 11.  AppEngine Backends Google Cloud SQL ◦ Une DB non-scalable si vous le voulez réellement  Google Cloud Storage ◦ Service comme S3 (CDN, REST, etc.) ◦ Integration avec AppEngine File API – en preview Prediction API Full Text Search API – en preview
    12. 12.  Requêtes par ID de l’objet Chat currentChat = pm.getObjectById(Chat.class, chatKey); On HRD: cohérence éventuelle Minimiser les accès au datastore ◦ Couteux ◦ Utiliser Memcache (write est 10x, read est 5x) Concevoir pour faire peu de write
    13. 13.  Gérer les exceptions AppEngine API ◦ Datastore ◦ Memcache ◦ Xmpp ◦ Etc. Gérer les exceptions de la plateforme ◦ DeadlineExceededException – error/retry ◦ CapabilityDisabledException – maintenance
    14. 14.  Utiliser services externes quand intéressant Les services non-Google utilisés SnapEngage: ◦ SendGrid - email ◦ MaxMind - geo ◦ ReportGrid / Precog - visualisation ◦ Twilio - telephonie
    15. 15.  Support de base sur Mailing list, IRC, StackOverflow, etc. Support Premium pour $500/mois ◦ Support opérationnel et pour développeurs ◦ Du Lundi au Vendredi Google Developer Advocates
    16. 16.  Migrer vers une nouvelle infrastructure est toujours couteux Certains services spécifiques à GAE (taskqueues, xmpp, etc.) mais gain de temps lors du développement initial Ne pas utiliser les Google Accounts
    17. 17.  Prix ultra attractif pendant la période de preview Augmentation dans le second semestre 2011 Prix total cependant toujours compétitif: Cout du service – dev des services – cout personnel IT
    18. 18.  Dimensionnement automatique (scalability) sans effort Permet a votre startup de se concentrer sur ce qui est important Plateforme AppEngine est maintenant robuste
    19. 19.  Démo rapide du dashboard AppEngine Démo rapide de la API Console Petit tour dans Eclipse et le GAE plugin Questions?

    ×