SlideShare une entreprise Scribd logo
1  sur  26
Jerome Mouton
@jlmouton
jerome.mouton@snapengage.com
   Un peu d’histoire, IaaS, PaaS et AppEngine

   Présentation de la plateforme, les API et
    services

   Bonnes pratiques

   Bye bye les aprioris
   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
Load balancer
Load balancer
   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
   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
   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
   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
   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
   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
   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
   Gérer les exceptions AppEngine API
    ◦   Datastore
    ◦   Memcache
    ◦   Xmpp
    ◦   Etc.

   Gérer les exceptions de la plateforme
    ◦ DeadlineExceededException – error/retry
    ◦ CapabilityDisabledException – maintenance
   Utiliser services externes quand intéressant

   Les services non-Google utilisés SnapEngage:
    ◦   SendGrid - email
    ◦   MaxMind - geo
    ◦   ReportGrid / Precog - visualisation
    ◦   Twilio - telephonie
   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
   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
   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
   Dimensionnement automatique (scalability)
    sans effort

   Permet a votre startup de se concentrer sur
    ce qui est important

   Plateforme AppEngine est maintenant robuste
   Démo rapide du dashboard AppEngine

   Démo rapide de la API Console

   Petit tour dans Eclipse et le GAE plugin

   Questions?

Contenu connexe

Tendances

Track 2 - Atelier 3 - Comment Ysance met le cloud au service du digital avec ...
Track 2 - Atelier 3 - Comment Ysance met le cloud au service du digital avec ...Track 2 - Atelier 3 - Comment Ysance met le cloud au service du digital avec ...
Track 2 - Atelier 3 - Comment Ysance met le cloud au service du digital avec ...
Amazon Web Services
 
Gibtalk aws
Gibtalk awsGibtalk aws
Gibtalk aws
meliphen
 
Track 1 - Atelier 3 - Implémentation de cloud d'entreprise par Edifixio
Track 1 - Atelier 3 - Implémentation de cloud d'entreprise par EdifixioTrack 1 - Atelier 3 - Implémentation de cloud d'entreprise par Edifixio
Track 1 - Atelier 3 - Implémentation de cloud d'entreprise par Edifixio
Amazon Web Services
 

Tendances (20)

Track 2 - Atelier 2 - Introduction à redshift
Track 2 - Atelier 2 - Introduction à redshiftTrack 2 - Atelier 2 - Introduction à redshift
Track 2 - Atelier 2 - Introduction à redshift
 
Microservices avec Spring Cloud
Microservices avec Spring CloudMicroservices avec Spring Cloud
Microservices avec Spring Cloud
 
Track 3 - Atelier 1 - Optimisation des coûts avec AWS
Track 3 - Atelier 1 - Optimisation des coûts avec AWSTrack 3 - Atelier 1 - Optimisation des coûts avec AWS
Track 3 - Atelier 1 - Optimisation des coûts avec AWS
 
Présentation d'Amazon Web Services - Human Talks Grenoble
Présentation d'Amazon Web Services - Human Talks GrenoblePrésentation d'Amazon Web Services - Human Talks Grenoble
Présentation d'Amazon Web Services - Human Talks Grenoble
 
Track 2 - Atelier 3 - Comment Ysance met le cloud au service du digital avec ...
Track 2 - Atelier 3 - Comment Ysance met le cloud au service du digital avec ...Track 2 - Atelier 3 - Comment Ysance met le cloud au service du digital avec ...
Track 2 - Atelier 3 - Comment Ysance met le cloud au service du digital avec ...
 
Windows Azure Web Sites, Cloud Services ou Virtual Machines ? Quelles technol...
Windows Azure Web Sites, Cloud Services ou Virtual Machines ? Quelles technol...Windows Azure Web Sites, Cloud Services ou Virtual Machines ? Quelles technol...
Windows Azure Web Sites, Cloud Services ou Virtual Machines ? Quelles technol...
 
ReBuild 2019 - Gouvernance Financière 1.0
ReBuild 2019 - Gouvernance Financière 1.0ReBuild 2019 - Gouvernance Financière 1.0
ReBuild 2019 - Gouvernance Financière 1.0
 
Track 1 - Atelier 1 - Votre première semaine avec Amazon EC2
Track 1 - Atelier 1 - Votre première semaine avec Amazon EC2Track 1 - Atelier 1 - Votre première semaine avec Amazon EC2
Track 1 - Atelier 1 - Votre première semaine avec Amazon EC2
 
AWS Paris Summit 2014 - T1 - Services de bases de données
AWS Paris Summit 2014 - T1 - Services de bases de donnéesAWS Paris Summit 2014 - T1 - Services de bases de données
AWS Paris Summit 2014 - T1 - Services de bases de données
 
