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. 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
11. 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
12.
13.
14. 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
15. 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
16. 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
17. 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
18. 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
19. 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
20. Gérer les exceptions AppEngine API
◦ Datastore
◦ Memcache
◦ Xmpp
◦ Etc.
Gérer les exceptions de la plateforme
◦ DeadlineExceededException – error/retry
◦ CapabilityDisabledException – maintenance
22. 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
23. 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
24. 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
25. Dimensionnement automatique (scalability)
sans effort
Permet a votre startup de se concentrer sur
ce qui est important
Plateforme AppEngine est maintenant robuste
26. Démo rapide du dashboard AppEngine
Démo rapide de la API Console
Petit tour dans Eclipse et le GAE plugin
Questions?
Notes de l'éditeur
Lookup by ID is 4 to 5x faster than by doing a query