SlideShare une entreprise Scribd logo
1  sur  68
Télécharger pour lire hors ligne
Google Cloud Endpoints
and Plateform
@DidierGirard
Barcamp




          Le 28 Mars 2009 de 10h00 à 17h30 à La Cantine
Nous l'avons fait !
Software Development
       Experts
www.abonentendeur.com
La Team
          Didier Girard
          Développeur/Designer
Un développeur Back End fait du Front End
La Team
          Benoit Sparza
          Designer




          Didier Girard
          Développeur
Un développeur Back End fait du Front End
          avec un infographiste
La Team
          Benoit Sparza
          Designer




          Guillaume Le Roy
          Développeur Android




          Didier Girard
          Développeur AppEngine
Bonus




Lancement le 28 mars 2013 de ABEmoto 1.1.0 (GA)
La Team
          Benoit Sparza
          Designer




          Guillaume Le Roy
          Développeur Android




          Didier Girard
          Développeur AppEngine




          A Trouver
          Community Manager
Plan



  ● REST
  ● Cloud EndPoints
  ● Cloud Plateform
REST
REST : Roy Fielding


                      Network
                      Software
                      Architecture


     PhD



                            Roy


     2000
Qui utilisent REST ?
REST : communication entre ordinateurs
REST : Architecture de votre application
REST : Tout est une ressource accessible via une URI
Deux types d'URL



  ● Une URL pour les collections
    ○ /users
  ● Une URL pour les éléments
    ○ /users/2314R5
REST : Sans Etat
REST != Statefull
REST : 4 Actions Standards




            POST         GET




                   PUT         DELETE
REST : 4 Actions Standards




           CREATE            READ




                    UPDATE          DELETE
REST : 4 Actions Standards



                     POST            GET           PUT         DELETE
     Ressource
                     create          read         update        delete




                     Crée un
                                   Liste les      MAJ de       Supprime
       /users        nouvel
                                  utilisateurs    masse        en masse
                    utilisateur




                                  Récupère        Update       Delete un
    /users/2314R5    Erreur !
                                   un user       ou Erreur !     user
Codes Retours : de 200 à 404
Versioning




             /v1/users
Authentification
Représentation des ressources




               html, json, xml,...
Cloud Endpoints




              Objectifs de Endpoints
Objectif




           Construire une application multi-clients
Objectif




           qui monte en charge
Objectif




      en s'appuyant sur la plateforme Cloud de Google
Architecture
Cloud Endpoints ?



  ● REST-based APIs
  ● AppEngine backend
     ○ Python et JAVA
  ● Client-libraries for many Platforms
     ○ Android, iOS, JS
     ○ Python, Dart, PHP, ...
  ● Même infrastructure que les "nouvelles"
    APIs Google
     ○ Google+, Drive, YouTube v3, ...
  ● En progression permanente
Demo




 ● GET, POST, PUT
 ● OAuth2
 ● Client Android
Quick Start avec le
     Cloud Google


 Didier Girard   Alexis MP
   Sfeir          Google
@DidierGirard    @alexismp
Vous devez développer QuizzMyZik




QuizzMyZik est un jeu pour téléphone mobile où les
 joueurs doivent trouver le plus rapidement possible
          le titre et l'artiste d'un morceau.




                       ?
Les défis techniques




●   Etre multicanal
●   Etre sécurisé
●   Proposer du stockage massif
●   Proposer du data analyse
●   Encaisser des pics de charge cycliques
●   Générer des diplômes au format pdf et les
    envoyer par email
Architecture cible



                Authentifi
                 cation           Data               NoSQL
                                 Mining

    Mobile
                                                  Search Server

    Tablette                     Business
                     API
    Machine                                       High Capacity
                                                     Storage
    Browser

                                                       BI
                       Serveur         Serveur
                        SMTP         Impression
Architecture cible



                     OAuth            Mahout            Hadoop/Hbase



     Mobile
                                                         ElasticSearch
                                      Serveur
    Tablette                       d'applications
                 APISpark
    Machine                                             High Capacity
                                                          Storage ?
    Browser

                                                         Base OLAP
                         Serveur           Serveur
                         SMTP ?          Impression ?