Construire des Applications Web Performantes - Rule Book Webinar
Construire des Applications Web Performantes - Rule Book WebinarConstruire des Applications Web Performantes - Rule Book Webinar
Construire des Applications Web Performantes - Rule Book Webinar
 
Hi-Media Couchbase meetup Paris Nb #1
Hi-Media Couchbase meetup Paris Nb #1Hi-Media Couchbase meetup Paris Nb #1
Hi-Media Couchbase meetup Paris Nb #1
 
Gibtalk aws
Gibtalk awsGibtalk aws
Gibtalk aws
 
Powershell Saturday - Azure at Scale with PowerShell
Powershell Saturday - Azure at Scale with PowerShellPowershell Saturday - Azure at Scale with PowerShell
Powershell Saturday - Azure at Scale with PowerShell
 
Track 1 - Atelier 3 - Implémentation de cloud d'entreprise par Edifixio
Track 1 - Atelier 3 - Implémentation de cloud d'entreprise par EdifixioTrack 1 - Atelier 3 - Implémentation de cloud d'entreprise par Edifixio
Track 1 - Atelier 3 - Implémentation de cloud d'entreprise par Edifixio
 
Viseo intro Prive Public Cloud vs hosting
Viseo intro Prive Public Cloud vs hostingViseo intro Prive Public Cloud vs hosting
Viseo intro Prive Public Cloud vs hosting
 
Cnam cours azure ze cloud intro et présentation generale 2016
Cnam cours azure ze cloud intro et présentation  generale 2016Cnam cours azure ze cloud intro et présentation  generale 2016
Cnam cours azure ze cloud intro et présentation generale 2016
 
Heroku Connect - Synchronisez Heroku et Salesforce en 5 minutes chrono
Heroku Connect - Synchronisez Heroku et Salesforce en 5 minutes chronoHeroku Connect - Synchronisez Heroku et Salesforce en 5 minutes chrono
Heroku Connect - Synchronisez Heroku et Salesforce en 5 minutes chrono
 
Présentation des services AWS
Présentation des services AWSPrésentation des services AWS
Présentation des services AWS
 
Global Azure Bootcamp 2019 Paris - Gouvernance financière dans Azure
Global Azure Bootcamp 2019 Paris - Gouvernance financière dans AzureGlobal Azure Bootcamp 2019 Paris - Gouvernance financière dans Azure
Global Azure Bootcamp 2019 Paris - Gouvernance financière dans Azure
 
Meetup Google Cloud
Meetup Google CloudMeetup Google Cloud
Meetup Google Cloud
 

En vedette

En vedette (6)

Hackathon Android Abidjan
Hackathon Android  AbidjanHackathon Android  Abidjan
Hackathon Android Abidjan
 
Alessandro Terenzi (Inglobe Technologies) Developing AR Apps with the ARMedia...
Alessandro Terenzi (Inglobe Technologies) Developing AR Apps with the ARMedia...Alessandro Terenzi (Inglobe Technologies) Developing AR Apps with the ARMedia...
Alessandro Terenzi (Inglobe Technologies) Developing AR Apps with the ARMedia...
 
Philipp Nagele (CTO, Wikitude) An Insider Deep-Dive into the Wikitude SDK
Philipp Nagele (CTO, Wikitude) An Insider Deep-Dive into the Wikitude SDK Philipp Nagele (CTO, Wikitude) An Insider Deep-Dive into the Wikitude SDK
Philipp Nagele (CTO, Wikitude) An Insider Deep-Dive into the Wikitude SDK
 
La digitalisation de la formation
La digitalisation de la formationLa digitalisation de la formation
La digitalisation de la formation
 
Methodes d'echange de liens par article marketing
Methodes d'echange de liens par article marketingMethodes d'echange de liens par article marketing
Methodes d'echange de liens par article marketing
 
Digitalisation de l'entreprise et son impact sur les métiers
Digitalisation de l'entreprise et son impact sur les métiersDigitalisation de l'entreprise et son impact sur les métiers
Digitalisation de l'entreprise et son impact sur les métiers
 

Similaire à 20120402 nantes gtug - app engine

Agile Tour Paris 2014 : Ma stack d'outils Agiles, tout un programme !, Cedric...
Agile Tour Paris 2014 : Ma stack d'outils Agiles, tout un programme !, Cedric...Agile Tour Paris 2014 : Ma stack d'outils Agiles, tout un programme !, Cedric...
Agile Tour Paris 2014 : Ma stack d'outils Agiles, tout un programme !, Cedric...
ENSIBS
 
TechDays 2014 : retour d'expérience Kompass migration Java dans Azure
TechDays 2014 : retour d'expérience Kompass migration Java dans AzureTechDays 2014 : retour d'expérience Kompass migration Java dans Azure
TechDays 2014 : retour d'expérience Kompass migration Java dans Azure
Thomas Conté
 
