SlideShare a Scribd company logo
1 of 37
Download to read offline
Efficacité énergétique (PUE)

            Moyenne 12 mois               Moyenne 3 mois

 1,23

 1,20

 1,18
                                                          1.16
 1,15
                                                          1.14
 1,12
         2009             2010             2011

        Source: http://www.google.com/about/datacenters
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
Deploy

                       1


http://www.yourdomain.com/
                             2
(Rapide) Démo
Montée en charge automatique

                     User
    User                                 App's
                                        Runtime



                               App       App's
           User              Engine     Runtime
                            Front-end



                                         App's
 User                                   Runtime
                  User
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
https://developers.google.com/appengine/docs/billing
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
Les gènes de Google AppEngine
       ne sont pas J2EE
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.
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
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
Frontends & Backends                                  Compute



Task Queue & Cron


                               Pull (Task) Queues

                    App
                     App
                   Engine        Push (Task) Queues / Cron
                    Engine
 Client           Frontend
  Client           Frontend



                                App
                     App          App
                      App      Engine
                                   App
 Client             Engine      Engine
                                    App
  Client             Engine   Frontend
                                  Engine
                   Backend     Frontend
                                   Engine
                    Backend      Backend
                                  Backend
‣ 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
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
Storage Services




              Memcache    Blobstore




              Datastore   CloudSQL
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
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
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
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”
Service “Images”   Services
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
Autres Service
  MapReduce
  Prediction API
  Conversion de documents (PDF, HTML, images, ...)
  OAuth
  Traffic Splitting
  Namespaces (Multitenancy)
  LogService API
  ...
Bonnes Pratiques pour le Cloud...
Appstats
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
   ‣ ...
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...
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
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 ...
Google App Engine
      “We wear pagers so
        you don’t have to”
Le Cloud basé sur l’infrastructure Google



Alexis Moussine-Pouchkine
alexismp@google.com
Developer Relations Manager France
Angry Birds =   +   +   +   +

More Related Content

Viewers also liked

Tk03 Google App Engine Fr
Tk03 Google App Engine FrTk03 Google App Engine Fr
Tk03 Google App Engine FrValtech
 
Google App Engine For Java
Google App Engine For JavaGoogle App Engine For Java
Google App Engine For Javatcouery
 
DNUG2015 Frühjahrskonferenz: Brücken bauen, Grenzen überwinden: Domino im Dia...
DNUG2015 Frühjahrskonferenz: Brücken bauen, Grenzen überwinden: Domino im Dia...DNUG2015 Frühjahrskonferenz: Brücken bauen, Grenzen überwinden: Domino im Dia...
DNUG2015 Frühjahrskonferenz: Brücken bauen, Grenzen überwinden: Domino im Dia...JRibbeck
 
Nuxeo WebEngine : Etude de cas
Nuxeo WebEngine : Etude de casNuxeo WebEngine : Etude de cas
Nuxeo WebEngine : Etude de casDamien Metzler
 
An introduction to Google's App Engine
An introduction to Google's App EngineAn introduction to Google's App Engine
An introduction to Google's App EngineStefan Sperber
 
b2performance berth
b2performance berthb2performance berth
b2performance berthITB Berlin
 
Search Engine Friendly Design (SEFD) - SMX München 2014
Search Engine Friendly Design (SEFD) - SMX München 2014Search Engine Friendly Design (SEFD) - SMX München 2014
Search Engine Friendly Design (SEFD) - SMX München 2014Daniel Herndler
 
Google App Engine. Zwei Jahre im Produktiveinsatz
Google App Engine. Zwei Jahre im ProduktiveinsatzGoogle App Engine. Zwei Jahre im Produktiveinsatz
Google App Engine. Zwei Jahre im ProduktiveinsatzPer Fragemann
 
WordPress State of the Word 2012
WordPress State of the Word 2012WordPress State of the Word 2012
WordPress State of the Word 2012photomatt
 
Introduction à Google App Engine - WAQ 2011
Introduction à Google App Engine - WAQ 2011Introduction à Google App Engine - WAQ 2011
Introduction à Google App Engine - WAQ 2011jimmybourassa
 
