Google Developer Day 2010 Japan: Part 1: Google App Engine for Business の概要 Part 2: 新しい Google Cloud サービスの概要: Google Storage for Developers, Prediction API and BigQuery (フレッド ソオー)
Part 1: App Engine for Business によって、Google のアプリケーションを支えているのと同じスケーラブルなシステムを使ってエンタープライズアプリケーションを作成する事ができます。このセッションではエンタープライズの要求に答えるために用意されている API, 分かりやすい課金体系, SLA とサポートについて紹介します。 Part 2: Google がリリースしようとしている新しい Cloud サービス群の紹介をします。1) Google Storage for Developers は Google のインフラストラクチャ上にデータを保存,アクセスするための RESTful なサービスです。2) BigQuery は大規模なデータセットに対してインタラクティブな分析を行う Web サービスです。3) Prediction API はデータから機械学習により予測を行うための API です。
Similar to Google Developer Day 2010 Japan: Part 1: Google App Engine for Business の概要 Part 2: 新しい Google Cloud サービスの概要: Google Storage for Developers, Prediction API and BigQuery (フレッド ソオー)
Scalable Plone hosting with Amazon EC2 for Rice University's Rhaptos open lea...Jazkarta, Inc.
Similar to Google Developer Day 2010 Japan: Part 1: Google App Engine for Business の概要 Part 2: 新しい Google Cloud サービスの概要: Google Storage for Developers, Prediction API and BigQuery (フレッド ソオー) (20)
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
Google Developer Day 2010 Japan: Part 1: Google App Engine for Business の概要 Part 2: 新しい Google Cloud サービスの概要: Google Storage for Developers, Prediction API and BigQuery (フレッド ソオー)
2. Developer DayGoogle 2010
Fred Sauer
Tokyo, September 28, 2010
Google Cloud Platform & Services
Monday, September 27, 2010
3. Developer DayGoogle 2010
Agenda
• Google App Engine for Business
• Google Storage for Developers
• Prediction API
• BigQuery
Monday, September 27, 2010
4. Developer DayGoogle 2010
Google App Engine for Business
Build and deploy apps. Without all the hassles.
Monday, September 27, 2010
6. Developer DayGoogle 2010
Google Storage
Prediction API
BigQuery
Your Apps
1. Google Apps
2. Third party Apps:
Google Apps Marketplace
3. ________
6
Google App Engine
IaaS
PaaS
SaaS
Google's Cloud Offerings
Monday, September 27, 2010
9. Developer DayGoogle 2010
Build your own
Google App Engine
for Business
Buy from others
Google Apps
Marketplace
Enterprise Firewall
Enterprise Data Authentication Enterprise Services User Management
Buy from Google
Google Apps
for Business
Build and Buy all your enterprise cloud apps...
9
Enterprise Application Platform
Monday, September 27, 2010
10. Developer DayGoogle 2010
Google App Engine for Business
Same scalable cloud hosting platform. Designed for the enterprise.
• Enterprise application management
– Centralized domain console
• Enterprise reliability and support
– 99.9% Service Level Agreement
– Premium Developer Support
• Hosted SQL
– Managed relational SQL database in the cloud
• SSL on your domain
– Including "naked" domain support
• Secure by default
– Integrated Single Sign On (SSO)
• Pricing that makes sense
– Pay only for what you use
10
Google App Engine
for Business
* Hosted SQL and SSL on your domain available later this year
Monday, September 27, 2010
13. Developer DayGoogle 2010
What Is Google Storage?
• Store your data in Google's cloud
o any format, any amount, any time
• You control access to your data
o private, shared, or public
• Access via Google APIs or 3rd party tools/libraries
Monday, September 27, 2010
14. Developer DayGoogle 2010
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, App Engine,
Cloud based apps
Storage for Computation
e.g. BigQuery, Prediction API
Monday, September 27, 2010
15. Developer DayGoogle 2010
Google 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
Monday, September 27, 2010
16. Developer DayGoogle 2010
Google Storage Technical Details
• RESTful API
o Verbs: GET, PUT, POST, HEAD, DELETE
o Resources: identified by URI
o Compatible with S3
• Buckets
o Flat containers, i.e. no bucket hierarchy
• Objects
o Any type
o Size: 100 GB / object
• Access Control for Google Accounts
o For individuals and groups
• Two Ways to Authenticate Requests
o Sign request using access keys
o Web browser login
Monday, September 27, 2010
17. Developer DayGoogle 2010
Performance and Scalability
• Objects of any type and 100 GB / Object
• Unlimited numbers of objects, 1000s of buckets
• All data replicated to multiple US data centers
• Leveraging Google's worldwide network for data delivery
• Only you can use bucket names with your domain names
• “Read-your-writes” data consistency
• Range Get
Monday, September 27, 2010
18. Developer DayGoogle 2010
Security and Privacy Features
• Key-based authentication
• Authenticated downloads from a web browser
• Sharing with individuals
• Group sharing via Google Groups
• Access control for buckets and objects
• Set Read/Write/List permissions
Monday, September 27, 2010
20. Developer DayGoogle 2010
Google Storage usage within Google
Haiti Relief Imagery USPTO data
Partner Reporting
Google
BigQuery
Google
Prediction API
Partner Reporting
Monday, September 27, 2010
22. Developer DayGoogle 2010
Google Storage - Pricing
o Storage
$0.17/GB/Month
o Network
Upload - $0.10/GB
Download
$0.30/GB APAC
$0.15/GB Americas / EMEA
o Requests
PUT, POST, LIST - $0.01 / 1,000 Requests
GET, HEAD - $0.01 / 10,000 Requests
Monday, September 27, 2010
23. Developer DayGoogle 2010
Google Storage - Availability
• Limited preview in US* currently
o 100GB free storage and network per account
o Sign up for wait list at
o http://code.google.com/apis/storage/
* Non-US preview available on case-by-case basis
Monday, September 27, 2010
24. Developer DayGoogle 2010
Google Storage Summary
• Store any kind of data using Google's cloud infrastructure
• Easy to Use APIs
• Many available tools and libraries
o gsutil, Google Storage Manager
o 3rd party:
Boto, CloudBerry, CyberDuck, JetS3t, …
Monday, September 27, 2010
26. Developer DayGoogle 2010
Introducing the Google Prediction API
• Google's sophisticated machine learning technology
• Available as an on-demand RESTful HTTP web service
Monday, September 27, 2010
27. Developer DayGoogle 2010
"english"
The quick brown fox jumped over the
lazy dog.
"english"
To err is human, but to really foul things
up you need a computer.
"spanish" No hay mal que por bien no venga.
"spanish" La tercera es la vencida.
?
To be or not to be, that is the
question.
? La fe mueve montañas.
2. PREDICT
The Prediction API
later searches for
those features
during prediction.
How does it work?
1. TRAIN
The Prediction API
finds relevant
features in the
sample data during
training.
Monday, September 27, 2010
29. Developer DayGoogle 2010
Automatically categorize and respond to emails by language
• Customer: ACME Corp, a multinational organization
• Goal: Respond to customer emails in their language
• Data: Many emails, tagged with their languages
• Outcome: Predict language and respond accordingly
A Prediction API Example
Monday, September 27, 2010
30. Developer DayGoogle 2010
Using the Prediction API
1. Upload
2. Train
Upload your training data to
Google Storage
Build a model from your data
Make new predictions3. Predict
A simple three step process...
Monday, September 27, 2010
31. Developer DayGoogle 2010
Upload your training data to Google Storage
• Training data: outputs and input features
• Data format: comma separated value format (CSV), result in first column
"english","To err is human, but to really ..."
"spanish","No hay mal que por bien no venga."
...
Upload to Google Storage
gsutil cp ${data} gs://yourbucket/${data}
Step 1: Upload
Monday, September 27, 2010
32. Developer DayGoogle 2010
Create a new model by training on data
To train a model:
POST prediction/v1.1/training?data=mybucket%2Fmydata
Training runs asynchronously. To see if it has finished:
GET prediction/v1.1/training/mybucket%2Fmydata
{"data":{
"data":"mybucket/mydata",
"modelinfo":"estimated accuracy: 0.xx"}}}
Step 2: Train
Monday, September 27, 2010
33. Developer DayGoogle 2010
Apply the trained model to make predictions on new data
POST prediction/v1.1/query/mybucket%2Fmydata/predict
{ "data":{
"input": { "text" : [
"J'aime X! C'est le meilleur" ]}}}
Step 3: Predict
Monday, September 27, 2010
34. Developer DayGoogle 2010
Apply the trained model to make predictions on new data
POST prediction/v1.1/query/mybucket%2Fmydata/predict
{ "data":{
"input": { "text" : [
"J'aime X! C'est le meilleur" ]}}}
{ data : {
"kind" : "prediction#output",
"outputLabel":"French",
"outputMulti" :[
{"label":"French", "score": x.xx}
{"label":"English", "score": x.xx}
{"label":"Spanish", "score": x.xx}]}}
Step 3: Predict
Monday, September 27, 2010
35. Developer DayGoogle 2010
Apply the trained model to make predictions on new data
import httplib
# put new data in JSON format
params = { ... }
header = {"Content-Type" : "application/json"}
conn = httplib.HTTPConnection("www.googleapis.com")
conn.request("POST",
"/prediction/v1.1/query/mybucket%2Fmydata/predict",
params, header)
print conn.getresponse()
Step 3: Predict
Monday, September 27, 2010
36. Developer DayGoogle 2010
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
Prediction API Capabilities
Monday, September 27, 2010
37. Developer DayGoogle 2010
• Updated Syntax
• Multi-category prediction
o Tag entry with multiple labels
• Continuous Output
o Finer grained prediction rankings based on multiple labels
• Mixed Inputs
o Both numeric and text inputs are now supported
Can combine continuous output with mixed inputs
Prediction API v1.1 - new features
Monday, September 27, 2010
38. Developer DayGoogle 2010
Google BigQuery
Interactive analysis of large datasets in Google's cloud
Monday, September 27, 2010
39. Developer DayGoogle 2010
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
Monday, September 27, 2010
42. Developer DayGoogle 2010
• Scalable: Billions of rows
• Fast: Response in seconds
• Simple: Queries in SQL
• Web Service
oREST
oJSON-RPC
oGoogle App Scripts
Key Capabilities of BigQuery
Monday, September 27, 2010
43. Developer DayGoogle 2010
1. Upload
2. Import
Upload your raw data to
Google Storage
Import raw data into
BigQuery table
Perform SQL queries
on table
3. Query
Another simple three step process...
Using BigQuery
Monday, September 27, 2010
44. Developer DayGoogle 2010
Compact subset of SQL
o SELECT ... FROM ...
WHERE ...
GROUP BY ... ORDER BY ...
LIMIT ...;
Common functions
o Math, String, Time, ...
Additional statistical approximations
o TOP
o COUNT DISTINCT
Writing Queries
Monday, September 27, 2010
45. Developer DayGoogle 2010
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
BigQuery via REST
Monday, September 27, 2010
46. Developer DayGoogle 2010
Standard Google Authentication
• Client Login
• OAuth
• AuthSub
HTTPS support
• protects your credentials
• protects your data
Relies on Google Storage to manage access
Security and Privacy
Monday, September 27, 2010
47. Developer DayGoogle 2010
Wikimedia Revision history data from:
http://download.wikimedia.org/enwiki/latest/enwiki-latest-pages-meta-history.xml.7z
Wikimedia Revision History
Large Data Analysis Example
Monday, September 27, 2010
48. Developer DayGoogle 2010
Python DB API 2.0 + B. Clapper's sqlcmd
http://www.clapper.org/software/python/sqlcmd/
Using BigQuery Shell
Monday, September 27, 2010
50. Developer DayGoogle 2010
• Google Storage
o High speed data storage on Google Cloud
• Prediction API
o Google's machine learning technology able to
predict outcomes based on sample data
• BigQuery
o Interactive analysis of very large data sets
o Simple SQL query language access
Recap
Monday, September 27, 2010
51. Developer DayGoogle 2010
• Google Storage for Developers
o http://code.google.com/apis/storage
• Prediction API
o http://code.google.com/apis/prediction
• BigQuery
o http://code.google.com/apis/bigquery
More information
Monday, September 27, 2010