SlideShare ist ein Scribd-Unternehmen logo
1 von 36
Downloaden Sie, um offline zu lesen
Google confidential │ Do not distributeGoogle confidential │ Do not distribute
Building mobile app backend
with Google Cloud Platform
Dmitry Nefedkin
Google Cloud Platform Solutions Engineer
Natalia Efimtseva
Developer Relations Program Manager
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
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
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
2.9Mmobile developers worldwide
2Mapps already
developed
Source: http://fraudforthought.com/index.php/its-an-apps-world/
Source: Developer Economics Q3 2014: State of the Developer Nation
Source: http://41mag.fr/wp-content/themes/channel/images/menuHtml5.png
Source: Developer Economics Q3 2014: State of the Developer Nation
HTML5 is used by
42%
of developers as
a technology for
app development
Developers target
2.2platform 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
Google confidential │ Do not distribute
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
A Network that Spans the Globe
Google confidential │ Do not distribute
A Network that Spans the Globe
Google confidential │ Do not distribute
Continue to Innovate & Improve our Tooling
SpannerDremelMapReduce
Big Table Colossus
Compute
Engine
2012 2014+2002 2004 2006 2008 2010
GFS
2013
More!
Google confidential │ Do not distribute
Storage
Cloud Storage Cloud SQL
Cloud
Datastore
Compute
Compute
Engine
App Engine
App Services
BigQuery
Cloud
Endpoints
Google Cloud Platform
Google confidential │ Do not distribute
Mobile Gaming Storage
Big Data Highly Scalable Apps Digital Marketing
Yes, We Can Power That
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
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
Pretty old & well-deserved Horse...
Image source: http://www.ehow.com/way_5475563_feed-three-year-old-horse.html
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
… but with the new carriage
Image source: http://www.today.com/news/history-wheels-5-things-know-about-queens-new-carriage-2D79756846
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!
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
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
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
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
Google confidential | Do not distribute
Demo: a case management app for mobile workers
getTask().execute()
Cloud Datastore
App Engine backend
CloudEndpoints
Cases app
ClientLibraries
Demo Architecture
pullFromRemote
pushToRemote
storeTask().execute()
query.get() transaction.commit()
Chrome Mgmt
Extension
getAllCases().execute()
updateCases().
execute()
JavascriptLibraries
Cloud Endpoints Tutorial for Android: github.
com/GoogleCloudPlatform/endpoints-codelab-android
Google confidential | Do not distribute
● 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
Snapchat
Google confidential | Do not distribute
● Angry Birds for Chrome, FB
● Using the Datastore to store
game data
● Memcache API
● Task Queues for Background
Operations
● Users API for Authentication
Rovio
Google confidential | Do not distribute
● 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
FreshPlanet
Google confidential │ Do not distribute
Ok, I wanna try!
cloud.google.com/free-trial
● 300$ - Google Cloud Platform Credits
● 60 days
● all products (max 2 concurrent cores for
Google Compute Engine)
● still have to enter credit card details
during the registration
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
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
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.”
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
Google confidential │ Do not distribute
Firebase Forge
The Firebase Forge
provides a
convenient GUI for
visualizing and
manipulating your
data in real-time.
Google confidential │ Do not distribute
Firebase demo: image drawing application
https://github.com/Dnefedkin/Firebase-Drawing-Demo-Android
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

Weitere ähnliche Inhalte

Was ist angesagt?

Introduction to Google App Engine
Introduction to Google App EngineIntroduction to Google App Engine
Introduction to Google App EngineAndrea Spadaccini
 
Google App Engine (Introduction)
Google App Engine (Introduction)Google App Engine (Introduction)
Google App Engine (Introduction)Praveen Hanchinal
 
Introduction to Google Cloud Endpoints: Speed Up Your API Development
Introduction to Google Cloud Endpoints: Speed Up Your API DevelopmentIntroduction to Google Cloud Endpoints: Speed Up Your API Development
Introduction to Google Cloud Endpoints: Speed Up Your API DevelopmentColin Su
 