Cours Search Marketing - 1 Introduction - IAE Lille
Cours Search Marketing -  1 Introduction - IAE LilleCours Search Marketing -  1 Introduction - IAE Lille
Cours Search Marketing - 1 Introduction - IAE LilleRenaud JOLY
 
Web meets Location - Mobile Social Media Relations
Web meets Location - Mobile Social Media RelationsWeb meets Location - Mobile Social Media Relations
Web meets Location - Mobile Social Media RelationsSympra GmbH (GPRA)
 
Intellectual Property Rights
Intellectual Property RightsIntellectual Property Rights
Intellectual Property Rightsharshhanu
 
Parts of system unit
Parts of system unitParts of system unit
Parts of system unitkapitanbasa
 
Durchgestartet? Eine Einführung in die Google App Engine / Java - Reloaded!
Durchgestartet? Eine Einführung in die Google App Engine / Java - Reloaded!Durchgestartet? Eine Einführung in die Google App Engine / Java - Reloaded!
Durchgestartet? Eine Einführung in die Google App Engine / Java - Reloaded!adesso AG
 
SEFD - Search Engine Friendly Design - SMX München 2015 Kai Spriestersbach
SEFD - Search Engine Friendly Design - SMX München 2015 Kai SpriestersbachSEFD - Search Engine Friendly Design - SMX München 2015 Kai Spriestersbach
SEFD - Search Engine Friendly Design - SMX München 2015 Kai SpriestersbachSEARCH ONE
 
Codathlon Google App Engine
Codathlon Google App EngineCodathlon Google App Engine
Codathlon Google App EngineVincentBostoen
 