Presentation mididulibrev2.0
Presentation mididulibrev2.0Presentation mididulibrev2.0
Presentation mididulibrev2.0
robertpluss
 

Similaire à 20120402 nantes gtug - app engine (20)

Lost in serverless AWS Lambda, Google Cloud Function, Azure Function quelle s...
Lost in serverless AWS Lambda, Google Cloud Function, Azure Function quelle s...Lost in serverless AWS Lambda, Google Cloud Function, Azure Function quelle s...
Lost in serverless AWS Lambda, Google Cloud Function, Azure Function quelle s...
 
GtugDakar AppEngine, Gwt
GtugDakar AppEngine, GwtGtugDakar AppEngine, Gwt
GtugDakar AppEngine, Gwt
 
Web perf Silicon Comte
Web perf Silicon ComteWeb perf Silicon Comte
Web perf Silicon Comte
 
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
 
Meetup du 21 septembre 2017
Meetup du 21 septembre 2017Meetup du 21 septembre 2017
Meetup du 21 septembre 2017
 
Google App Engine
Google App EngineGoogle App Engine
Google App Engine
 
Formation Google App Engine
Formation Google App EngineFormation Google App Engine
Formation Google App Engine
 
Saas Libre
Saas LibreSaas Libre
Saas Libre
 
Google App Engine For Java
Google App Engine For JavaGoogle App Engine For Java
Google App Engine For Java
 
Comparaison des solutions Paas
Comparaison des solutions PaasComparaison des solutions Paas
Comparaison des solutions Paas
 
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
 
Perfug BOF devoxx2017.pptx
Perfug BOF devoxx2017.pptxPerfug BOF devoxx2017.pptx
Perfug BOF devoxx2017.pptx
 
JavaScript aussi sur le serveur et jusque dans le cloud?
JavaScript aussi sur le serveur et jusque dans le cloud?JavaScript aussi sur le serveur et jusque dans le cloud?
JavaScript aussi sur le serveur et jusque dans le cloud?
 
Agile Tour Paris 2014 : Ma stack d'outils Agiles, tout un programme !, Cedric...
Agile Tour Paris 2014 : Ma stack d'outils Agiles, tout un programme !, Cedric...Agile Tour Paris 2014 : Ma stack d'outils Agiles, tout un programme !, Cedric...
Agile Tour Paris 2014 : Ma stack d'outils Agiles, tout un programme !, Cedric...
 
TechDays 2014 : retour d'expérience Kompass migration Java dans Azure
TechDays 2014 : retour d'expérience Kompass migration Java dans AzureTechDays 2014 : retour d'expérience Kompass migration Java dans Azure
TechDays 2014 : retour d'expérience Kompass migration Java dans Azure
 
Cours 1/3 "Architecture Web"
Cours 1/3 "Architecture Web"Cours 1/3 "Architecture Web"
Cours 1/3 "Architecture Web"
 
Google appengine&guice
Google appengine&guiceGoogle appengine&guice
Google appengine&guice
 
Presentation mididulibrev2.0
Presentation mididulibrev2.0Presentation mididulibrev2.0
Presentation mididulibrev2.0
 
Parisweb - javascript server side - par où commencer ?
Parisweb - javascript server side - par où commencer ?Parisweb - javascript server side - par où commencer ?
Parisweb - javascript server side - par où commencer ?
 
Server Side Javascript in the cloud
Server Side Javascript in the cloudServer Side Javascript in the cloud
Server Side Javascript in the cloud
 

Plus de GDG Nantes (6)

Google Analytics 22/05/2012
Google Analytics 22/05/2012Google Analytics 22/05/2012
Google Analytics 22/05/2012
 
Nantes GTUG - Restlet & AppEngine
Nantes GTUG - Restlet & AppEngineNantes GTUG - Restlet & AppEngine
Nantes GTUG - Restlet & AppEngine
 
Gtug nantes big table et nosql
Gtug nantes   big table et nosqlGtug nantes   big table et nosql
Gtug nantes big table et nosql
 
20-06 Google Apps dans l'entreprise
20-06 Google Apps dans l'entreprise20-06 Google Apps dans l'entreprise
20-06 Google Apps dans l'entreprise
 
Guava & EMF
Guava & EMFGuava & EMF
Guava & EMF
 
Android Optimisations Greendroid
Android Optimisations GreendroidAndroid Optimisations Greendroid
Android Optimisations Greendroid
 

20120402 nantes gtug - app engine

  • 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
  • 4.
  • 5.
  • 6.
  • 7.
  • 10.
  • 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
  • 21. Utiliser services externes quand intéressant  Les services non-Google utilisés SnapEngage: ◦ SendGrid - email ◦ MaxMind - geo ◦ ReportGrid / Precog - visualisation ◦ Twilio - telephonie
  • 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

  1. Lookup by ID is 4 to 5x faster than by doing a query