Alexis Moussine-Pouchkine, Developer Relation chez Google, présente Google App Engine.
Le pionnier des PaaS se bonifie avec l’age. Toujours zéro config et 100% haute-dispo, choix des langages, NoSQL et/ou SQL, API enrichies et services toujours plus nombreux, venez déguster la cuvée 2012!
La vidéo de la présentation est disponible ici : TODO
Le Xebia Cloud Day 2012 est une conférence gratuite dédiée au Cloud Computing focalisée sur l'écosystème Java.
http://blog.xebia.fr/22-mai-2012-cloud-day-chez-xebia/
5. SaaS
SaaS gic i el Software as a Service
Software as a Service
lo
év.
ed
PaaS ed Platform as a Service
teform
pla
IaaS
IaaS rveur Infrastructure as a Service
Infrastructure as a Service
se
8. Montée en charge automatique
User
User App's
Runtime
App App's
User Engine Runtime
Front-end
App's
User Runtime
User
9. Sécurité
Question: votre société peut-elle investir
plus que Google en sécurité informatique ?
• Certifications SAS70, SSAE-16 et ISAE3402
• Google est une acteur majeur en R&D dans le domaine de la sécurité informatique
• Livre blanc: http://www.google.com/about/datacenters/inside/data-security.html
12. Milliers de requêtes par seconde
Préchargé dans Kindle Fire
Traffic attendu x2
App Engine
http://googleappengine.blogspot.com/
2011/11/scaling-with-kindle-fire.html
14. Google AppEngine :
Serveur d'applications Cloud
JAVA côté serveur. JAVA côté client grâce à GWT.
Environnement de développement intégré avec ECLIPSE.
15. 3B+ Requests / day
300k+ Apps
100k+ Developers
2008 2009 2010 2011
High
Memcache Task Replication
Queues Datastore
HTTPS Appstats Go Runtime
Channel
XMPP Namespaces API ISAE3402
Python Runtime
Java Runtime Email API Type II
Certification
Backends
Pull Queues
16. Puissance de calcul et service spécialisés
URL Fetch
Frontends
XMPP
Compute Backends Network
Channel API
Task Queues
Mail API
Cron
Datastore Images API
Memcache App Identity
Storage Services
Namespaces Users API
Blobstore MapReduce API
Cloud SQL Pipeline API
Static content Prospective Search API
18. ‣ Utilise la même stack que Google pour lire le Web
‣ HTTP: GET, POST, PUT, HEAD, DELETE
‣ En synchrone ou asynchrone
‣ Avec délais:
- 60 secondes pour requêtes utilisateurs
- 10 minutes: cron, task queue
19. Limites
Taille max des fichiers
‣ 32MB en upload
‣ 5MB en URLFetch POST
Délai Frontend
‣ 60 secondes
Nombre de fichiers par applications
‣ 10 000
Blobstore illimité
x2 et au delà depuis la sortie des Labs
21. Datastore
NoSQL, sans schéma
Si vous connaissez HashTable, vous maitrisez déjà Datastore
Stockage transactionnel d’objets (entités)
Basé sur Google File System et BigTable
Réplication synchrone sur plusieurs Data Centers
HRD (High Replication Datastore), 100% de disponibilité sur un an*
http://googleappengine.blogspot.fr/2012/01/happy-birthday-high-replication.html
22. CloudSQL
MySQL distribué à la mode Google
Zéro gestion
Console développeur
Réplication synchrone sur plusieurs Data Centers
Intégration à Google AppEngine
‣ JDBC
‣ JPA 2.0 (EclipseLink, Hibernate, Spring...)
MySQL Import / export
Co-existance avec Datastore
23. Memcache
Cache mémoire distribué, hautement scalable, toujours disponible
Complément indispensable du Datastore ou de CloudSQL
Zéro gestion
API simple, ou JSR 107 (JCache)
s
2m
App
App
Client
Client App
Engin
App
Engin
Engin
Engine 20m
s
24. Services réseau Network
XMPP / Jabber
‣ Envoi/Réception de messages
‣ Invitation à converser
‣ Gestion de la présence, statut
Channel API
‣ Notification depuis le serveur (push)
Mail API
‣ Envoi et réception
Cas d’usage
‣ Automate de conversation
‣ Notification en temps réel
‣ Fonction de “Chat”
26. Full-Text Search (beta)
Effectuer des recherches “Google” sur du contenu non structuré
Processus :
1/ Indexation du contenu sous forme de documents
‣ Définition d’index
‣ Ordre naturel ou explicite
2/ Construction et execution des requêtes
3/ Présentation des résultats
‣ Options de tri
‣ Gestion des curseurs et de la pagination
Quotas
27. Autres Service
MapReduce
Prediction API
Conversion de documents (PDF, HTML, images, ...)
OAuth
Traffic Splitting
Namespaces (Multitenancy)
LogService API
...
31. Ecrire pour le Cloud
‣ ThreadSafe (Java, Python 2.7)
‣ Sharding des entités souvent mises à jour
‣ Accéder directement aux entités
‣ Pagination et curseurs pour de larges
quantités de données
‣ Utilisation de Memcache
‣ ...
32. Tester (pour le Cloud)
Montée en charge
‣ Utiliser un traffic représentatif
‣ Utiliser une phase de rampup
‣ Simuler 5 requêtes par seconde et s’assurer de :
- latence faible et stable
- pas de souci de quota
- pas ou peu d’erreurs
- pas de contention base de données
- bon calibrage des task queues
‣ Puis doubler le traffic et recommencer...
33. Autres optimisations
Caching
‣ Remplacer le contenu dynamique par du contenu statique
‣ Utiliser le caching HTTP/1.1
Coté client
‣ Utiliser des temps aléatoires de “retry”
‣ Utiliser des horaires aléatoires de “call home”
Tuning du cloud
‣ Nouveaux outils dans la console pour trouver le meilleur
compromis entre performance et coût
34. L’Histoire ne fait que débuter
✓ Produit Supporté (Novembre 2011)
✓ Engagement sur SLA 99.95%
✓ Support opérationnel dédié
✓ Securité sans cesse renforcée
✓ Forte Croissance ...