Architecture cible


                     Google Accounts
                    Authentication and
                                                              DataStore
                      Authorization        Prediction


     Mobile
                                                              Search API

     Tablette                              AppEngine
                          Cloud
                        EndPoints
     Machine                                                 Cloud Storage

     Browser


                                                 Print via     BigQuery
                                                 Compute
                                Mail API          Engine


                Google Cloud Platform
Exemple de débit


                    Google Accounts
                   Authentication and
                                                                    DataStore
                     Authorization        Prediction


     Mobile
                                                                    Search API

    Tablette                              AppEngine
                         Cloud
                       EndPoints
    Machine                                                        Cloud Storage
                                                            30Mo
    Browser


                                                Print via            BigQuery
                                                Compute
                               Mail API          Engine


               Google Cloud Platform
La plateforme Google
Google Cloud Platform
Google Cloud Platform




 Tout pour simplifier la vie du développeur
App Engine




             Easy to build
             Easy to scale
Demo




       Prototypage facile
       Maven facile
       Traffic splitting
Datastore, CloudSQL




                      Easy to persist
Search API




                                    Easy to search



   Add Google-like full-text search to your application
    ● Custom scoring and snippeting
    ● GeoSearch
Cloud Storage API




                             Easy to store
                             Easy to share
                             Easy to stream
 From 0 to 5 TB per Object
BigQuery




           Easy to Query
BigQuery


  BigQuery gives you this power          How are developers using it?


          Store data with reliability,    Game and social media
          redundancy and consistency      analytics

          Go from data to meaning         Infrastructure monitoring


          At scale ...                    Advertising campaign
                                          optimization

          Quickly!                        Sensor data analysis
Prediction API




                 Easy to predict
Prediction API - Problématique




  DATA                           ?
Prediction API - Training




     DATA



                            Phase 1 : Training
     Result
Prediction API - Prediction




   DATA                             ?


                Phase 2 : Predict
Compute Engine




                 Easy to Ops
Google Compute APIs




●   REST API (OAuth 2.0 / json)
●   Python/Java/... Client APIs
●   gcutil command line
●   Web Console
Compute Engine concepts


 Zones 33US 22Europe
 Zones US         Europe
                     Firewalls
    Network
     Network          Firewalls

       Instance
        Instance               Disks
                                Disks
                                 Disks
                           ephemeral, persitent
          metadatas         ephemeral, persitent
                                          ephemeral, persitent

                Machine
                Machine                   Image
                                         Image
             highCPU, highMem, ...
               highCPU, highMem,     centOS, Ubuntu, custom
                                       centOS, Ubuntu,
                       ...                 custom
Compute Engine Command line gcutil


gcutil getproject --project=<project-id> --cache_flag_values
gcutil addfirewall http2 --description="Incoming http allowed." --
allowed="tcp:http"


gcutil addinstance 
--machine_type=$MACHINE_TYPE 
--image=$MACHINE_IMAGE 
--zone=$ZONE 
--metadata_from_file=startup-script:$STARTUP_SCRIPT 
$INSTANCE_NAME
Mail API




           Easy to mail
Cloud EndPoints




                  Easy to connect
Cloud EndPoints


                      Console
                  d'administration
Google Accounts




                  Easy to Authenticate
                  Easy to Authorize
De la fiction à la réalité




       1,000,000 daily active users
Merci

Contenu connexe

Similaire à Google End points pour vos applications Android par Didier Girard 3 avril 2013

APIs dans Azure : serverless ou pas serverless?
APIs dans Azure : serverless ou pas serverless?APIs dans Azure : serverless ou pas serverless?
APIs dans Azure : serverless ou pas serverless?Marius Zaharia
 
Architecturez vos applications mobiles avec Azure et Xamarin
Architecturez vos applications mobiles avec Azure et XamarinArchitecturez vos applications mobiles avec Azure et Xamarin
Architecturez vos applications mobiles avec Azure et XamarinThierry Buisson
 
Introduction a IBM API Management
Introduction a IBM API ManagementIntroduction a IBM API Management
Introduction a IBM API ManagementMagali Boulet
 
Développez votre application Facebook avec Windows Azure
Développez votre application Facebook avec Windows AzureDéveloppez votre application Facebook avec Windows Azure
Développez votre application Facebook avec Windows AzureMicrosoft
 
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 ☁
 
