SlideShare a Scribd company logo
Building a scalable mobile application on
Google Cloud Platform
About us
Lukas Masuch
Google+: +LukasMasuch Twitter: @lukasmasuch
Henning Muszynski
Google+: +HenningBalboa Twitter: @henningmus
Benjamin Räthlein
Google+: +BenjaminRäthlein Twitter: @B3nRa
DropMake the world around you more social
Google Cloud Platform - Building a scalable Mobile Application
Google Cloud Platform - Building a scalable Mobile Application
Google Cloud Platform
Google Cloud Platform
Cloud Platform – Compute
Container Engine: Run Docker container cluster on
Google Cloud Platform – Container-as-a-Service
App Engine: Deploy your code directly to a fully-
managed platform - Platform-as-a-Service
Compute Engine: Virtual machines hosted on
Google's infrastructure - Infrastructure-as-a-Service
Cloud Platform – Storage Options
Cloud Datastore: Store highly structured objects and
query with SQL-like statements
Cloud SQL: Full SQL support for an online transaction
processing (OLTP) system
Cloud Storage: Store immutable blobs larger than
10 MB, such as large images or videos
Cloud BigTable: High-performance, extremely
scalable NoSQL database, scales to billions of entries
Google Cloud Platform
Cloud Datastore
Cloud StorageCloud Endpoints File ServletGCM Endpoint
Objectify
Other Dev Tools
App Engine
App Engine
Cloud Endpoints
1. Annotate 2. Generate 3. Run everywhere
Cloud Endpoint
REST has never been easier!
Automatically generate client libraries to make
wiring up the client to your backend easy.
+ Annotation based
+ Easy declaration of REST
methods and services
+ support for local testing
Really ?
Cloud Endpoint - Pitfalls
What we should have known before
Endpoint methods allow only one object as parameter
1
Enums are neither returnable nor allowed as parameters1..2..3
No native data types are returnable. Use Wrappers!int
Getter / Setter require to be named same as the member
variables. Otherwise duplicate methods are generated
App Engine
Cloud Datastore
Cloud StorageFile ServletCloud Endpoints
Cloud Datastore & Cloud Storage
Save everything in the cloud!
Datastore: Store all entities
Storage: Store all files
Better database design vs. less data operations
Cloud Storage: Convenient API for Images.
Additional Servlet for Files needed.
Manageable with an easy-to-use Interface on
Google Cloud Console
App Engine
Cloud Datastore
Cloud StorageFile ServletCloud Endpoints
Cloud Datastore
Cloud StorageFile ServletCloud Endpoints
Objectify
Objectify
The simplest convenient ORM for App Engine datastore
Enables you to store and retrieve your Object
directly from Cloud Datastore. It is that simple!
It just works like a charm!
+ Annotation based
+ Easy caching and indexing
+ Human-friendly query interface
App Engine
Cloud Datastore
Cloud StorageFile ServletCloud Endpoints
Cloud Datastore
Cloud StorageFile ServletCloud Endpoints
Objectify
GCM Endpoint
Google Cloud Messaging - Users want to be notified!
1. Registration
2. GCM ID
App Engine
Cloud Datastore
Cloud Endpoints GCM Endpoint
Objectify
3. Send GCM ID
to App Engine
4. push messages
App Engine
Cloud Datastore
Cloud StorageFile ServletCloud Endpoints
Cloud Datastore
Cloud StorageFile ServletCloud Endpoints
Objectify
GCM Endpoint
App Engine
Cloud Datastore
Cloud StorageFile ServletCloud Endpoints
Cloud Datastore
Cloud StorageFile ServletCloud Endpoints
Objectify
GCM Endpoint
Other Dev Tools
Resources & Links
Drop - Website
Google Cloud Playground (Python)
Github Repository – App Engine Skeleton
Lukas Masuch
Henning Muszynski
Benjamin Räthlein

More Related Content

Google Cloud Platform - Building a scalable Mobile Application

  • 1. Building a scalable mobile application on Google Cloud Platform
  • 2. About us Lukas Masuch Google+: +LukasMasuch Twitter: @lukasmasuch Henning Muszynski Google+: +HenningBalboa Twitter: @henningmus Benjamin Räthlein Google+: +BenjaminRäthlein Twitter: @B3nRa
  • 3. DropMake the world around you more social
  • 8. Cloud Platform – Compute Container Engine: Run Docker container cluster on Google Cloud Platform – Container-as-a-Service App Engine: Deploy your code directly to a fully- managed platform - Platform-as-a-Service Compute Engine: Virtual machines hosted on Google's infrastructure - Infrastructure-as-a-Service
  • 9. Cloud Platform – Storage Options Cloud Datastore: Store highly structured objects and query with SQL-like statements Cloud SQL: Full SQL support for an online transaction processing (OLTP) system Cloud Storage: Store immutable blobs larger than 10 MB, such as large images or videos Cloud BigTable: High-performance, extremely scalable NoSQL database, scales to billions of entries
  • 11. Cloud Datastore Cloud StorageCloud Endpoints File ServletGCM Endpoint Objectify Other Dev Tools App Engine
  • 13. 1. Annotate 2. Generate 3. Run everywhere Cloud Endpoint REST has never been easier! Automatically generate client libraries to make wiring up the client to your backend easy. + Annotation based + Easy declaration of REST methods and services + support for local testing Really ?
  • 14. Cloud Endpoint - Pitfalls What we should have known before Endpoint methods allow only one object as parameter 1 Enums are neither returnable nor allowed as parameters1..2..3 No native data types are returnable. Use Wrappers!int Getter / Setter require to be named same as the member variables. Otherwise duplicate methods are generated
  • 15. App Engine Cloud Datastore Cloud StorageFile ServletCloud Endpoints
  • 16. Cloud Datastore & Cloud Storage Save everything in the cloud! Datastore: Store all entities Storage: Store all files Better database design vs. less data operations Cloud Storage: Convenient API for Images. Additional Servlet for Files needed. Manageable with an easy-to-use Interface on Google Cloud Console
  • 17. App Engine Cloud Datastore Cloud StorageFile ServletCloud Endpoints Cloud Datastore Cloud StorageFile ServletCloud Endpoints Objectify
  • 18. Objectify The simplest convenient ORM for App Engine datastore Enables you to store and retrieve your Object directly from Cloud Datastore. It is that simple! It just works like a charm! + Annotation based + Easy caching and indexing + Human-friendly query interface
  • 19. App Engine Cloud Datastore Cloud StorageFile ServletCloud Endpoints Cloud Datastore Cloud StorageFile ServletCloud Endpoints Objectify GCM Endpoint
  • 20. Google Cloud Messaging - Users want to be notified! 1. Registration 2. GCM ID App Engine Cloud Datastore Cloud Endpoints GCM Endpoint Objectify 3. Send GCM ID to App Engine 4. push messages
  • 21. App Engine Cloud Datastore Cloud StorageFile ServletCloud Endpoints Cloud Datastore Cloud StorageFile ServletCloud Endpoints Objectify GCM Endpoint
  • 22. App Engine Cloud Datastore Cloud StorageFile ServletCloud Endpoints Cloud Datastore Cloud StorageFile ServletCloud Endpoints Objectify GCM Endpoint Other Dev Tools
  • 23. Resources & Links Drop - Website Google Cloud Playground (Python) Github Repository – App Engine Skeleton