Internal Combustion Engines - Construction and Working (All you need to know,...
Internal Combustion Engines - Construction and Working (All you need to know,...Internal Combustion Engines - Construction and Working (All you need to know,...
Internal Combustion Engines - Construction and Working (All you need to know,...Mihir Pai
 

Viewers also liked (20)

Tk03 Google App Engine Fr
Tk03 Google App Engine FrTk03 Google App Engine Fr
Tk03 Google App Engine Fr
 
Google App Engine For Java
Google App Engine For JavaGoogle App Engine For Java
Google App Engine For Java
 
DNUG2015 Frühjahrskonferenz: Brücken bauen, Grenzen überwinden: Domino im Dia...
DNUG2015 Frühjahrskonferenz: Brücken bauen, Grenzen überwinden: Domino im Dia...DNUG2015 Frühjahrskonferenz: Brücken bauen, Grenzen überwinden: Domino im Dia...
DNUG2015 Frühjahrskonferenz: Brücken bauen, Grenzen überwinden: Domino im Dia...
 
Nuxeo WebEngine : Etude de cas
Nuxeo WebEngine : Etude de casNuxeo WebEngine : Etude de cas
Nuxeo WebEngine : Etude de cas
 
An introduction to Google's App Engine
An introduction to Google's App EngineAn introduction to Google's App Engine
An introduction to Google's App Engine
 
b2performance berth
b2performance berthb2performance berth
b2performance berth
 
Search Engine Friendly Design (SEFD) - SMX München 2014
Search Engine Friendly Design (SEFD) - SMX München 2014Search Engine Friendly Design (SEFD) - SMX München 2014
Search Engine Friendly Design (SEFD) - SMX München 2014
 
Google App Engine. Zwei Jahre im Produktiveinsatz
Google App Engine. Zwei Jahre im ProduktiveinsatzGoogle App Engine. Zwei Jahre im Produktiveinsatz
Google App Engine. Zwei Jahre im Produktiveinsatz
 
WordPress State of the Word 2012
WordPress State of the Word 2012WordPress State of the Word 2012
WordPress State of the Word 2012
 
Introduction à Google App Engine - WAQ 2011
Introduction à Google App Engine - WAQ 2011Introduction à Google App Engine - WAQ 2011
Introduction à Google App Engine - WAQ 2011
 
Cours Search Marketing - 1 Introduction - IAE Lille
Cours Search Marketing -  1 Introduction - IAE LilleCours Search Marketing -  1 Introduction - IAE Lille
Cours Search Marketing - 1 Introduction - IAE Lille
 
Web meets Location - Mobile Social Media Relations
Web meets Location - Mobile Social Media RelationsWeb meets Location - Mobile Social Media Relations
Web meets Location - Mobile Social Media Relations
 
Intellectual Property Rights
Intellectual Property RightsIntellectual Property Rights
Intellectual Property Rights
 
Parts of system unit
Parts of system unitParts of system unit
Parts of system unit
 
Durchgestartet? Eine Einführung in die Google App Engine / Java - Reloaded!
Durchgestartet? Eine Einführung in die Google App Engine / Java - Reloaded!Durchgestartet? Eine Einführung in die Google App Engine / Java - Reloaded!
Durchgestartet? Eine Einführung in die Google App Engine / Java - Reloaded!
 
RoomCloud Booking Engine
RoomCloud Booking EngineRoomCloud Booking Engine
RoomCloud Booking Engine
 
SEFD - Search Engine Friendly Design - SMX München 2015 Kai Spriestersbach
SEFD - Search Engine Friendly Design - SMX München 2015 Kai SpriestersbachSEFD - Search Engine Friendly Design - SMX München 2015 Kai Spriestersbach
SEFD - Search Engine Friendly Design - SMX München 2015 Kai Spriestersbach
 
Codathlon Google App Engine
Codathlon Google App EngineCodathlon Google App Engine
Codathlon Google App Engine
 
Internal Combustion Engines - Construction and Working (All you need to know,...
Internal Combustion Engines - Construction and Working (All you need to know,...Internal Combustion Engines - Construction and Working (All you need to know,...
Internal Combustion Engines - Construction and Working (All you need to know,...
 
Zk Framework
Zk FrameworkZk Framework
Zk Framework
 

Similar to Google App Engine

Google End points pour vos applications Android par Didier Girard 3 avril 2013
Google End points pour vos applications Android par Didier Girard 3 avril 2013Google End points pour vos applications Android par Didier Girard 3 avril 2013
Google End points pour vos applications Android par Didier Girard 3 avril 2013Paris Android User Group
 
De A à Z : Choisir une architecture pour sa solution applicative
De A à Z : Choisir une architecture pour sa solution applicativeDe A à Z : Choisir une architecture pour sa solution applicative
De A à Z : Choisir une architecture pour sa solution applicativeMicrosoft
 
GtugDakar AppEngine, Gwt
GtugDakar AppEngine, GwtGtugDakar AppEngine, Gwt
GtugDakar AppEngine, Gwthkairi
 
System Center Operations Manager et la supervision des applications (.Net et ...
System Center Operations Manager et la supervision des applications (.Net et ...System Center Operations Manager et la supervision des applications (.Net et ...
System Center Operations Manager et la supervision des applications (.Net et ...Microsoft Technet France
 
Architecture jee principe de inversion de controle et injection des dependances
Architecture jee principe de inversion de controle et injection des dependancesArchitecture jee principe de inversion de controle et injection des dependances
Architecture jee principe de inversion de controle et injection des dependancesENSET, Université Hassan II Casablanca
 
Développement d'applications pour la plateforme Java EE
Développement d'applications pour la plateforme Java EEDéveloppement d'applications pour la plateforme Java EE
Développement d'applications pour la plateforme Java EESabri Bouchlema
 
ArchiTech Load Balancing (NLB), Fermes et Jardins
ArchiTech Load Balancing (NLB), Fermes et JardinsArchiTech Load Balancing (NLB), Fermes et Jardins
ArchiTech Load Balancing (NLB), Fermes et Jardinsbenjguin
 
20120402 nantes gtug - app engine
20120402   nantes gtug - app engine20120402   nantes gtug - app engine
20120402 nantes gtug - app engineGDG Nantes
 
Gab 2017 Lyon - les strategies d'intégration avec Azure iPaaS - Samir Arezki
Gab 2017 Lyon - les strategies d'intégration avec Azure iPaaS - Samir ArezkiGab 2017 Lyon - les strategies d'intégration avec Azure iPaaS - Samir Arezki
Gab 2017 Lyon - les strategies d'intégration avec Azure iPaaS - Samir ArezkiAZUG FR
 
Gab 2017 Lyon - les strategies d'intégration avec Azure iPaaS - Samir Arezki
Gab 2017 Lyon - les strategies d'intégration avec Azure iPaaS - Samir ArezkiGab 2017 Lyon - les strategies d'intégration avec Azure iPaaS - Samir Arezki
Gab 2017 Lyon - les strategies d'intégration avec Azure iPaaS - Samir ArezkiSamir Arezki ☁
 
Eryem talks "Réussissez votre migration SharePoint 2013"
Eryem talks "Réussissez votre migration SharePoint 2013"Eryem talks "Réussissez votre migration SharePoint 2013"
Eryem talks "Réussissez votre migration SharePoint 2013"Guillaume Meyer
 
Continuous cloud costs testing [Fr] - DevoxxFR - 2013-03
Continuous cloud costs testing [Fr] - DevoxxFR - 2013-03Continuous cloud costs testing [Fr] - DevoxxFR - 2013-03
Continuous cloud costs testing [Fr] - DevoxxFR - 2013-03Nicolas Fonrose
 
Du catalogue de service à l'automatisation des processus (ser207)
Du catalogue de service à l'automatisation des processus (ser207)Du catalogue de service à l'automatisation des processus (ser207)
Du catalogue de service à l'automatisation des processus (ser207)Jean-François BERENGUER
 
Comment intégrer une application ASP.NET dans Windows Azure
Comment intégrer une application ASP.NET dans Windows AzureComment intégrer une application ASP.NET dans Windows Azure
Comment intégrer une application ASP.NET dans Windows AzureMicrosoft Technet France
 
Pourquoi rails est génial? (version longue)
Pourquoi rails est génial? (version longue)Pourquoi rails est génial? (version longue)
Pourquoi rails est génial? (version longue)Camille Roux
 
Cartographie du big data
Cartographie du big dataCartographie du big data
Cartographie du big dataacogoluegnes
 

Similar to Google App Engine (20)

Google End points pour vos applications Android par Didier Girard 3 avril 2013
Google End points pour vos applications Android par Didier Girard 3 avril 2013Google End points pour vos applications Android par Didier Girard 3 avril 2013
Google End points pour vos applications Android par Didier Girard 3 avril 2013
 
De A à Z : Choisir une architecture pour sa solution applicative
De A à Z : Choisir une architecture pour sa solution applicativeDe A à Z : Choisir une architecture pour sa solution applicative
De A à Z : Choisir une architecture pour sa solution applicative
 
GtugDakar AppEngine, Gwt
GtugDakar AppEngine, GwtGtugDakar AppEngine, Gwt
GtugDakar AppEngine, Gwt
 
System Center Operations Manager et la supervision des applications (.Net et ...
System Center Operations Manager et la supervision des applications (.Net et ...System Center Operations Manager et la supervision des applications (.Net et ...
System Center Operations Manager et la supervision des applications (.Net et ...
 
Architecture jee principe de inversion de controle et injection des dependances
Architecture jee principe de inversion de controle et injection des dependancesArchitecture jee principe de inversion de controle et injection des dependances
Architecture jee principe de inversion de controle et injection des dependances
 
Développement d'applications pour la plateforme Java EE
Développement d'applications pour la plateforme Java EEDéveloppement d'applications pour la plateforme Java EE
Développement d'applications pour la plateforme Java EE
 
ArchiTech Load Balancing (NLB), Fermes et Jardins
ArchiTech Load Balancing (NLB), Fermes et JardinsArchiTech Load Balancing (NLB), Fermes et Jardins
ArchiTech Load Balancing (NLB), Fermes et Jardins
 
20120402 nantes gtug - app engine
20120402   nantes gtug - app engine20120402   nantes gtug - app engine
20120402 nantes gtug - app engine
 
La plateforme JEE
La plateforme JEELa plateforme JEE
La plateforme JEE
 
Gab 2017 Lyon - les strategies d'intégration avec Azure iPaaS - Samir Arezki
Gab 2017 Lyon - les strategies d'intégration avec Azure iPaaS - Samir ArezkiGab 2017 Lyon - les strategies d'intégration avec Azure iPaaS - Samir Arezki
Gab 2017 Lyon - les strategies d'intégration avec Azure iPaaS - Samir Arezki
 
Gab 2017 Lyon - les strategies d'intégration avec Azure iPaaS - Samir Arezki
Gab 2017 Lyon - les strategies d'intégration avec Azure iPaaS - Samir ArezkiGab 2017 Lyon - les strategies d'intégration avec Azure iPaaS - Samir Arezki
Gab 2017 Lyon - les strategies d'intégration avec Azure iPaaS - Samir Arezki
 
Kauffmann ec2
Kauffmann ec2Kauffmann ec2
Kauffmann ec2
 
Piloter la DSI
Piloter la DSIPiloter la DSI
Piloter la DSI
 
Eryem talks "Réussissez votre migration SharePoint 2013"
Eryem talks "Réussissez votre migration SharePoint 2013"Eryem talks "Réussissez votre migration SharePoint 2013"
Eryem talks "Réussissez votre migration SharePoint 2013"
 
Continuous cloud costs testing [Fr] - DevoxxFR - 2013-03
Continuous cloud costs testing [Fr] - DevoxxFR - 2013-03Continuous cloud costs testing [Fr] - DevoxxFR - 2013-03
Continuous cloud costs testing [Fr] - DevoxxFR - 2013-03
 
Du catalogue de service à l'automatisation des processus (ser207)
Du catalogue de service à l'automatisation des processus (ser207)Du catalogue de service à l'automatisation des processus (ser207)
Du catalogue de service à l'automatisation des processus (ser207)
 
Comment intégrer une application ASP.NET dans Windows Azure
Comment intégrer une application ASP.NET dans Windows AzureComment intégrer une application ASP.NET dans Windows Azure
Comment intégrer une application ASP.NET dans Windows Azure
 
Pourquoi rails est génial? (version longue)
Pourquoi rails est génial? (version longue)Pourquoi rails est génial? (version longue)
Pourquoi rails est génial? (version longue)
 
Cartographie du big data
Cartographie du big dataCartographie du big data
Cartographie du big data
 
Java Entreprise Edition
Java Entreprise EditionJava Entreprise Edition
Java Entreprise Edition
 

More from Publicis Sapient Engineering

XebiCon'18 - L'algorithme de reconnaissance de formes par le cerveau humain
XebiCon'18 - L'algorithme de reconnaissance de formes par le cerveau humainXebiCon'18 - L'algorithme de reconnaissance de formes par le cerveau humain
XebiCon'18 - L'algorithme de reconnaissance de formes par le cerveau humainPublicis Sapient Engineering
 
Xebicon'18 - Spark in jail : conteneurisez vos traitements data sans serveur
Xebicon'18 - Spark in jail : conteneurisez vos traitements data sans serveurXebicon'18 - Spark in jail : conteneurisez vos traitements data sans serveur
Xebicon'18 - Spark in jail : conteneurisez vos traitements data sans serveurPublicis Sapient Engineering
 
XebiCon'18 - La Web App d'aujourd'hui et de demain : état de l'art et bleedin...
XebiCon'18 - La Web App d'aujourd'hui et de demain : état de l'art et bleedin...XebiCon'18 - La Web App d'aujourd'hui et de demain : état de l'art et bleedin...
XebiCon'18 - La Web App d'aujourd'hui et de demain : état de l'art et bleedin...Publicis Sapient Engineering
 
XebiCon'18 - Des notebook pour le monitoring avec Zeppelin
XebiCon'18 - Des notebook pour le monitoring avec Zeppelin XebiCon'18 - Des notebook pour le monitoring avec Zeppelin
XebiCon'18 - Des notebook pour le monitoring avec Zeppelin Publicis Sapient Engineering
 
XebiCon'18 - Event Sourcing et RGPD, incompatibles ?
XebiCon'18 - Event Sourcing et RGPD, incompatibles ?XebiCon'18 - Event Sourcing et RGPD, incompatibles ?
XebiCon'18 - Event Sourcing et RGPD, incompatibles ?Publicis Sapient Engineering
 
XebiCon'18 - Deno, le nouveau NodeJS qui inverse la tendance ?
XebiCon'18 - Deno, le nouveau NodeJS qui inverse la tendance ?XebiCon'18 - Deno, le nouveau NodeJS qui inverse la tendance ?
XebiCon'18 - Deno, le nouveau NodeJS qui inverse la tendance ?Publicis Sapient Engineering
 
XebiCon'18 - Boostez vos modèles avec du Deep Learning distribué
XebiCon'18 - Boostez vos modèles avec du Deep Learning distribuéXebiCon'18 - Boostez vos modèles avec du Deep Learning distribué
XebiCon'18 - Boostez vos modèles avec du Deep Learning distribuéPublicis Sapient Engineering
 
XebiCon'18 - Comment j'ai développé un jeu vidéo avec des outils de développe...
XebiCon'18 - Comment j'ai développé un jeu vidéo avec des outils de développe...XebiCon'18 - Comment j'ai développé un jeu vidéo avec des outils de développe...
XebiCon'18 - Comment j'ai développé un jeu vidéo avec des outils de développe...Publicis Sapient Engineering
 
XebiCon'18 - Les utilisateurs finaux, les oubliés de nos produits !
XebiCon'18 - Les utilisateurs finaux, les oubliés de nos produits !XebiCon'18 - Les utilisateurs finaux, les oubliés de nos produits !
XebiCon'18 - Les utilisateurs finaux, les oubliés de nos produits !Publicis Sapient Engineering
 
XebiCon'18 - Comment fausser l'interprétation de vos résultats avec des dataviz
XebiCon'18 - Comment fausser l'interprétation de vos résultats avec des datavizXebiCon'18 - Comment fausser l'interprétation de vos résultats avec des dataviz
XebiCon'18 - Comment fausser l'interprétation de vos résultats avec des datavizPublicis Sapient Engineering
 
XebiCon'18 - Architecturer son application mobile pour la durabilité
XebiCon'18 - Architecturer son application mobile pour la durabilitéXebiCon'18 - Architecturer son application mobile pour la durabilité
XebiCon'18 - Architecturer son application mobile pour la durabilitéPublicis Sapient Engineering
 
XebiCon'18 - Sécuriser son API avec OpenID Connect
XebiCon'18 - Sécuriser son API avec OpenID ConnectXebiCon'18 - Sécuriser son API avec OpenID Connect
XebiCon'18 - Sécuriser son API avec OpenID ConnectPublicis Sapient Engineering
 
XebiCon'18 - Structuration du Temps et Dynamique de Groupes, Théorie organisa...
XebiCon'18 - Structuration du Temps et Dynamique de Groupes, Théorie organisa...XebiCon'18 - Structuration du Temps et Dynamique de Groupes, Théorie organisa...
XebiCon'18 - Structuration du Temps et Dynamique de Groupes, Théorie organisa...Publicis Sapient Engineering
 
XebiCon'18 - La sécurité, douce illusion même en 2018
XebiCon'18 - La sécurité, douce illusion même en 2018XebiCon'18 - La sécurité, douce illusion même en 2018
XebiCon'18 - La sécurité, douce illusion même en 2018Publicis Sapient Engineering
 
XebiCon'18 - Utiliser Hyperledger Fabric pour la création d'une blockchain pr...
XebiCon'18 - Utiliser Hyperledger Fabric pour la création d'une blockchain pr...XebiCon'18 - Utiliser Hyperledger Fabric pour la création d'une blockchain pr...
XebiCon'18 - Utiliser Hyperledger Fabric pour la création d'une blockchain pr...Publicis Sapient Engineering
 
XebiCon'18 - Ce que l'histoire du métro Parisien m'a enseigné sur la création...
XebiCon'18 - Ce que l'histoire du métro Parisien m'a enseigné sur la création...XebiCon'18 - Ce que l'histoire du métro Parisien m'a enseigné sur la création...
XebiCon'18 - Ce que l'histoire du métro Parisien m'a enseigné sur la création...Publicis Sapient Engineering
 

More from Publicis Sapient Engineering (20)

XebiCon'18 - L'algorithme de reconnaissance de formes par le cerveau humain
XebiCon'18 - L'algorithme de reconnaissance de formes par le cerveau humainXebiCon'18 - L'algorithme de reconnaissance de formes par le cerveau humain
XebiCon'18 - L'algorithme de reconnaissance de formes par le cerveau humain
 
Xebicon'18 - IoT: From Edge to Cloud
Xebicon'18 - IoT: From Edge to CloudXebicon'18 - IoT: From Edge to Cloud
Xebicon'18 - IoT: From Edge to Cloud
 
Xebicon'18 - Spark in jail : conteneurisez vos traitements data sans serveur
Xebicon'18 - Spark in jail : conteneurisez vos traitements data sans serveurXebicon'18 - Spark in jail : conteneurisez vos traitements data sans serveur
Xebicon'18 - Spark in jail : conteneurisez vos traitements data sans serveur
 
XebiCon'18 - Modern Infrastructure
XebiCon'18 - Modern InfrastructureXebiCon'18 - Modern Infrastructure
XebiCon'18 - Modern Infrastructure
 
XebiCon'18 - La Web App d'aujourd'hui et de demain : état de l'art et bleedin...
XebiCon'18 - La Web App d'aujourd'hui et de demain : état de l'art et bleedin...XebiCon'18 - La Web App d'aujourd'hui et de demain : état de l'art et bleedin...
XebiCon'18 - La Web App d'aujourd'hui et de demain : état de l'art et bleedin...
 
XebiCon'18 - Des notebook pour le monitoring avec Zeppelin
XebiCon'18 - Des notebook pour le monitoring avec Zeppelin XebiCon'18 - Des notebook pour le monitoring avec Zeppelin
XebiCon'18 - Des notebook pour le monitoring avec Zeppelin
 
XebiCon'18 - Event Sourcing et RGPD, incompatibles ?
XebiCon'18 - Event Sourcing et RGPD, incompatibles ?XebiCon'18 - Event Sourcing et RGPD, incompatibles ?
XebiCon'18 - Event Sourcing et RGPD, incompatibles ?
 
XebiCon'18 - Deno, le nouveau NodeJS qui inverse la tendance ?
XebiCon'18 - Deno, le nouveau NodeJS qui inverse la tendance ?XebiCon'18 - Deno, le nouveau NodeJS qui inverse la tendance ?
XebiCon'18 - Deno, le nouveau NodeJS qui inverse la tendance ?
 
XebiCon'18 - Boostez vos modèles avec du Deep Learning distribué
XebiCon'18 - Boostez vos modèles avec du Deep Learning distribuéXebiCon'18 - Boostez vos modèles avec du Deep Learning distribué
XebiCon'18 - Boostez vos modèles avec du Deep Learning distribué
 
XebiCon'18 - Comment j'ai développé un jeu vidéo avec des outils de développe...
XebiCon'18 - Comment j'ai développé un jeu vidéo avec des outils de développe...XebiCon'18 - Comment j'ai développé un jeu vidéo avec des outils de développe...
XebiCon'18 - Comment j'ai développé un jeu vidéo avec des outils de développe...
 
XebiCon'18 - Les utilisateurs finaux, les oubliés de nos produits !
XebiCon'18 - Les utilisateurs finaux, les oubliés de nos produits !XebiCon'18 - Les utilisateurs finaux, les oubliés de nos produits !
XebiCon'18 - Les utilisateurs finaux, les oubliés de nos produits !
 
XebiCon'18 - Comment fausser l'interprétation de vos résultats avec des dataviz
XebiCon'18 - Comment fausser l'interprétation de vos résultats avec des datavizXebiCon'18 - Comment fausser l'interprétation de vos résultats avec des dataviz
XebiCon'18 - Comment fausser l'interprétation de vos résultats avec des dataviz
 
XebiCon'18 - Le développeur dans la Pop Culture
XebiCon'18 - Le développeur dans la Pop Culture XebiCon'18 - Le développeur dans la Pop Culture
XebiCon'18 - Le développeur dans la Pop Culture
 
XebiCon'18 - Architecturer son application mobile pour la durabilité
XebiCon'18 - Architecturer son application mobile pour la durabilitéXebiCon'18 - Architecturer son application mobile pour la durabilité
XebiCon'18 - Architecturer son application mobile pour la durabilité
 
XebiCon'18 - Sécuriser son API avec OpenID Connect
XebiCon'18 - Sécuriser son API avec OpenID ConnectXebiCon'18 - Sécuriser son API avec OpenID Connect
XebiCon'18 - Sécuriser son API avec OpenID Connect
 
XebiCon'18 - Structuration du Temps et Dynamique de Groupes, Théorie organisa...
XebiCon'18 - Structuration du Temps et Dynamique de Groupes, Théorie organisa...XebiCon'18 - Structuration du Temps et Dynamique de Groupes, Théorie organisa...
XebiCon'18 - Structuration du Temps et Dynamique de Groupes, Théorie organisa...
 
XebiCon'18 - Spark NLP, un an après
XebiCon'18 - Spark NLP, un an aprèsXebiCon'18 - Spark NLP, un an après
XebiCon'18 - Spark NLP, un an après
 
XebiCon'18 - La sécurité, douce illusion même en 2018
XebiCon'18 - La sécurité, douce illusion même en 2018XebiCon'18 - La sécurité, douce illusion même en 2018
XebiCon'18 - La sécurité, douce illusion même en 2018
 
XebiCon'18 - Utiliser Hyperledger Fabric pour la création d'une blockchain pr...
XebiCon'18 - Utiliser Hyperledger Fabric pour la création d'une blockchain pr...XebiCon'18 - Utiliser Hyperledger Fabric pour la création d'une blockchain pr...
XebiCon'18 - Utiliser Hyperledger Fabric pour la création d'une blockchain pr...
 
XebiCon'18 - Ce que l'histoire du métro Parisien m'a enseigné sur la création...
XebiCon'18 - Ce que l'histoire du métro Parisien m'a enseigné sur la création...XebiCon'18 - Ce que l'histoire du métro Parisien m'a enseigné sur la création...
XebiCon'18 - Ce que l'histoire du métro Parisien m'a enseigné sur la création...
 

Google App Engine

  • 1.
  • 2.
  • 3. Efficacité énergétique (PUE) Moyenne 12 mois Moyenne 3 mois 1,23 1,20 1,18 1.16 1,15 1.14 1,12 2009 2010 2011 Source: http://www.google.com/about/datacenters
  • 4.
  • 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
  • 6. Deploy 1 http://www.yourdomain.com/ 2
  • 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
  • 10.
  • 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
  • 13. Les gènes de Google AppEngine ne sont pas J2EE
  • 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
  • 17. Frontends & Backends Compute Task Queue & Cron Pull (Task) Queues App App Engine Push (Task) Queues / Cron Engine Client Frontend Client Frontend App App App App Engine App Client Engine Engine App Client Engine Frontend Engine Backend Frontend Engine Backend Backend Backend
  • 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
  • 20. Storage Services Memcache Blobstore Datastore CloudSQL
  • 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 ...
  • 28.
  • 29. Bonnes Pratiques pour le Cloud...
  • 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 ...
  • 35. Google App Engine “We wear pagers so you don’t have to”
  • 36. Le Cloud basé sur l’infrastructure Google Alexis Moussine-Pouchkine alexismp@google.com Developer Relations Manager France
  • 37. Angry Birds = + + + +