Développer et déployer dans le cloud
Développer et déployer dans le cloudDévelopper et déployer dans le cloud
Développer et déployer dans le cloudJulien Dubois
 
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
 
Meetup - Construire des applications serverless avec Azure
Meetup - Construire des applications serverless avec AzureMeetup - Construire des applications serverless avec Azure
Meetup - Construire des applications serverless avec AzureSamir Arezki ☁
 
Google Cloud Endpoints - DevFest - Nantes 2012
Google Cloud Endpoints -  DevFest - Nantes 2012Google Cloud Endpoints -  DevFest - Nantes 2012
Google Cloud Endpoints - DevFest - Nantes 2012Maxime Gréau
 
SharePoint & Azure, le couple gagnant
SharePoint & Azure, le couple gagnantSharePoint & Azure, le couple gagnant
SharePoint & Azure, le couple gagnantMicrosoft
 
Investir sur son API web (in French)
Investir sur son API web (in French)Investir sur son API web (in French)
Investir sur son API web (in French)Restlet
 
Introduction à Samsung bada
Introduction à Samsung badaIntroduction à Samsung bada
Introduction à Samsung badaBeMyApp
 
De l'open source à l'open API avec Restlet
De l'open source à l'open API avec RestletDe l'open source à l'open API avec Restlet
De l'open source à l'open API avec RestletJerome Louvel
 
GtugDakar AppEngine, Gwt
GtugDakar AppEngine, GwtGtugDakar AppEngine, Gwt
GtugDakar AppEngine, Gwthkairi
 
IBM Bluemix Paris Meetup #22-20170315 Meetup @VillagebyCA- Bluemix, présent &...
IBM Bluemix Paris Meetup #22-20170315 Meetup @VillagebyCA- Bluemix, présent &...IBM Bluemix Paris Meetup #22-20170315 Meetup @VillagebyCA- Bluemix, présent &...
IBM Bluemix Paris Meetup #22-20170315 Meetup @VillagebyCA- Bluemix, présent &...IBM France Lab
 
Eclipse day paris
Eclipse day parisEclipse day paris
Eclipse day parisLeTesteur
 
Azure Services Platform
Azure Services PlatformAzure Services Platform
Azure Services PlatformGregory Renard
 

Similaire à Google End points pour vos applications Android par Didier Girard 3 avril 2013 (20)

Google App Engine
Google App EngineGoogle App Engine
Google App Engine
 
APIs dans Azure : serverless ou pas serverless?
APIs dans Azure : serverless ou pas serverless?APIs dans Azure : serverless ou pas serverless?
APIs dans Azure : serverless ou pas serverless?
 
Architecturez vos applications mobiles avec Azure et Xamarin
Architecturez vos applications mobiles avec Azure et XamarinArchitecturez vos applications mobiles avec Azure et Xamarin
Architecturez vos applications mobiles avec Azure et Xamarin
 
Introduction a IBM API Management
Introduction a IBM API ManagementIntroduction a IBM API Management
Introduction a IBM API Management
 
Développez votre application Facebook avec Windows Azure
Développez votre application Facebook avec Windows AzureDéveloppez votre application Facebook avec Windows Azure
Développez votre application Facebook avec Windows Azure
 
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
 
Développer et déployer dans le cloud
Développer et déployer dans le cloudDévelopper et déployer dans le cloud
Développer et déployer dans le cloud
 
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
 
Meetup - Construire des applications serverless avec Azure
Meetup - Construire des applications serverless avec AzureMeetup - Construire des applications serverless avec Azure
Meetup - Construire des applications serverless avec Azure
 
Google Cloud Endpoints - DevFest - Nantes 2012
Google Cloud Endpoints -  DevFest - Nantes 2012Google Cloud Endpoints -  DevFest - Nantes 2012
Google Cloud Endpoints - DevFest - Nantes 2012
 
Hybride share point search
Hybride share point searchHybride share point search
Hybride share point search
 
SharePoint & Azure, le couple gagnant
SharePoint & Azure, le couple gagnantSharePoint & Azure, le couple gagnant
SharePoint & Azure, le couple gagnant
 
Investir sur son API web (in French)
Investir sur son API web (in French)Investir sur son API web (in French)
Investir sur son API web (in French)
 