Android Jetpack - What's new
Android Jetpack - What's newAndroid Jetpack - What's new
Android Jetpack - What's newAhmad Arif Faizin
 
Android android + app engine a developer's dream combination
Android android + app engine  a developer's dream combinationAndroid android + app engine  a developer's dream combination
Android android + app engine a developer's dream combinationChris Ramsdale
 
Android android + app engine a developer's dream combination copy
Android android + app engine  a developer's dream combination copyAndroid android + app engine  a developer's dream combination copy
Android android + app engine a developer's dream combination copyChris Ramsdale
 
CIRCUIT 2015 - Hybrid App Development with AEM Apps
CIRCUIT 2015 - Hybrid App Development with AEM AppsCIRCUIT 2015 - Hybrid App Development with AEM Apps
CIRCUIT 2015 - Hybrid App Development with AEM AppsICF CIRCUIT
 
Fluent 2018: When third parties stop being polite... and start getting real
Fluent 2018: When third parties stop being polite... and start getting realFluent 2018: When third parties stop being polite... and start getting real
Fluent 2018: When third parties stop being polite... and start getting realAkamai Developers & Admins
 
What is Google App Engine
What is Google App EngineWhat is Google App Engine
What is Google App EngineChris Schalk
 
Google App Engine's Latest Features
Google App Engine's Latest FeaturesGoogle App Engine's Latest Features
Google App Engine's Latest FeaturesChris Schalk
 
Get Hip with JHipster - Colorado Springs Open Source User Group 2021
Get Hip with JHipster - Colorado Springs Open Source User Group 2021Get Hip with JHipster - Colorado Springs Open Source User Group 2021
Get Hip with JHipster - Colorado Springs Open Source User Group 2021Matt Raible
 
Google App Engine Java, Groovy and Gaelyk
Google App Engine Java, Groovy and GaelykGoogle App Engine Java, Groovy and Gaelyk
Google App Engine Java, Groovy and GaelykGuillaume Laforge
 
Bootiful Development with Spring Boot and Vue - RWX 2018
Bootiful Development with Spring Boot and Vue - RWX 2018Bootiful Development with Spring Boot and Vue - RWX 2018
Bootiful Development with Spring Boot and Vue - RWX 2018Matt Raible
 
Microservices for the Masses with Spring Boot and JHipster - RWX 2018
Microservices for the Masses with Spring Boot and JHipster - RWX 2018Microservices for the Masses with Spring Boot and JHipster - RWX 2018
Microservices for the Masses with Spring Boot and JHipster - RWX 2018Matt Raible
 

Was ist angesagt? (20)

Introduction to Google App Engine
Introduction to Google App EngineIntroduction to Google App Engine
Introduction to Google App Engine
 
Google App Engine (Introduction)
Google App Engine (Introduction)Google App Engine (Introduction)
Google App Engine (Introduction)
 
Introduction to Google Cloud Endpoints: Speed Up Your API Development
Introduction to Google Cloud Endpoints: Speed Up Your API DevelopmentIntroduction to Google Cloud Endpoints: Speed Up Your API Development
Introduction to Google Cloud Endpoints: Speed Up Your API Development
 
Android Jetpack - What's new
Android Jetpack - What's newAndroid Jetpack - What's new
Android Jetpack - What's new
 
Google App engine
Google App engineGoogle App engine
Google App engine
 
Android android + app engine a developer's dream combination
Android android + app engine  a developer's dream combinationAndroid android + app engine  a developer's dream combination
Android android + app engine a developer's dream combination
 
Android android + app engine a developer's dream combination copy
Android android + app engine  a developer's dream combination copyAndroid android + app engine  a developer's dream combination copy
Android android + app engine a developer's dream combination copy
 
AEM responsive
AEM responsiveAEM responsive
AEM responsive
 
CIRCUIT 2015 - Hybrid App Development with AEM Apps
CIRCUIT 2015 - Hybrid App Development with AEM AppsCIRCUIT 2015 - Hybrid App Development with AEM Apps
CIRCUIT 2015 - Hybrid App Development with AEM Apps
 
Introduction to Google App Engine
Introduction to Google App EngineIntroduction to Google App Engine
Introduction to Google App Engine
 
