Intro to Google's Cloud Technologies
Upcoming SlideShare
Loading in...5

Intro to Google's Cloud Technologies



An overview of the different Google Cloud Technologies. Includes coverage of Google App Engine, Google Storage, Google Prediction Api, and BigQuery....

An overview of the different Google Cloud Technologies. Includes coverage of Google App Engine, Google Storage, Google Prediction Api, and BigQuery.
This presentation was given to the San Diego GTUG on Aug 26th, 2011.



Total Views
Views on SlideShare
Embed Views



0 Embeds 0

No embeds



Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
Post Comment
Edit your comment

    Intro to Google's Cloud Technologies Intro to Google's Cloud Technologies Presentation Transcript

    • Introduction to Googles CloudTechnologiesChris SchalkDeveloper Advocate@cschalk
    • Agenda● Introduction● Introduction to Googles Cloud Technologies● App Engine Recap● Googles new Cloud Technologies ○ Google Storage ○ Prediction API ○ BigQuery● Summary Q&A
    • Googles Cloud Technologies Google App Engine Google Google BigQuery Prediction API Google Storage
    • Google App EngineAn App Engine recap...
    • Cloud Development in a Box● Downloadable SDK● Application runtimes ○ Java, Python● Local development tools ○ Eclipse plugin, AppEngine Launcher● Specialized application services● Cloud based dashboard● Ready to scale● Built in fault tolerance, load balancing
    • Specialized ServicesMemcache Datastore URL FetchMail XMPP Task QueueImages Blobstore User Service But, is that it?
    • No!!Now App Engine has access to evenmore Specialized Cloud Services...
    • Googles new Cloud Technologies
    • New Google Cloud Technologies ● Google Storage ○ Store your data in Googles cloud ● Prediction API ○ Googles machine learning tech in an API ● BigQuery ○ Hi-speed data analysis on massive scale ● SQL Service* ○ Relational Database in the cloud
    • Google Storage for Developers Store your data in Googles cloud
    • What Is Google Storage? ● Store your data in Googles 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
    • 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
    • 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
    • Google 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
    • 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
    • Demo● Tools: ○ GSUtil ○ GS Manager● Upload / Download
    • Google Storage usage within Google Google Google BigQuery Prediction API Haiti Relief Imagery USPTO data Partner Reporting Partner Reporting
    • Some Early Google Storage Adopters
    • Google Storage - Pricing ○ Free trial quota until Dec 31, 2011 ■ For first project ■ 5 GB of storage ■ 25 GB download/upload data ■ 20 GB to Americas/EMEA, 5GB APAC ■ 25K GET, HEAD requests ■ 2,5K PUT, POST, LIST* requests ○ Production Storage ■ $0.17/GB/Month (Location US, EU) ■ Upload - $0.10/GB ■ Download ■ $0.15/GB Americas / EMEA ■ $0.30/GB APAC ■ Requests ■ PUT, POST, LIST - $0.01 / 1000 Requests ■ GET, HEAD - $0.01 / 10,000 Requests ■ Up to 99.9% SLA
    • Google Storage Summary ● Store any kind of data using Googles cloud infrastructure ● Easy to Use APIs ● Many available tools and libraries ○ gsutil, GS Manager ○ 3rd party: ■ Boto, CloudBerry, CyberDuck, JetS3t, and more
    • Google Prediction APIGoogles prediction engine in the cloud
    • Google Prediction API as a simple example Predicts outcomes based on learned patterns
    • How does it work? "english" The quick brown fox jumped over theThe Prediction API lazy dog.finds relevant "english" To err is human, but to really foul thingsfeatures in the up you need a computer.sample data during "spanish" No hay mal que por bien no "spanish" La tercera es la vencida.The Prediction APIlater searches for ? To be or not to be, that is the question.those features ? La fe mueve montañas.during prediction.
    • A virtually endless number of applications... Customer Transaction Species Message Diagnostics Sentiment Risk Identification Routing Churn Legal Docket Suspicious Work Roster InappropriatePrediction Classification Activity Assignment ContentRecommend Political Uplift Email Career Products Bias Marketing Filtering Counselling ... and many more ...
    • Using the Prediction APIA simple three step process... Upload your training data to 1. Upload Google Storage Build a model from your data 2. Train 3. Predict Make new predictions
    • Step 1: Upload Upload your training data to Google Storage● Training data: outputs and input features● Data format: comma separated value format (CSV) "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 2: TrainCreate a new model by training on dataTo train a model:POST prediction/v1.3/training{"id":"mybucket/mydata"}Training runs asynchronously. To see if it has finished:GET prediction/v1.3/training/mybucket%2Fmydata{"kind": "prediction#training",...,"training status": "DONE"}
    • Step 3: Predict Apply the trained model to make predictions on new dataPOSTprediction/v1.3/training/mybucket%2Fmydata/predict{ "data":{ "input": { "text" : [ "Jaime X! Cest le meilleur" ]}}}
    • Step 3: Predict Apply the trained model to make predictions on new dataPOST prediction/v1.3/training/bucket%2Fdata/predict{ "data":{ "input": { "text" : [ "Jaime X! Cest 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 Apply the trained model to make predictions on new dataimport httplibheader = {"Content-Type" : "application/json"}#...put new data in JSONformat in params variableconn = httplib.HTTPConnection("")conn.request("POST", "/prediction/v1.3/query/bucket%2Fdata/predict", params, header)printconn.getresponse()
    • Demo● Command line Demos ○ Training a model ○ Checking training status ○ Making predictions ● A complete Web application using the JavaScript API for Prediction
    • Prediction API CapabilitiesData ● Input Features: numeric or unstructured text ● Output: up to hundreds of discrete categoriesTraining ● Many machine learning techniques ● Automatically selected ● Performed asynchronouslyAccess from many platforms: ● Web app from Google App Engine ● Apps Script (e.g. from Google Spreadsheet) ● Desktop app
    • Prediction API - key features ● Multi-category prediction ○ Tag entry with multiple labels ● Continuous Output ○ Finer grained prediction rankings based on multiple labels ● Mixed Inputs ○ Both numeric and text inputs are now supportedCan combine continuous output with mixed inputs
    • Google BigQueryInteractive analysis of large datasets in Googles cloud
    • Introducing Google BigQuery ● Googles 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
    • Why BigQuery?Working with large data is a challenge
    • Many Use Cases ... Interactive Trends Spam Tools Detection Web Network Dashboards Optimization
    • Key Capabilities of BigQuery ● Scalable: Billions of rows ● Fast: Response in seconds ● Simple: Queries in SQL ● Web Service ○ REST ○ JSON-RPC ○ Google App Scripts
    • Using BigQueryAnother simple three step process... Upload your raw data to 1. Upload Google Storage Import raw data into 2. Import BigQuery table 3. Query Perform SQL queries on table
    • Writing QueriesCompact subset of SQL ○ SELECT ... FROM ... WHERE ... GROUP BY ... ORDER BY ... LIMIT ...;Common functions ○ Math, String, Time, ...Statistical approximations ○ TOP ○ COUNT DISTINCT
    • BigQuery via RESTGET /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
    • Security and PrivacyStandard Google Authentication ● Client Login ● OAuth ● AuthSubHTTPS support ● protects your credentials ● protects your dataRelies on Google Storage to manage access
    • Large Data Analysis ExampleWikimedia Revision HistoryWikimedia Revision history data from:
    • Using BigQuery ShellPython DB API 2.0 + B. Clappers sqlcmd
    • BigQuery from a Spreadsheet
    • BigQuery from a Spreadsheet
    • Recap ● Google App Engine ○ Application development platform for the cloud ● Google Storage ○ High speed cloud data storage on Googles infrastructure ● Prediction API ○ Googles machine learning technology able to predict outcomes based on sample data ● BigQuery ○ Interactive analysis of very large data sets ○ Simple SQL query language access
    • Further info available at:● Google App Engine ○● Google Storage for Developers ○● Prediction API ○● BigQuery ○
    • Thank you!Questions? ● @cschalk