Introduction à Samsung bada
Introduction à Samsung badaIntroduction à Samsung bada
Introduction à Samsung bada
 
De l'open source à l'open API avec Restlet
De l'open source à l'open API avec RestletDe l'open source à l'open API avec Restlet
De l'open source à l'open API avec Restlet
 
GtugDakar AppEngine, Gwt
GtugDakar AppEngine, GwtGtugDakar AppEngine, Gwt
GtugDakar AppEngine, Gwt
 
IBM Bluemix Paris Meetup #22-20170315 Meetup @VillagebyCA- Bluemix, présent &...
IBM Bluemix Paris Meetup #22-20170315 Meetup @VillagebyCA- Bluemix, présent &...IBM Bluemix Paris Meetup #22-20170315 Meetup @VillagebyCA- Bluemix, présent &...
IBM Bluemix Paris Meetup #22-20170315 Meetup @VillagebyCA- Bluemix, présent &...
 
Eclipse day paris
Eclipse day parisEclipse day paris
Eclipse day paris
 
Azure Services Platform
Azure Services PlatformAzure Services Platform
Azure Services Platform
 

Plus de Paris Android User Group

Ingredient of awesome app - DroidCon Paris 2014
Ingredient of awesome app - DroidCon Paris 2014Ingredient of awesome app - DroidCon Paris 2014
Ingredient of awesome app - DroidCon Paris 2014Paris Android User Group
 
Deep dive into android restoration - DroidCon Paris 2014
Deep dive into android restoration - DroidCon Paris 2014Deep dive into android restoration - DroidCon Paris 2014
Deep dive into android restoration - DroidCon Paris 2014Paris Android User Group
 
Archos Android based connected home solution - DroidCon Paris 2014
Archos Android based connected home solution - DroidCon Paris 2014Archos Android based connected home solution - DroidCon Paris 2014
Archos Android based connected home solution - DroidCon Paris 2014Paris Android User Group
 
Porting VLC on Android - DroidCon Paris 2014
Porting VLC on Android - DroidCon Paris 2014Porting VLC on Android - DroidCon Paris 2014
Porting VLC on Android - DroidCon Paris 2014Paris Android User Group
 
Robotium vs Espresso: Get ready to rumble ! - DroidCon Paris 2014
Robotium vs Espresso: Get ready to rumble ! - DroidCon Paris 2014Robotium vs Espresso: Get ready to rumble ! - DroidCon Paris 2014
Robotium vs Espresso: Get ready to rumble ! - DroidCon Paris 2014Paris Android User Group
 
maximize app engagement and monetization - DroidCon Paris 2014
maximize app engagement and monetization - DroidCon Paris 2014maximize app engagement and monetization - DroidCon Paris 2014
maximize app engagement and monetization - DroidCon Paris 2014Paris Android User Group
 
Using the android ndk - DroidCon Paris 2014
Using the android ndk - DroidCon Paris 2014Using the android ndk - DroidCon Paris 2014
Using the android ndk - DroidCon Paris 2014Paris Android User Group
 
Holo material design transition - DroidCon Paris 2014
Holo material design transition - DroidCon Paris 2014Holo material design transition - DroidCon Paris 2014
Holo material design transition - DroidCon Paris 2014Paris Android User Group
 
Google glass droidcon - DroidCon Paris 2014
Google glass droidcon - DroidCon Paris 2014Google glass droidcon - DroidCon Paris 2014
Google glass droidcon - DroidCon Paris 2014Paris Android User Group
 
Embedded webserver implementation and usage - DroidCon Paris 2014
Embedded webserver implementation and usage - DroidCon Paris 2014Embedded webserver implementation and usage - DroidCon Paris 2014
Embedded webserver implementation and usage - DroidCon Paris 2014Paris Android User Group
 
Petit design Grande humanité par Geoffrey Dorne - DroidCon Paris 2014
Petit design Grande humanité par Geoffrey Dorne - DroidCon Paris 2014Petit design Grande humanité par Geoffrey Dorne - DroidCon Paris 2014
Petit design Grande humanité par Geoffrey Dorne - DroidCon Paris 2014Paris Android User Group
 