Google App Engine
Google App EngineGoogle App Engine
Google App Engine
 
Fluent 2018: When third parties stop being polite... and start getting real
Fluent 2018: When third parties stop being polite... and start getting realFluent 2018: When third parties stop being polite... and start getting real
Fluent 2018: When third parties stop being polite... and start getting real
 
Fluent 2018: Measuring What Matters
Fluent 2018: Measuring What MattersFluent 2018: Measuring What Matters
Fluent 2018: Measuring What Matters
 
Google App Engine tutorial
Google App Engine tutorialGoogle App Engine tutorial
Google App Engine tutorial
 
What is Google App Engine
What is Google App EngineWhat is Google App Engine
What is Google App Engine
 
Google App Engine's Latest Features
Google App Engine's Latest FeaturesGoogle App Engine's Latest Features
Google App Engine's Latest Features
 
Get Hip with JHipster - Colorado Springs Open Source User Group 2021
Get Hip with JHipster - Colorado Springs Open Source User Group 2021Get Hip with JHipster - Colorado Springs Open Source User Group 2021
Get Hip with JHipster - Colorado Springs Open Source User Group 2021
 
Google App Engine Java, Groovy and Gaelyk
Google App Engine Java, Groovy and GaelykGoogle App Engine Java, Groovy and Gaelyk
Google App Engine Java, Groovy and Gaelyk
 
Bootiful Development with Spring Boot and Vue - RWX 2018
Bootiful Development with Spring Boot and Vue - RWX 2018Bootiful Development with Spring Boot and Vue - RWX 2018
Bootiful Development with Spring Boot and Vue - RWX 2018
 
Microservices for the Masses with Spring Boot and JHipster - RWX 2018
Microservices for the Masses with Spring Boot and JHipster - RWX 2018Microservices for the Masses with Spring Boot and JHipster - RWX 2018
Microservices for the Masses with Spring Boot and JHipster - RWX 2018
 

