google cloud platform - building a scalable mobile application
TRANSCRIPT
![Page 1: Google Cloud Platform - Building a scalable mobile application](https://reader034.vdocument.in/reader034/viewer/2022042819/55ca314abb61ebf0658b4772/html5/thumbnails/1.jpg)
Building a scalable mobile application on Google Cloud Platform
![Page 2: Google Cloud Platform - Building a scalable mobile application](https://reader034.vdocument.in/reader034/viewer/2022042819/55ca314abb61ebf0658b4772/html5/thumbnails/2.jpg)
About us
Lukas Masuch Google+: +LukasMasuch Twitter: @lukasmasuch
Henning Muszynski Google+: +HenningBalboa Twitter: @henningmus
Benjamin Räthlein Google+: +BenjaminRäthlein Twitter: @B3nRa
![Page 3: Google Cloud Platform - Building a scalable mobile application](https://reader034.vdocument.in/reader034/viewer/2022042819/55ca314abb61ebf0658b4772/html5/thumbnails/3.jpg)
Drop Make the world around you more social
![Page 4: Google Cloud Platform - Building a scalable mobile application](https://reader034.vdocument.in/reader034/viewer/2022042819/55ca314abb61ebf0658b4772/html5/thumbnails/4.jpg)
![Page 5: Google Cloud Platform - Building a scalable mobile application](https://reader034.vdocument.in/reader034/viewer/2022042819/55ca314abb61ebf0658b4772/html5/thumbnails/5.jpg)
![Page 6: Google Cloud Platform - Building a scalable mobile application](https://reader034.vdocument.in/reader034/viewer/2022042819/55ca314abb61ebf0658b4772/html5/thumbnails/6.jpg)
Google Cloud Platform
![Page 7: Google Cloud Platform - Building a scalable mobile application](https://reader034.vdocument.in/reader034/viewer/2022042819/55ca314abb61ebf0658b4772/html5/thumbnails/7.jpg)
Google Cloud Platform
![Page 8: Google Cloud Platform - Building a scalable mobile application](https://reader034.vdocument.in/reader034/viewer/2022042819/55ca314abb61ebf0658b4772/html5/thumbnails/8.jpg)
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
![Page 9: Google Cloud Platform - Building a scalable mobile application](https://reader034.vdocument.in/reader034/viewer/2022042819/55ca314abb61ebf0658b4772/html5/thumbnails/9.jpg)
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
![Page 10: Google Cloud Platform - Building a scalable mobile application](https://reader034.vdocument.in/reader034/viewer/2022042819/55ca314abb61ebf0658b4772/html5/thumbnails/10.jpg)
Google Cloud Platform
![Page 11: Google Cloud Platform - Building a scalable mobile application](https://reader034.vdocument.in/reader034/viewer/2022042819/55ca314abb61ebf0658b4772/html5/thumbnails/11.jpg)
Cloud Datastore
Cloud Storage Cloud Endpoints File Servlet GCM Endpoint
Objectify
Other Dev Tools
App Engine
![Page 12: Google Cloud Platform - Building a scalable mobile application](https://reader034.vdocument.in/reader034/viewer/2022042819/55ca314abb61ebf0658b4772/html5/thumbnails/12.jpg)
App Engine
Cloud Endpoints
![Page 13: Google Cloud Platform - Building a scalable mobile application](https://reader034.vdocument.in/reader034/viewer/2022042819/55ca314abb61ebf0658b4772/html5/thumbnails/13.jpg)
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 ?
![Page 14: Google Cloud Platform - Building a scalable mobile application](https://reader034.vdocument.in/reader034/viewer/2022042819/55ca314abb61ebf0658b4772/html5/thumbnails/14.jpg)
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 parameters 1..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
![Page 15: Google Cloud Platform - Building a scalable mobile application](https://reader034.vdocument.in/reader034/viewer/2022042819/55ca314abb61ebf0658b4772/html5/thumbnails/15.jpg)
App Engine
Cloud Datastore
Cloud Storage File Servlet Cloud Endpoints
![Page 16: Google Cloud Platform - Building a scalable mobile application](https://reader034.vdocument.in/reader034/viewer/2022042819/55ca314abb61ebf0658b4772/html5/thumbnails/16.jpg)
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
![Page 17: Google Cloud Platform - Building a scalable mobile application](https://reader034.vdocument.in/reader034/viewer/2022042819/55ca314abb61ebf0658b4772/html5/thumbnails/17.jpg)
App Engine
Cloud Datastore
Cloud Storage File Servlet Cloud Endpoints
Cloud Datastore
Cloud Storage File Servlet Cloud Endpoints
Objectify
![Page 18: Google Cloud Platform - Building a scalable mobile application](https://reader034.vdocument.in/reader034/viewer/2022042819/55ca314abb61ebf0658b4772/html5/thumbnails/18.jpg)
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
![Page 19: Google Cloud Platform - Building a scalable mobile application](https://reader034.vdocument.in/reader034/viewer/2022042819/55ca314abb61ebf0658b4772/html5/thumbnails/19.jpg)
App Engine
Cloud Datastore
Cloud Storage File Servlet Cloud Endpoints
Cloud Datastore
Cloud Storage File Servlet Cloud Endpoints
Objectify
GCM Endpoint
![Page 20: Google Cloud Platform - Building a scalable mobile application](https://reader034.vdocument.in/reader034/viewer/2022042819/55ca314abb61ebf0658b4772/html5/thumbnails/20.jpg)
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
![Page 21: Google Cloud Platform - Building a scalable mobile application](https://reader034.vdocument.in/reader034/viewer/2022042819/55ca314abb61ebf0658b4772/html5/thumbnails/21.jpg)
App Engine
Cloud Datastore
Cloud Storage File Servlet Cloud Endpoints
Cloud Datastore
Cloud Storage File Servlet Cloud Endpoints
Objectify
GCM Endpoint
![Page 22: Google Cloud Platform - Building a scalable mobile application](https://reader034.vdocument.in/reader034/viewer/2022042819/55ca314abb61ebf0658b4772/html5/thumbnails/22.jpg)
App Engine
Cloud Datastore
Cloud Storage File Servlet Cloud Endpoints
Cloud Datastore
Cloud Storage File Servlet Cloud Endpoints
Objectify
GCM Endpoint
Other Dev Tools
![Page 23: Google Cloud Platform - Building a scalable mobile application](https://reader034.vdocument.in/reader034/viewer/2022042819/55ca314abb61ebf0658b4772/html5/thumbnails/23.jpg)
Resources & Links
Drop - Website
Google Cloud Playground (Python)
Github Repository – App Engine Skeleton