What's new in android 4.4 - Romain Guy & Chet Haase
What's new in android 4.4 - Romain Guy & Chet HaaseWhat's new in android 4.4 - Romain Guy & Chet Haase
What's new in android 4.4 - Romain Guy & Chet HaaseParis Android User Group
 
Efficient Image Processing - Nicolas Roard
Efficient Image Processing - Nicolas RoardEfficient Image Processing - Nicolas Roard
Efficient Image Processing - Nicolas RoardParis Android User Group
 
Projet aad v2 gefco - DroidCon Paris 18 june 2013
Projet aad v2   gefco  - DroidCon Paris 18 june 2013Projet aad v2   gefco  - DroidCon Paris 18 june 2013
Projet aad v2 gefco - DroidCon Paris 18 june 2013Paris Android User Group
 
Thinking cpu & memory - DroidCon Paris 18 june 2013
Thinking cpu & memory - DroidCon Paris 18 june 2013Thinking cpu & memory - DroidCon Paris 18 june 2013
Thinking cpu & memory - DroidCon Paris 18 june 2013Paris Android User Group
 
Rho mobile v4 - DroidCon Paris 18 june 2013
Rho mobile v4 - DroidCon Paris 18 june 2013Rho mobile v4 - DroidCon Paris 18 june 2013
Rho mobile v4 - DroidCon Paris 18 june 2013Paris Android User Group
 

Plus de Paris Android User Group (20)

Ingredient of awesome app - DroidCon Paris 2014
Ingredient of awesome app - DroidCon Paris 2014Ingredient of awesome app - DroidCon Paris 2014
Ingredient of awesome app - DroidCon Paris 2014
 
Framing the canvas - DroidCon Paris 2014
Framing the canvas - DroidCon Paris 2014Framing the canvas - DroidCon Paris 2014
Framing the canvas - DroidCon Paris 2014
 
Deep dive into android restoration - DroidCon Paris 2014
Deep dive into android restoration - DroidCon Paris 2014Deep dive into android restoration - DroidCon Paris 2014
Deep dive into android restoration - DroidCon Paris 2014
 
Archos Android based connected home solution - DroidCon Paris 2014
Archos Android based connected home solution - DroidCon Paris 2014Archos Android based connected home solution - DroidCon Paris 2014
Archos Android based connected home solution - DroidCon Paris 2014
 
Porting VLC on Android - DroidCon Paris 2014
Porting VLC on Android - DroidCon Paris 2014Porting VLC on Android - DroidCon Paris 2014
Porting VLC on Android - DroidCon Paris 2014
 
Robotium vs Espresso: Get ready to rumble ! - DroidCon Paris 2014
Robotium vs Espresso: Get ready to rumble ! - DroidCon Paris 2014Robotium vs Espresso: Get ready to rumble ! - DroidCon Paris 2014
Robotium vs Espresso: Get ready to rumble ! - DroidCon Paris 2014
 
Buildsystem.mk - DroidCon Paris 2014
Buildsystem.mk - DroidCon Paris 2014Buildsystem.mk - DroidCon Paris 2014
Buildsystem.mk - DroidCon Paris 2014
 
maximize app engagement and monetization - DroidCon Paris 2014
maximize app engagement and monetization - DroidCon Paris 2014maximize app engagement and monetization - DroidCon Paris 2014
maximize app engagement and monetization - DroidCon Paris 2014
 
Using the android ndk - DroidCon Paris 2014
Using the android ndk - DroidCon Paris 2014Using the android ndk - DroidCon Paris 2014
Using the android ndk - DroidCon Paris 2014
 
Holo material design transition - DroidCon Paris 2014
Holo material design transition - DroidCon Paris 2014Holo material design transition - DroidCon Paris 2014
Holo material design transition - DroidCon Paris 2014
 
Death to passwords - DroidCon Paris 2014
Death to passwords - DroidCon Paris 2014Death to passwords - DroidCon Paris 2014
Death to passwords - DroidCon Paris 2014
 
Google glass droidcon - DroidCon Paris 2014
Google glass droidcon - DroidCon Paris 2014Google glass droidcon - DroidCon Paris 2014
Google glass droidcon - DroidCon Paris 2014
 
