Apidays New York 2024 - The value of a flexible API Management solution for O...
Building Integrated Applications on Google's Cloud Technologies
1.
2. Christian Schalk
Google Developer Advocate
profiles.google.com/cschalk
@cschalk
Building Integrated Applications on
Google's Cloud Technologies
DevFest 2011
Jakarta
3. Agenda
● Introduction
● App Engine Recap
● Google's new Cloud Technologies
○ Google Cloud Storage
○ Prediction API
○ BigQuery
○ Google Cloud SQL
● Summary Q&A
5. Introduction
Google App Engine
Google BigQuery Google Google
Cloud SQL Prediction API
Google Cloud Storage
6. New Google Cloud Technologies
● Google Cloud Storage
○ Store your data in Google's cloud
● Prediction API
○ Google's machine learning tech in an API
● BigQuery
○ Hi-speed data analysis on a massive scale
● Cloud SQL
○ A relational database in the cloud
8. What Is Google Cloud Storage?
● Store your data in Google's cloud
○ any format, any amount, any time
● You control access to your data
○ private, shared, or public
● Access via Google APIs or 3rd party tools/libraries
9. Sample Use Cases
Static content hosting
e.g. static html, images, music, video
Backup and recovery
e.g. personal data, business records
Sharing
e.g. share data with your customers
Data storage for applications
e.g. used as storage backend for Android, AppEngine, Cloud
based apps
Storage for Computation
e.g. BigQuery, Prediction API
10. Google Cloud Storage Benefits
High Performance and Scalability
Backed by Google infrastructure
Strong Security and Privacy
Control access to your data
Easy to Use
Get started fast with Google & 3rd party tools
11. Google Cloud Storage Technical Details
● RESTful API
○ Verbs: GET, PUT, POST, HEAD, DELETE
○ Resources: identified by URI
○ Compatible with S3
● Buckets
○ Flat containers
● Objects
○ Any type
○ Size: 100 GB / object
● Access Control for Google Accounts
○ For individuals and groups
● Two Ways to Authenticate Requests
○ Sign request using access keys
○ Web browser login
15. Google Prediction API as a simple example
Predicts outcomes based on 'learned' patterns
16. Potentially endless number of applications...
Customer Transaction Species Message Diagnostics
Sentiment Risk Identification Routing
Churn Legal Docket Suspicious Work Roster Inappropriate
Prediction Classification Activity Assignment Content
Recommend Political Uplift Email Career
Products Bias Marketing Filtering Counselling
... and more ...
17. Prediction API Capabilities
Data
● Input Features: numeric or unstructured text
● Output: up to hundreds of discrete categories
Training
● Many machine learning techniques
● Automatically selected
● Performed asynchronously
Access from many platforms:
● Web app from Google App Engine
● Apps Script (e.g. from Google Spreadsheet)
● Desktop app
18. How does it work?
"english" The quick brown fox jumped over the
The Prediction API lazy dog.
finds relevant
"english" To err is human, but to really foul things
features in the up you need a computer.
sample data during "spanish" No hay mal que por bien no venga.
training.
"spanish" La tercera es la vencida.
The Prediction API
later searches for ? To be or not to be, that is the
question.
those features
? La fe mueve montañas.
during prediction.
19. Using the Prediction API
A simple three step process...
(REST Calls)
Upload your training data to
1. Upload Google Storage
Build a model from your data
2. Train
3. Predict Make new predictions
20. Prediction API - key features
● Multi-category prediction
○ Tag entry with multiple labels
● Multiple Prediction Output
○ Finer grained prediction rankings based on multiple labels
● Mixed Inputs
○ Both numeric and text inputs are now supported
Can combine continuous output with mixed inputs
21. Prediction Demos
● Command line Demos
○ Training a model
○ Checking training status
○ Making predictions
● A complete Web application using the JavaScript
API for Prediction
23. Introducing Google BigQuery
● Google's large data adhoc analysis technology
○ Analyze massive amounts of data in seconds
● Simple SQL-like query language
● Flexible access
○ REST APIs, JSON-RPC, Google Apps Script
24. Many Use Cases ...
Interactive Trends
Spam
Tools Detection
Web Network
Dashboards Optimization
25. Key Capabilities of BigQuery
● Scalable: Billions of rows
● Fast: Response in seconds
● Simple: Queries in SQL
● Web Service
○ REST
○ JSON-RPC
○ Google App Scripts
26. Using BigQuery
Another simple three step process...
(REST Calls)
Upload your raw data to
1. Upload Google Storage
Import raw data into
2. Import
BigQuery table
3. Query Perform SQL queries on
table
27. Writing Queries
Compact subset of SQL
○ SELECT ... FROM ...
WHERE ...
GROUP BY ... ORDER BY ...
LIMIT ...;
Common functions
○ Math, String, Time, ...
Statistical approximations
○ TOP
○ COUNT DISTINCT
28. BigQuery via REST
GET /bigquery/v1/tables/{table name}
GET /bigquery/v1/query?q={query}
Sample JSON Reply:
{
"results": {
"fields": { [
{"id":"COUNT(*)","type":"uint64"}, ... ]
},
"rows": [
{"f":[{"v":"2949"}, ...]},
{"f":[{"v":"5387"}, ...]}, ... ]
}
}
Also supports JSON-RPC
29. BigQuery Security and Privacy
Standard Google Authentication
● Client Login
● AuthSub
● OAuth
HTTPS support
● protects your credentials
● protects your data
Relies on Google Storage to manage access
30. New!
What's New in BigQuery V2?
● A new REST API
● A new web user interface
● Support for JOIN statements
● Export table or query result to a CSV file in Google
Cloud Storage
● Support for ACLs on collections of tables
● A new object architecture describing tables, groups of
tables, and queries. This new architecture is described
under Main Concepts below.
33. Google Cloud SQL
● Developer console
○ Easy to use
● Fully managed
● High availability
○ Synchronous replication to multiple data centers
● Integrated with Google App Engine
○ Java: JDBC, Python: DB-API
○ Use with High Replication Datastore
● MySQL Compatible
○ Import / export
34. Cloud SQL Demos!
● Cloud SQL Console
● SQL via JDBC Access
● SQL from PHP!
35. Recap
● Google App Engine
○ General purpose application development platform for
the cloud
● Google Cloud Storage
○ High speed cloud data storage on Google's
infrastructure
● Prediction API
○ Google's machine learning technology
● BigQuery
○ Interactive analysis of very large data sets
● Google SQL
○ A relational SQL database in the cloud
36. Further info available at:
● Google App Engine
○ http://code.google.com/appengine
● Google Cloud Storage
○ http://code.google.com/apis/storage
● Prediction API
○ http://code.google.com/apis/predict
● BigQuery
○ http://code.google.com/apis/bigquery
● Cloud SQL
○ http://code.google.com/apis/sql
37. Thank You!
Christian Schalk
Google Developer Advocate
profiles.google.com/cschalk
@cschalk
(Follow me on G+ to get the slides!)