Google App Engine

37

description

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/

Transcript of Google App Engine

Page 1: Google App Engine
Page 2: Google App Engine
Page 3: Google App Engine

Efficacité énergétique (PUE)

1,12

1,15

1,18

1,20

1,23

2009 2010 2011

Moyenne 12 mois Moyenne 3 mois

1.16

1.14

Source: http://www.google.com/about/datacenters

Page 4: Google App Engine
Page 5: Google App Engine

PaaS Platform as a Service

SaaS Software as a Service

PaaS Platform as a Service

IaaS Infrastructure as a Service

SaaS Software as a Service

IaaS Infrastructure as a Service

plateforme de dév.

logiciel

serveur

Page 6: Google App Engine

Deploy

http://www.yourdomain.com/

1

2

Page 7: Google App Engine

(Rapide) Démo

Page 8: Google App Engine

Montée en charge automatique

UserApp

EngineFront-end

App'sRuntime

User

User

User

App'sRuntime

User

App'sRuntime

Page 9: Google App Engine

Sécurité

• 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

Question: votre société peut-elle investir plus que Google en sécurité informatique ?

Page 10: Google App Engine
Page 13: Google App Engine

Les gènes de Google AppEnginene sont pas J2EE

Page 14: Google App Engine

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.

Page 15: Google App Engine

3B+ Requests / day300k+ Apps100k+ Developers

2008 2009 2010 2011

Memcache

Go Runtime

ISAE3402Type II

Certification

HTTPS

XMPPEmail

HighReplicationDatastore

ChannelAPI

Backends

Pull Queues

Appstats

TaskQueues

NamespacesAPIJava Runtime

Python Runtime

Page 16: Google App Engine

Puissance de calcul et service spécialisés

FrontendsBackendsTask QueuesCron

Compute Network

URL FetchXMPPChannel APIMail API

Storage

DatastoreMemcacheNamespaces BlobstoreCloud SQLStatic content

Services

Images APIApp IdentityUsers APIMapReduce APIPipeline APIProspective Search API

Page 17: Google App Engine

Frontends & BackendsTask Queue & Cron

Compute

App Engine

Frontend

App Engine

Frontend

App Engine

Backend

App Engine

Backend

ClientClient

ClientClient

Push (Task) Queues / Cron

Pull (Task) Queues

App Engine

Frontend

App Engine

FrontendApp

EngineBackend

App Engine

Backend

Page 18: Google App Engine

‣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

Page 19: Google App Engine

LimitesTaille 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

Page 20: Google App Engine

Storage Services

CloudSQL

Blobstore

Datastore

Memcache

Page 21: Google App Engine

DatastoreNoSQL, 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

Page 22: Google App Engine

CloudSQLMySQL 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

Page 23: Google App Engine

MemcacheCache mémoire distribué, hautement scalable, toujours disponible

Complément indispensable du Datastore ou de CloudSQL

Zéro gestion

API simple, ou JSR 107 (JCache)

2ms

20ms

ClientClientApp

EnginApp

EnginApp

EnginApp

Engine

Page 24: Google App Engine

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”

NetworkServices réseau

Page 25: Google App Engine

Service “Images” Services

Page 26: Google App Engine

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

Page 27: Google App Engine

Autres ServiceMapReduce

Prediction API

Conversion de documents (PDF, HTML, images, ...)

OAuth

Traffic Splitting

Namespaces (Multitenancy)

LogService API

...

Page 28: Google App Engine
Page 29: Google App Engine

Bonnes Pratiques pour le Cloud...

Page 30: Google App Engine

Appstats

Page 31: Google App Engine

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

‣ ...

Page 32: Google App Engine

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...

Page 33: Google App Engine

Autres optimisationsCaching‣ 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

Page 34: Google App Engine

✓ Produit Supporté (Novembre 2011)

✓ Engagement sur SLA 99.95%

✓ Support opérationnel dédié

✓ Securité sans cesse renforcée

✓ Forte Croissance ...

L’Histoire ne fait que débuter

Page 35: Google App Engine

Google App Engine“We wear pagers so

you don’t have to”

Page 36: Google App Engine

Le Cloud basé sur l’infrastructure Google

Alexis [email protected] Relations Manager France