Embedded webserver implementation and usage - DroidCon Paris 2014
Embedded webserver implementation and usage - DroidCon Paris 2014Embedded webserver implementation and usage - DroidCon Paris 2014
Embedded webserver implementation and usage - DroidCon Paris 2014
 
Petit design Grande humanité par Geoffrey Dorne - DroidCon Paris 2014
Petit design Grande humanité par Geoffrey Dorne - DroidCon Paris 2014Petit design Grande humanité par Geoffrey Dorne - DroidCon Paris 2014
Petit design Grande humanité par Geoffrey Dorne - DroidCon Paris 2014
 
What's new in android 4.4 - Romain Guy & Chet Haase
What's new in android 4.4 - Romain Guy & Chet HaaseWhat's new in android 4.4 - Romain Guy & Chet Haase
What's new in android 4.4 - Romain Guy & Chet Haase
 
Efficient Image Processing - Nicolas Roard
Efficient Image Processing - Nicolas RoardEfficient Image Processing - Nicolas Roard
Efficient Image Processing - Nicolas Roard
 
Build a user experience by Eyal Lezmy
Build a user experience by Eyal LezmyBuild a user experience by Eyal Lezmy
Build a user experience by Eyal Lezmy
 
Projet aad v2 gefco - DroidCon Paris 18 june 2013
Projet aad v2   gefco  - DroidCon Paris 18 june 2013Projet aad v2   gefco  - DroidCon Paris 18 june 2013
Projet aad v2 gefco - DroidCon Paris 18 june 2013
 
Thinking cpu & memory - DroidCon Paris 18 june 2013
Thinking cpu & memory - DroidCon Paris 18 june 2013Thinking cpu & memory - DroidCon Paris 18 june 2013
Thinking cpu & memory - DroidCon Paris 18 june 2013
 
Rho mobile v4 - DroidCon Paris 18 june 2013
Rho mobile v4 - DroidCon Paris 18 june 2013Rho mobile v4 - DroidCon Paris 18 june 2013
Rho mobile v4 - DroidCon Paris 18 june 2013
 

