300 - multiplatform apps on google cloud platform
DESCRIPTION
Google Cloud Platform presentation as presented in Mobile Monday Tel Aviv event on January 2014TRANSCRIPT
Multi Platform Apps on the Google Cloud Platform
Nir ChinskyHead Of Cloud Platform - [email protected]
#MobileMonday
Why Cloud for Mobile Apps?
Scale on Demand
Analytics for User Engagement and
Retention
Social and Connected Apps are
becomingmore popular
Global Availability
Focus on developing your
App - reduced time to market
Google confidential │ Do not distribute
The Economic Factor
Your App
Cost
Build own DCHire SysAdminBuild App
Use Cloud (No CapEx)Hire SysAdminBuild App
Use Platform(Reduce admin overheads)Build App
Infrastructure
Infrastructure Management
Developers
Proven Google hardware and software infrastructure for running your gaming backends and services
APIs to monetize, build and integrate, and mobile & web stores for distribution
Pay only for what you use
Get started easily and grow fast. Complete architectural flexibility across PaaS and/or Iaas.
Why Google for Cloud?
Google Cloud Platform
Google InfrastructurePerformance
Redundancy
Disaster Recovery
Audits & Certifications
Security
Energy Efficient
Global Data Centers
99.95% Uptime SLA
Compute Storage ServicesCompute Engine (IaaS)
App Engine (PaaS)
Cloud Storage (Object)
Cloud SQL (Relational)
Cloud Datastore (NoSQL)
BigQuery
Cloud EndPoints
Caching
Queues
and more...
Google Services
Google Cloud Platform is built on the same infrastructure that powers Google.
Your app here
A Network that Spans the Globe
Cloud Platform
• Platform-as-a-service
• Popular Programming Language Support
• Auto-scaling
• Versioning and Traffic Splitting
• Static Content Serving and Caching
• Local Developer Tools
• European Zones for Locality and Compliance
• Google FrontEnds protect against DOS attacks
• Integrated Auth for Google Accounts
App Engine
Features
• Multiple OS Virtual Machines
• Large range of Instance types
• Sub-Hour Billing
• Shared core VM types (Micro and Small)
• Persistent Disk (up to 10TB) options
• Advanced Networking
• Load Balancing
• Service Accounts for auth to other services
• API for management of Compute Resources
Compute Engine
Features
Google confidential │ Do not distribute
Launching 100 virtual machines
Scalability
APIBigQuery is an API and can easily be integrated with your own Apps or with 3rd Party Apps
Insights into User Acquisition and Engagement, Automate Retention based on analysis
Analysis
Grows with your project, scales horizontally to 100 Bn's of rows with no loss of performance on interactive queries
Big Query
Features
Google confidential │ Do not distribute
Cloud Endpoints
• Build Server side logic on full power, management free App Engine platform
• Expose standards based REST interfaces with built in Authorization
• Use auto-generated, strongly typed, mobile optimized client libraries for Android, iOS and web.
Google confidential │ Do not distribute
Cloud Endpoints● Create APIs for Mobile Apps/Games to
communicate with Apps/Gaming Backends
● Add annotations to client interface application code or generate Endpoint classes from Models.
● Discoverable, Restful APIs implemented on top of Google’s API Infrastructure
● Tools available for generating Client Libraries for Android, iOS and JavaScript
● Built-In Authentication SupportStorage Web APIs
Making MoneyAdmob / Google Play
Understanding your user allows you to optimise in-app sales.
Source: GartnerNote: Apple as paid >$3B$´s to developers as of 9/11, implying gross app market revenue of $4B in 3 years; Google indicated during CQ3 earnings call that it expects $2.5B mobile ad revenue in 2011E
Mobile A
d + Apps S
pending (billions)
$0.7B
$12B
Drive revenue from your content using in-app advertising.
Google has the full range
Apps on the Google Cloud Platform
● Deliver dynamic App content● Facilitate multiplayer games, including matching players● Store data outside of the mobile device, e.g., the last completed level, or
the scores achieved in previous plays● Manage leaderboards and achievements● Orchestrate push notifications● Facilitate in-App purchases● Perform user analytics
App/Gaming Backends to ...
● Support iOS and Android Devices + Web
● Scalable to Millions of Users
● Engaging Social Components
Mobile App Reference Architecture
Java - App Engine
App APISend App Invitation
@ApiMethod(httpMethod = "PUT", path ="app/{appId}/invitation/{userId}") public InvitationResult sendInvitation(
@Named("appId") Long gameId, @Named("appId") Long playerId,
User user)throws ServiceException { }
Java - Android AppInvitationResult invitation = appBackend.sendInvitation( appId, userId)).execute();
Cloud Endpoints DevelopmentGenerate Client Library
Java - App Engine
Mobile Game-AppEngine $ endpoints.sh get-client-lib org.arw.examples.appengine.mobilegame.GameInviteEndpoint
Jul 17, 2013 3:05:32 PM com.google.apphosting.utils.config.AppEngineWebXmlReader readAppEngineWebXmlINFO: Successfully processed ./war/WEB-INF/appengine-web.xmlAPI configuration written to ./gameinviteendpoint-v1.apiAPI Discovery Document written to ./gameinviteendpoint-v1-rpc.discoveryAPI Discovery Document written to ./gameinviteendpoint-v1-rest.discoveryAPI client library written to ./gameinviteendpoint-v1-java.zip
Push Notifications● App Engine supports mobile device
messaging○ Apple Push Notifications (using
Sockets API)○ Google Cloud Messaging (using
GCM Server)● Examples:
○ Send game invites from friends○ Display ‘toasts’ with important
messages
Data and Object Storage● Cloud Storage
○ Dynamic Content○ Large Binary Objects○ Served Directly via URL
● Cloud DataStore○ Finer grained properties (Device
registration, in-game purchases, etc)● Memcache
○ Improved performance and scalability○ Lower costs
Wrap Up
#MobileMonday
#MobileMonday
Google confidential | Do not distribute
Thank YouNir