Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
Building mobile app backend 
with Google Cloud Platform 
Google confidential │ Do not distribute 
Dmitry Nefedkin 
Google ...
Google confidential │ Do not distribute 
Agenda 
Google Cloud Platform - why should I care? 
“API-first” backend developme...
Google confidential │ Do not distribute 
Agenda 
Google Cloud Platform - why should I care? 
“API-first” backend developme...
2.9M 
mobile developers worldwide 
Source: http://blogs.telerik.com/platform/posts/14-05-13/introducing-telerik-platform-d...
2M 
apps already 
developed 
Source: http://fraudforthought.com/index.php/its-an-apps-world/ 
Source: Developer Economics ...
Developers target 
2.3 
platform on average 
Source: http://www.techtimes.com/articles/13106/20140815/android-ios-combined...
HTML5 is used by 
42% 
of developers as 
a technology for 
app development 
Source: http://41mag.fr/wp-content/themes/chan...
For the past 15 years, Google 
has been building out the 
world’s fastest, most powerful, 
highest quality cloud 
infrastr...
Google confidential │ Do not distribute 
A Network that Spans the Globe
Google confidential │ Do not distribute 
A Network that Spans the Globe
Continue to Innovate & Improve our Tooling 
Google confidential │ Do not distribute 
MapReduce Dremel Spanner 
Big Table C...
Google confidential │ Do not distribute 
Storage 
Cloud Storage Cloud SQL Cloud 
Datastore 
Compute 
Compute 
App Engine E...
Google confidential │ Do not distribute 
Yes, We Can Power That 
Mobile Gaming Storage 
Big Data Highly Scalable Apps Digi...
Google confidential │ Do not distribute 
Agenda 
Google Cloud Platform - why should I care? 
“API-first” backend developme...
API-First development: What & Why 
Image from “How API-First Development Boosts Productivity” 
full story - http://goo.gl/...
Google App Engine: easy to build, scale, maintain 
● Java, Python, PHP, Go Support 
● Rapid application development 
● Sca...
Google Cloud Endpoints 
Extremely simple way to expose server side logic on full 
power, management free Google App Engine...
Taking the plumbing out of API programming 
Mobile Backend Running on 
Google App Engine Instances 
Mobile Backend Running...
Android Studio + Cloud Endpoints 
Easiest way for mobile 
developers to connect to 
Google Cloud Platform 
• Create Google...
Call Cloud Endpoints API from iOS 
● Generate RPC Discovery documents in AndroidStudio using 
appengineEndpointsGetDiscove...
Call Cloud Endpoints API from Javascript 
• Use the Google Javascript Client Library 
<script src="https://apis.google.com...
Google confidential | Do not distribute 
Demo: a case management app for mobile workers
getTask().execute() 
App Engine backend 
Cloud Datastore 
Cloud Endpoints 
Cases app 
Client Libraries 
Demo Architecture ...
Google confidential | Do not distribute 
Snapchat 
● Delivers > 700 million photos & 
videos per day (May, 2014) 
● Heavy ...
Google confidential | Do not distribute 
Rovio 
● Angry Birds for Chrome, FB 
● Using the Datastore to store 
game data 
●...
Google confidential | Do not distribute 
FreshPlanet 
● SongPop - “guess a song 
application” 
● Serves 18TB a day with 80...
Google confidential │ Do not distribute 
Agenda 
Google Cloud Platform - why should I care? 
“API-first” backend developme...
Google confidential │ Do not distribute 
API-first is cool but... 
● we do not have dedicated 
backend developers; 
● we w...
Google confidential │ Do not distribute 
Firebase 
“Over the past three years, 
we’ve gone from a crazy 
idea that ‘just m...
Google confidential │ Do not distribute 
Firebase 
● Server and NoSQL database to 
interact with through API calls 
● Sync...
Google confidential │ Do not distribute 
Firebase Forge 
The Firebase Forge 
provides a 
convenient GUI for 
visualizing a...
Google confidential │ Do not distribute 
Firebase demo: image drawing application
$500 in Cloud Platform credit 
to launch your idea! 
Build. Store. Analyze. 
On the same infrastructure that 
powers Googl...
Google confidential │ Do not distribute 
cloud.google.com 
Dmitry Nefedkin (nda@google.com) 
Google Cloud Platform Solutio...
Upcoming SlideShare
Loading in …5
×