Google End points pour vos applications Android par Didier Girard 3 avril 2013

  • 1. Google Cloud Endpoints and Plateform @DidierGirard
  • 2. Barcamp Le 28 Mars 2009 de 10h00 à 17h30 à La Cantine
  • 6. La Team Didier Girard Développeur/Designer
  • 7. Un développeur Back End fait du Front End
  • 8. La Team Benoit Sparza Designer Didier Girard Développeur
  • 9. Un développeur Back End fait du Front End avec un infographiste
  • 10. La Team Benoit Sparza Designer Guillaume Le Roy Développeur Android Didier Girard Développeur AppEngine
  • 11. Bonus Lancement le 28 mars 2013 de ABEmoto 1.1.0 (GA)
  • 12. La Team Benoit Sparza Designer Guillaume Le Roy Développeur Android Didier Girard Développeur AppEngine A Trouver Community Manager
  • 13. Plan ● REST ● Cloud EndPoints ● Cloud Plateform
  • 14. REST
  • 15. REST : Roy Fielding Network Software Architecture PhD Roy 2000
  • 17. REST : communication entre ordinateurs
  • 18. REST : Architecture de votre application
  • 19. REST : Tout est une ressource accessible via une URI
  • 20. Deux types d'URL ● Une URL pour les collections ○ /users ● Une URL pour les éléments ○ /users/2314R5
  • 21. REST : Sans Etat
  • 23. REST : 4 Actions Standards POST GET PUT DELETE
  • 24. REST : 4 Actions Standards CREATE READ UPDATE DELETE
  • 25. REST : 4 Actions Standards POST GET PUT DELETE Ressource create read update delete Crée un Liste les MAJ de Supprime /users nouvel utilisateurs masse en masse utilisateur Récupère Update Delete un /users/2314R5 Erreur ! un user ou Erreur ! user
  • 26. Codes Retours : de 200 à 404
  • 27. Versioning /v1/users
  • 29. Représentation des ressources html, json, xml,...
  • 30. Cloud Endpoints Objectifs de Endpoints
  • 31. Objectif Construire une application multi-clients
  • 32. Objectif qui monte en charge
  • 33. Objectif en s'appuyant sur la plateforme Cloud de Google
  • 35. Cloud Endpoints ? ● REST-based APIs ● AppEngine backend ○ Python et JAVA ● Client-libraries for many Platforms ○ Android, iOS, JS ○ Python, Dart, PHP, ... ● Même infrastructure que les "nouvelles" APIs Google ○ Google+, Drive, YouTube v3, ... ● En progression permanente
  • 36. Demo ● GET, POST, PUT ● OAuth2 ● Client Android
  • 37. Quick Start avec le Cloud Google Didier Girard Alexis MP Sfeir Google @DidierGirard @alexismp
  • 38. Vous devez développer QuizzMyZik QuizzMyZik est un jeu pour téléphone mobile où les joueurs doivent trouver le plus rapidement possible le titre et l'artiste d'un morceau. ?
  • 39. Les défis techniques ● Etre multicanal ● Etre sécurisé ● Proposer du stockage massif ● Proposer du data analyse ● Encaisser des pics de charge cycliques ● Générer des diplômes au format pdf et les envoyer par email
  • 40. Architecture cible Authentifi cation Data NoSQL Mining Mobile Search Server Tablette Business API Machine High Capacity Storage Browser BI Serveur Serveur SMTP Impression
  • 41. Architecture cible OAuth Mahout Hadoop/Hbase Mobile ElasticSearch Serveur Tablette d'applications APISpark Machine High Capacity Storage ? Browser Base OLAP Serveur Serveur SMTP ? Impression ?
  • 42. Architecture cible Google Accounts Authentication and DataStore Authorization Prediction Mobile Search API Tablette AppEngine Cloud EndPoints Machine Cloud Storage Browser Print via BigQuery Compute Mail API Engine Google Cloud Platform
  • 43. Exemple de débit Google Accounts Authentication and DataStore Authorization Prediction Mobile Search API Tablette AppEngine Cloud EndPoints Machine Cloud Storage 30Mo Browser Print via BigQuery Compute Mail API Engine Google Cloud Platform
  • 45.
  • 47. Google Cloud Platform Tout pour simplifier la vie du développeur
  • 48. App Engine Easy to build Easy to scale
  • 49. Demo Prototypage facile Maven facile Traffic splitting
  • 50. Datastore, CloudSQL Easy to persist
  • 51. Search API Easy to search Add Google-like full-text search to your application ● Custom scoring and snippeting ● GeoSearch
  • 52. Cloud Storage API Easy to store Easy to share Easy to stream From 0 to 5 TB per Object
  • 53. BigQuery Easy to Query
  • 54. BigQuery BigQuery gives you this power How are developers using it? Store data with reliability, Game and social media redundancy and consistency analytics Go from data to meaning Infrastructure monitoring At scale ... Advertising campaign optimization Quickly! Sensor data analysis
  • 55. Prediction API Easy to predict
  • 56. Prediction API - Problématique DATA ?
  • 57. Prediction API - Training DATA Phase 1 : Training Result
  • 58. Prediction API - Prediction DATA ? Phase 2 : Predict
  • 59. Compute Engine Easy to Ops
  • 60. Google Compute APIs ● REST API (OAuth 2.0 / json) ● Python/Java/... Client APIs ● gcutil command line ● Web Console
  • 61. Compute Engine concepts Zones 33US 22Europe Zones US Europe Firewalls Network Network Firewalls Instance Instance Disks Disks Disks ephemeral, persitent metadatas ephemeral, persitent ephemeral, persitent Machine Machine Image Image highCPU, highMem, ... highCPU, highMem, centOS, Ubuntu, custom centOS, Ubuntu, ... custom
  • 62. Compute Engine Command line gcutil gcutil getproject --project=<project-id> --cache_flag_values gcutil addfirewall http2 --description="Incoming http allowed." -- allowed="tcp:http" gcutil addinstance --machine_type=$MACHINE_TYPE --image=$MACHINE_IMAGE --zone=$ZONE --metadata_from_file=startup-script:$STARTUP_SCRIPT $INSTANCE_NAME
  • 63. Mail API Easy to mail
  • 64. Cloud EndPoints Easy to connect
  • 65. Cloud EndPoints Console d'administration
  • 66. Google Accounts Easy to Authenticate Easy to Authorize
  • 67. De la fiction à la réalité 1,000,000 daily active users
  • 68. Merci