google end points pour vos applications android par didier girard 3 avril 2013

68
Google Cloud Endpoints and Plateform @DidierGirard

Upload: paris-android-user-group

Post on 26-Jan-2015

105 views

Category:

Technology


0 download

DESCRIPTION

 

TRANSCRIPT

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

Google Cloud Endpoints and Plateform@DidierGirard

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

Barcamp

Le 28 Mars 2009 de 10h00 à 17h30 à La Cantine

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

Nous l'avons fait !

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

Software Development Experts

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

www.abonentendeur.com

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

La Team

Didier GirardDéveloppeur/Designer

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

Un développeur Back End fait du Front End

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

La TeamBenoit SparzaDesigner

Didier GirardDéveloppeur

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

Un développeur Back End fait du Front Endavec un infographiste

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

La TeamBenoit SparzaDesigner

Guillaume Le RoyDéveloppeur Android

Didier GirardDéveloppeur AppEngine

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

Lancement le 28 mars 2013 de ABEmoto 1.1.0 (GA)

Bonus

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

La TeamBenoit SparzaDesigner

Guillaume Le RoyDéveloppeur Android

Didier GirardDéveloppeur AppEngine

A TrouverCommunity Manager

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

Plan

● REST● Cloud EndPoints● Cloud Plateform

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

REST

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

REST : Roy Fielding

PhD

Roy

2000

NetworkSoftwareArchitecture

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

Qui utilisent REST ?

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

REST : communication entre ordinateurs

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

REST : Architecture de votre application

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

REST : Tout est une ressource accessible via une URI

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

Deux types d'URL

● Une URL pour les collections○ /users

● Une URL pour les éléments○ /users/2314R5

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

REST : Sans Etat

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

REST != Statefull

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

REST : 4 Actions Standards

POST

DELETEPUT

GET

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

REST : 4 Actions Standards

CREATE

DELETEUPDATE

READ

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

REST : 4 Actions Standards

Ressource POSTcreate

GETread

PUTupdate

DELETEdelete

/usersCrée un nouvel

utilisateur Liste les

utilisateursMAJ de masse

Supprime en masse

/users/2314R5 Erreur ! Récupère un user

Updateou Erreur !

Delete un user

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

Codes Retours : de 200 à 404

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

Versioning

/v1/users

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

Authentification

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

Représentation des ressources

html, json, xml,...

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

Cloud Endpoints

Objectifs de Endpoints

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

Objectif

Construire une application multi-clients

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

Objectif

qui monte en charge

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

Objectif

en s'appuyant sur la plateforme Cloud de Google

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

Architecture

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

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

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

Demo

● GET, POST, PUT● OAuth2● Client Android

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

Quick Start avec leCloud Google

Didier Girard Alexis MPSfeir Google

@DidierGirard @alexismp

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

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.

?

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

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

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

Architecture cible

APIBusiness

Search Server

NoSQLData Mining

High Capacity Storage

Mobile

Tablette

Machine

Browser

Authentification

Serveur Impression

Serveur SMTP

BI

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

Architecture cible

APISpark

Serveur d'applications

ElasticSearch

Hadoop/HbaseMahout

High Capacity Storage ?

Mobile

Tablette

Machine

Browser

OAuth

Serveur Impression ?

Serveur SMTP ?

Base OLAP

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

Architecture cible

Cloud EndPoints

AppEngineSearch API

DataStorePrediction

Cloud Storage

Mobile

Tablette

Machine

Browser

Google Accounts Authentication and

Authorization

Print via Compute Engine Mail API

BigQuery

Google Cloud Platform

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

Exemple de débit

Cloud EndPoints

AppEngineSearch API

DataStorePrediction

Cloud Storage

Mobile

Tablette

Machine

Browser

Google Accounts Authentication and

Authorization

Print via Compute Engine Mail API

BigQuery

Google Cloud Platform

30Mo

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

La plateforme Google

Page 45: Google End points pour vos applications Android par Didier Girard 3 avril 2013
Page 46: Google End points pour vos applications Android par Didier Girard 3 avril 2013

Google Cloud Platform

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

Google Cloud Platform

Tout pour simplifier la vie du développeur

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

App Engine

Easy to buildEasy to scale

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

Demo

Prototypage facileMaven facileTraffic splitting

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

Datastore, CloudSQL

Easy to persist

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

Search API

Easy to search

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

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

Cloud Storage API

Easy to storeEasy to shareEasy to stream

From 0 to 5 TB per Object

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

BigQuery

Easy to Query

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

BigQuery gives you this power

Store data with reliability,redundancy and consistency

Go from data to meaning

Quickly!

At scale ...

How are developers using it?

Game and social media analytics

Advertising campaign optimization

Sensor data analysis

Infrastructure monitoring

BigQuery

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

Prediction API

Easy to predict

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

Prediction API - Problématique

DATA ?

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

Prediction API - Training

DATA

ResultPhase 1 : Training

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

Prediction API - Prediction

DATA ?

Phase 2 : Predict

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

Compute Engine

Easy to Ops

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

Google Compute APIs

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

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

NetworkInstance

Zones 3 US 2 Europe

Compute Engine concepts

Zones 3 US 2 Europe

NetworkNetworkInstance Disks

ephemeral, persitent

ImagecentOS, Ubuntu,

custom

MachinehighCPU, highMem,

...

Disksephemeral, persitent

FirewallsFirewalls

Instance Disksephemeral, persitent

ImagecentOS, Ubuntu, custom

MachinehighCPU, highMem, ...

Disksephemeral, persitentmetadatas

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

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

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

Mail API

Easy to mail

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

Cloud EndPoints

Easy to connect

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

Cloud EndPoints

Console d'administration

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

Google Accounts

Easy to AuthenticateEasy to Authorize

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

De la fiction à la réalité

http://googleappengine.blogspot.fr/2013/02/scaling-songpop-to-60-million-users.html

1,000,000 daily active users

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

Merci