Ähnlich wie Mobile backends with Google Cloud Platform (MBLTDev'14)

Google Cloud Platform Update
Google Cloud Platform UpdateGoogle Cloud Platform Update
Google Cloud Platform UpdateIdo Green
 
Introduction to serverless computing on Google Cloud
Introduction to serverless computing on Google CloudIntroduction to serverless computing on Google Cloud
Introduction to serverless computing on Google Cloudwesley chun
 
Google Cloud Developer Challenge - GDG Belgaum
Google Cloud Developer Challenge - GDG BelgaumGoogle Cloud Developer Challenge - GDG Belgaum
Google Cloud Developer Challenge - GDG Belgaumsandeephegde
 
Powerful Google Cloud tools for your hack
Powerful Google Cloud tools for your hackPowerful Google Cloud tools for your hack
Powerful Google Cloud tools for your hackwesley chun
 
Entrepreneurship Tips With HTML5 & App Engine Startup Weekend (June 2012)
Entrepreneurship Tips With HTML5 & App Engine Startup Weekend (June 2012)Entrepreneurship Tips With HTML5 & App Engine Startup Weekend (June 2012)
Entrepreneurship Tips With HTML5 & App Engine Startup Weekend (June 2012)Ido Green
 
Google Platform Overview (April 2014)
Google Platform Overview (April 2014)Google Platform Overview (April 2014)
Google Platform Overview (April 2014)Ido Green
 
Building Kick Ass Video Games for the Cloud
Building Kick Ass Video Games for the CloudBuilding Kick Ass Video Games for the Cloud
Building Kick Ass Video Games for the CloudChris Schalk
 
Powerful Google developer tools for immediate impact! (2023-24 A)
Powerful Google developer tools for immediate impact! (2023-24 A)Powerful Google developer tools for immediate impact! (2023-24 A)
Powerful Google developer tools for immediate impact! (2023-24 A)wesley chun
 
Scale with a smile with Google Cloud Platform At DevConTLV (June 2014)
Scale with a smile with Google Cloud Platform At DevConTLV (June 2014)Scale with a smile with Google Cloud Platform At DevConTLV (June 2014)
Scale with a smile with Google Cloud Platform At DevConTLV (June 2014)Ido Green
 
Jose l ugia 6 wunderkinder, momenta
Jose l ugia  6 wunderkinder, momentaJose l ugia  6 wunderkinder, momenta
Jose l ugia 6 wunderkinder, momentaapps4allru
 
android_android + app engine- a developer's dream combination
android_android + app engine- a developer's dream combinationandroid_android + app engine- a developer's dream combination
android_android + app engine- a developer's dream combinationbrada
 
Tren Pengembangan Aplikasi Android di 2021 - Ahmad Arif Faizin
Tren Pengembangan Aplikasi Android di 2021 - Ahmad Arif FaizinTren Pengembangan Aplikasi Android di 2021 - Ahmad Arif Faizin
Tren Pengembangan Aplikasi Android di 2021 - Ahmad Arif FaizinDicodingEvent
 
Accessing Google Cloud APIs
Accessing Google Cloud APIsAccessing Google Cloud APIs
Accessing Google Cloud APIswesley chun
 
Build your cross-platform service in a week with App Engine
Build your cross-platform service in a week with App EngineBuild your cross-platform service in a week with App Engine
Build your cross-platform service in a week with App EngineJl_Ugia
 
Exploring Google APIs with Python
Exploring Google APIs with PythonExploring Google APIs with Python
Exploring Google APIs with Pythonwesley chun
 
How Google Cloud Platform can help in the classroom/lab
How Google Cloud Platform can help in the classroom/labHow Google Cloud Platform can help in the classroom/lab
How Google Cloud Platform can help in the classroom/labwesley chun
 
Cloud computing overview & Technical intro to Google Cloud
Cloud computing overview & Technical intro to Google CloudCloud computing overview & Technical intro to Google Cloud
Cloud computing overview & Technical intro to Google Cloudwesley chun
 
Serverless Computing with Python
Serverless Computing with PythonServerless Computing with Python
Serverless Computing with Pythonwesley chun
 

Ähnlich wie Mobile backends with Google Cloud Platform (MBLTDev'14) (20)

Google Cloud Platform Update
Google Cloud Platform UpdateGoogle Cloud Platform Update
Google Cloud Platform Update
 
Introduction to serverless computing on Google Cloud
Introduction to serverless computing on Google CloudIntroduction to serverless computing on Google Cloud
Introduction to serverless computing on Google Cloud
 
Google Cloud Developer Challenge - GDG Belgaum
Google Cloud Developer Challenge - GDG BelgaumGoogle Cloud Developer Challenge - GDG Belgaum
Google Cloud Developer Challenge - GDG Belgaum
 
Google Developers Overview Deck 2015
Google Developers Overview Deck 2015Google Developers Overview Deck 2015
Google Developers Overview Deck 2015
 
Powerful Google Cloud tools for your hack
Powerful Google Cloud tools for your hackPowerful Google Cloud tools for your hack
Powerful Google Cloud tools for your hack
 
Entrepreneurship Tips With HTML5 & App Engine Startup Weekend (June 2012)
Entrepreneurship Tips With HTML5 & App Engine Startup Weekend (June 2012)Entrepreneurship Tips With HTML5 & App Engine Startup Weekend (June 2012)
Entrepreneurship Tips With HTML5 & App Engine Startup Weekend (June 2012)
 
Introduction to Google App Engine
Introduction to Google App EngineIntroduction to Google App Engine
Introduction to Google App Engine
 
Google Platform Overview (April 2014)
Google Platform Overview (April 2014)Google Platform Overview (April 2014)
Google Platform Overview (April 2014)
 
Building Kick Ass Video Games for the Cloud
Building Kick Ass Video Games for the CloudBuilding Kick Ass Video Games for the Cloud
Building Kick Ass Video Games for the Cloud
 
Powerful Google developer tools for immediate impact! (2023-24 A)
Powerful Google developer tools for immediate impact! (2023-24 A)Powerful Google developer tools for immediate impact! (2023-24 A)
Powerful Google developer tools for immediate impact! (2023-24 A)
 
Scale with a smile with Google Cloud Platform At DevConTLV (June 2014)
Scale with a smile with Google Cloud Platform At DevConTLV (June 2014)Scale with a smile with Google Cloud Platform At DevConTLV (June 2014)
Scale with a smile with Google Cloud Platform At DevConTLV (June 2014)
 
Jose l ugia 6 wunderkinder, momenta
Jose l ugia  6 wunderkinder, momentaJose l ugia  6 wunderkinder, momenta
Jose l ugia 6 wunderkinder, momenta
 
android_android + app engine- a developer's dream combination
android_android + app engine- a developer's dream combinationandroid_android + app engine- a developer's dream combination
android_android + app engine- a developer's dream combination
 
Tren Pengembangan Aplikasi Android di 2021 - Ahmad Arif Faizin
Tren Pengembangan Aplikasi Android di 2021 - Ahmad Arif FaizinTren Pengembangan Aplikasi Android di 2021 - Ahmad Arif Faizin
Tren Pengembangan Aplikasi Android di 2021 - Ahmad Arif Faizin
 
Accessing Google Cloud APIs
Accessing Google Cloud APIsAccessing Google Cloud APIs
Accessing Google Cloud APIs
 
Build your cross-platform service in a week with App Engine
Build your cross-platform service in a week with App EngineBuild your cross-platform service in a week with App Engine
Build your cross-platform service in a week with App Engine
 
Exploring Google APIs with Python
Exploring Google APIs with PythonExploring Google APIs with Python
Exploring Google APIs with Python
 
How Google Cloud Platform can help in the classroom/lab
How Google Cloud Platform can help in the classroom/labHow Google Cloud Platform can help in the classroom/lab
How Google Cloud Platform can help in the classroom/lab
 
Cloud computing overview & Technical intro to Google Cloud
Cloud computing overview & Technical intro to Google CloudCloud computing overview & Technical intro to Google Cloud
Cloud computing overview & Technical intro to Google Cloud
 
Serverless Computing with Python
Serverless Computing with PythonServerless Computing with Python
Serverless Computing with Python
 

Mehr von Natalia Efimtseva

Google Cardboard (Winter Nights'15)
Google Cardboard (Winter Nights'15)Google Cardboard (Winter Nights'15)
Google Cardboard (Winter Nights'15)Natalia Efimtseva
 
Google Cardboard (Winter Nights'15)
Google Cardboard (Winter Nights'15)Google Cardboard (Winter Nights'15)
Google Cardboard (Winter Nights'15)Natalia Efimtseva
 
Миграции информационной инфраструктуры бизнес-приложений в облако
Миграции информационной инфраструктуры бизнес-приложений в облакоМиграции информационной инфраструктуры бизнес-приложений в облако
Миграции информационной инфраструктуры бизнес-приложений в облакоNatalia Efimtseva
 
Нагрузочное тестирование в облаке Windows Azure
Нагрузочное тестирование в облаке Windows AzureНагрузочное тестирование в облаке Windows Azure
Нагрузочное тестирование в облаке Windows AzureNatalia Efimtseva
 
Дорога в облака: Windows Azure как платформа для кодирования, сохранения, защ...
Дорога в облака: Windows Azure как платформа для кодирования, сохранения, защ...Дорога в облака: Windows Azure как платформа для кодирования, сохранения, защ...
Дорога в облака: Windows Azure как платформа для кодирования, сохранения, защ...Natalia Efimtseva
 
Сценарии Windows Azure для бизнеса
Сценарии Windows Azure для бизнесаСценарии Windows Azure для бизнеса
Сценарии Windows Azure для бизнесаNatalia Efimtseva
 
Работа c облачным бэкендом мобильных приложений в Visual Studio 2013
Работа c облачным бэкендом мобильных приложений в Visual Studio 2013Работа c облачным бэкендом мобильных приложений в Visual Studio 2013
Работа c облачным бэкендом мобильных приложений в Visual Studio 2013Natalia Efimtseva
 
Бесплатный триал Windows Azure: пошаговая инструкция
Бесплатный триал Windows Azure: пошаговая инструкцияБесплатный триал Windows Azure: пошаговая инструкция
Бесплатный триал Windows Azure: пошаговая инструкцияNatalia Efimtseva
 
Облака для Windows 8 (Windows 8 Summit)
Облака для Windows 8 (Windows 8 Summit)Облака для Windows 8 (Windows 8 Summit)
Облака для Windows 8 (Windows 8 Summit)Natalia Efimtseva
 
Миграция существующих приложений в Windows Azure
Миграция существующих приложений в Windows AzureМиграция существующих приложений в Windows Azure
Миграция существующих приложений в Windows AzureNatalia Efimtseva
 
Облачные сервисы для приложений под Windows 8 и Windows Phone
Облачные сервисы для приложений под Windows 8 и Windows PhoneОблачные сервисы для приложений под Windows 8 и Windows Phone
Облачные сервисы для приложений под Windows 8 и Windows PhoneNatalia Efimtseva
 
Инфраструктура как услуга (IaaS) в Windows Azure
Инфраструктура как услуга (IaaS) в Windows AzureИнфраструктура как услуга (IaaS) в Windows Azure
Инфраструктура как услуга (IaaS) в Windows AzureNatalia Efimtseva
 
Возможности интеграции с Office 365
Возможности интеграции с Office 365Возможности интеграции с Office 365
Возможности интеграции с Office 365Natalia Efimtseva
 

Mehr von Natalia Efimtseva (13)

Google Cardboard (Winter Nights'15)
Google Cardboard (Winter Nights'15)Google Cardboard (Winter Nights'15)
Google Cardboard (Winter Nights'15)
 
Google Cardboard (Winter Nights'15)
Google Cardboard (Winter Nights'15)Google Cardboard (Winter Nights'15)
Google Cardboard (Winter Nights'15)
 
Миграции информационной инфраструктуры бизнес-приложений в облако
Миграции информационной инфраструктуры бизнес-приложений в облакоМиграции информационной инфраструктуры бизнес-приложений в облако
Миграции информационной инфраструктуры бизнес-приложений в облако
 
Нагрузочное тестирование в облаке Windows Azure
Нагрузочное тестирование в облаке Windows AzureНагрузочное тестирование в облаке Windows Azure
Нагрузочное тестирование в облаке Windows Azure
 
Дорога в облака: Windows Azure как платформа для кодирования, сохранения, защ...
Дорога в облака: Windows Azure как платформа для кодирования, сохранения, защ...Дорога в облака: Windows Azure как платформа для кодирования, сохранения, защ...
Дорога в облака: Windows Azure как платформа для кодирования, сохранения, защ...
 
Сценарии Windows Azure для бизнеса
Сценарии Windows Azure для бизнесаСценарии Windows Azure для бизнеса
Сценарии Windows Azure для бизнеса
 
Работа c облачным бэкендом мобильных приложений в Visual Studio 2013
Работа c облачным бэкендом мобильных приложений в Visual Studio 2013Работа c облачным бэкендом мобильных приложений в Visual Studio 2013
Работа c облачным бэкендом мобильных приложений в Visual Studio 2013
 
Бесплатный триал Windows Azure: пошаговая инструкция
Бесплатный триал Windows Azure: пошаговая инструкцияБесплатный триал Windows Azure: пошаговая инструкция
Бесплатный триал Windows Azure: пошаговая инструкция
 
Облака для Windows 8 (Windows 8 Summit)
Облака для Windows 8 (Windows 8 Summit)Облака для Windows 8 (Windows 8 Summit)
Облака для Windows 8 (Windows 8 Summit)
 
Миграция существующих приложений в Windows Azure
Миграция существующих приложений в Windows AzureМиграция существующих приложений в Windows Azure
Миграция существующих приложений в Windows Azure
 
Облачные сервисы для приложений под Windows 8 и Windows Phone
Облачные сервисы для приложений под Windows 8 и Windows PhoneОблачные сервисы для приложений под Windows 8 и Windows Phone
Облачные сервисы для приложений под Windows 8 и Windows Phone
 
Инфраструктура как услуга (IaaS) в Windows Azure
Инфраструктура как услуга (IaaS) в Windows AzureИнфраструктура как услуга (IaaS) в Windows Azure
Инфраструктура как услуга (IaaS) в Windows Azure
 
Возможности интеграции с Office 365
Возможности интеграции с Office 365Возможности интеграции с Office 365
Возможности интеграции с Office 365
 

Kürzlich hochgeladen

Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfPrecisely
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfLoriGlavin3
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningLars Bell
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersRaghuram Pandurangan
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteDianaGray10
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxLoriGlavin3
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxLoriGlavin3
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 

Kürzlich hochgeladen (20)

Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdf
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine Tuning
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information Developers
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 

Mobile backends with Google Cloud Platform (MBLTDev'14)

  • 1. Google confidential │ Do not distributeGoogle confidential │ Do not distribute Building mobile app backend with Google Cloud Platform Dmitry Nefedkin Google Cloud Platform Solutions Engineer Natalia Efimtseva Developer Relations Program Manager
  • 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. 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
  • 6. Source: http://41mag.fr/wp-content/themes/channel/images/menuHtml5.png Source: Developer Economics Q3 2014: State of the Developer Nation HTML5 is used by 42% of developers as a technology for app development
  • 7. Developers target 2.2platform 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
  • 8. Google confidential │ Do not distribute 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
  • 9. Google confidential │ Do not distribute A Network that Spans the Globe
  • 10. Google confidential │ Do not distribute A Network that Spans the Globe
  • 11. Google confidential │ Do not distribute Continue to Innovate & Improve our Tooling SpannerDremelMapReduce Big Table Colossus Compute Engine 2012 2014+2002 2004 2006 2008 2010 GFS 2013 More!
  • 12. Google confidential │ Do not distribute Storage Cloud Storage Cloud SQL Cloud Datastore Compute Compute Engine App Engine App Services BigQuery Cloud Endpoints Google Cloud Platform
  • 13. Google confidential │ Do not distribute Mobile Gaming Storage Big Data Highly Scalable Apps Digital Marketing Yes, We Can Power That
  • 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. 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. Pretty old & well-deserved Horse... Image source: http://www.ehow.com/way_5475563_feed-three-year-old-horse.html
  • 17. 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
  • 18. … but with the new carriage Image source: http://www.today.com/news/history-wheels-5-things-know-about-queens-new-carriage-2D79756846
  • 19. 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!
  • 20. 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
  • 21. 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
  • 22. 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
  • 23. 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
  • 24. Google confidential | Do not distribute Demo: a case management app for mobile workers
  • 25. getTask().execute() Cloud Datastore App Engine backend CloudEndpoints Cases app ClientLibraries Demo Architecture pullFromRemote pushToRemote storeTask().execute() query.get() transaction.commit() Chrome Mgmt Extension getAllCases().execute() updateCases(). execute() JavascriptLibraries Cloud Endpoints Tutorial for Android: github. com/GoogleCloudPlatform/endpoints-codelab-android
  • 26. Google confidential | Do not distribute ● 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 Snapchat
  • 27. Google confidential | Do not distribute ● Angry Birds for Chrome, FB ● Using the Datastore to store game data ● Memcache API ● Task Queues for Background Operations ● Users API for Authentication Rovio
  • 28. Google confidential | Do not distribute ● 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 FreshPlanet
  • 29. Google confidential │ Do not distribute Ok, I wanna try! cloud.google.com/free-trial ● 300$ - Google Cloud Platform Credits ● 60 days ● all products (max 2 concurrent cores for Google Compute Engine) ● still have to enter credit card details during the registration
  • 30. 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
  • 31. 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
  • 32. 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.”
  • 33. 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
  • 34. Google confidential │ Do not distribute Firebase Forge The Firebase Forge provides a convenient GUI for visualizing and manipulating your data in real-time.
  • 35. Google confidential │ Do not distribute Firebase demo: image drawing application https://github.com/Dnefedkin/Firebase-Drawing-Demo-Android
  • 36. 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