#MBLTdev: Разработка backend для мобильного приложения с использованием Google Cloud (Google)

1,261 views

Published on

#MBLTdev: Конференция мобильных разработчиков
Спикер: Дмитрий Нефедкин
Пресейл инженер, Google
http://mbltdev.ru/

Published in: Mobile
  • Login to see the comments

#MBLTdev: Разработка backend для мобильного приложения с использованием Google Cloud (Google)

  1. 1. Building mobile app backend with Google Cloud Platform Google confidential │ Do not distribute Dmitry Nefedkin Google Cloud Platform Solutions Engineer Natalia Efimtseva Developer Relations Program Manager
  2. 2. Google confidential │ Do not distribute Agenda Google Cloud Platform - why should I care? “API-first” backend development with Google Cloud endpoints “Frontend-first” approach and how Firebase can help 1 2 3
  3. 3. Google confidential │ Do not distribute Agenda Google Cloud Platform - why should I care? “API-first” backend development with Google Cloud endpoints “Frontend-first” approach and how Firebase can help 1 2 3
  4. 4. 2.9M mobile developers worldwide Source: http://blogs.telerik.com/platform/posts/14-05-13/introducing-telerik-platform-developer-edition-for-just-$39-month Source: Developer Economics Q3 2014: State of the Developer Nation `
  5. 5. 2M apps already developed Source: http://fraudforthought.com/index.php/its-an-apps-world/ Source: Developer Economics Q3 2014: State of the Developer Nation
  6. 6. Developers target 2.3 platform on average Source: http://www.techtimes.com/articles/13106/20140815/android-ios-combined-market-share-swells-leaving-2-5-percent-for-windows-phone.htm Source: Developer Economics Q3 2014: State of the Developer Nation
  7. 7. HTML5 is used by 42% of developers as a technology for app development Source: http://41mag.fr/wp-content/themes/channel/images/menuHtml5.png Source: Developer Economics Q3 2014: State of the Developer Nation
  8. 8. For the past 15 years, Google has been building out the world’s fastest, most powerful, highest quality cloud infrastructure on the planet. Images by Connie Zhou Google confidential │ Do not distribute
  9. 9. Google confidential │ Do not distribute A Network that Spans the Globe
  10. 10. Google confidential │ Do not distribute A Network that Spans the Globe
  11. 11. Continue to Innovate & Improve our Tooling Google confidential │ Do not distribute MapReduce Dremel Spanner Big Table Colossus Compute Engine GFS 2002 2004 2006 2008 2010 2012 2013 2014+ More!
  12. 12. Google confidential │ Do not distribute Storage Cloud Storage Cloud SQL Cloud Datastore Compute Compute App Engine Engine App Services BigQuery Cloud Endpoints Google Cloud Platform
  13. 13. Google confidential │ Do not distribute Yes, We Can Power That Mobile Gaming Storage Big Data Highly Scalable Apps Digital Marketing
  14. 14. Google confidential │ Do not distribute Agenda Google Cloud Platform - why should I care? “API-first” backend development with Google Cloud endpoints “Frontend-first” approach and how Firebase can help 1 2 3
  15. 15. API-First development: What & Why Image from “How API-First Development Boosts Productivity” full story - http://goo.gl/o3WBIq What: every piece of shared functionality for your organization it should be exposed as a RESTful HTTP API to all of your other developers Why: ● Enforcing separation of concerns; ● Hiding complexity “API Economy” is coming
  16. 16. Google App Engine: easy to build, scale, maintain ● Java, Python, PHP, Go Support ● Rapid application development ● Scale infinitely ● Replicated data storage ● Versioning and Traffic Splitting ● Familiar development tools
  17. 17. Google Cloud Endpoints Extremely simple way to expose server side logic on full power, management free Google App Engine platform • Uses App Engine’s auto-scaling and high-availability • Exposes standards based REST interfaces with built-in authorization • Auto-generates strongly typed, mobile optimized client libraries for Android, iOS and web. • Makes you more productive!
  18. 18. Taking the plumbing out of API programming Mobile Backend Running on Google App Engine Instances Mobile Backend Running on Google App Engine Instances Mobile Backend Running on Google App Engine Instances Cloud Endpoints Clients
  19. 19. Android Studio + Cloud Endpoints Easiest way for mobile developers to connect to Google Cloud Platform • Create Google App Engine backends in Android Studio • Generate Java-specific bindings for use in Android app • Benefit from as-you-type validations and quick-fixes when defining the backend API • Use App Engine-specific Gradle tooling that allows for a unified client/backend build
  20. 20. Call Cloud Endpoints API from iOS ● Generate RPC Discovery documents in AndroidStudio using appengineEndpointsGetDiscoveryDocs Gradle task ● Download and build ServiceGenerator ● Use ServiceGenerator command line utility to generate Objective-C code from RPC Discovery document ● Include generated Objective-C files to your XCode project ● Add code to call Cloud Endpoints API from the UI of the app For more info: http://goo.gl/JhdaVW
  21. 21. Call Cloud Endpoints API from Javascript • Use the Google Javascript Client Library <script src="https://apis.google.com/js/client.js?onload=init"></script> • Load the endpoint var ROOT = 'https://your_app_id.appspot.com/_ah/api'; gapi.client.load('your_api_name', 'v1', function() { doSomethingAfterLoading();}, ROOT); • Use the endpoint: gapi.client.tictactoe.scores.insert({'outcome': 'WON'}).execute(function(resp) { console.log(resp); }); More info: http://goo.gl/5ynKEb
  22. 22. Google confidential | Do not distribute Demo: a case management app for mobile workers
  23. 23. getTask().execute() App Engine backend Cloud Datastore Cloud Endpoints Cases app Client Libraries Demo Architecture pushToRemote pullFromRemote storeTask().execute() query.get() transaction.commit() Chrome Mgmt Extension updateCases(). execute() getAllCases().execute() Javascript Libraries
  24. 24. Google confidential | Do not distribute Snapchat ● Delivers > 700 million photos & videos per day (May, 2014) ● Heavy user of App Engine services ● 3 M DAU ● Started to use Compute Engine for some services
  25. 25. Google confidential | Do not distribute Rovio ● Angry Birds for Chrome, FB ● Using the Datastore to store game data ● Memcache API ● Task Queues for Background Operations ● Users API for Authentication
  26. 26. Google confidential | Do not distribute FreshPlanet ● SongPop - “guess a song application” ● Serves 18TB a day with 80 million users ● Fetching media from Google Cloud Storage ● Just 3-4 developers per project
  27. 27. Google confidential │ Do not distribute Agenda Google Cloud Platform - why should I care? “API-first” backend development with Google Cloud endpoints “Frontend-first” approach and how Firebase can help 1 2 3
  28. 28. Google confidential │ Do not distribute API-first is cool but... ● we do not have dedicated backend developers; ● we want to prototype quickly; ● we just need to store the data and sync them between the connected clients; ● we need offline support; Image source: https://beingsakin.files.wordpress.com/2011/11/yesbut.jpg
  29. 29. Google confidential │ Do not distribute Firebase “Over the past three years, we’ve gone from a crazy idea that ‘just might work’ to a proven product used by 110,000 developers. Today, I couldn’t be happier to announce that we’ve joined Google.”
  30. 30. Google confidential │ Do not distribute Firebase ● Server and NoSQL database to interact with through API calls ● Sync data from multiple applications ● Simple Login Service with several types of built-in authentication ● Security: SSL encryption & security rules ● Support offline mode
  31. 31. Google confidential │ Do not distribute Firebase Forge The Firebase Forge provides a convenient GUI for visualizing and manipulating your data in real-time.
  32. 32. Google confidential │ Do not distribute Firebase demo: image drawing application
  33. 33. $500 in Cloud Platform credit to launch your idea! Build. Store. Analyze. On the same infrastructure that powers Google Start using Cloud Platform now! Click ‘Apply Now’ and complete the application with promo code: devbyte A voucher will be sent to your email 1 2 3 Go to cloud.google.com/starterpack 4 Create a new Project in Cloud Console, activate the billing and apply voucher - http://console.developers.google. com/billing/redeem
  34. 34. Google confidential │ Do not distribute cloud.google.com Dmitry Nefedkin (nda@google.com) Google Cloud Platform Solutions Engineer Natalia Efimtseva (nataliae@google.com) Developer Relations Program Manager Images by Connie Zhou

×