• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
Introduction to Google's Cloud Technologies
 

Introduction to Google's Cloud Technologies

on

  • 12,316 views

This is a presentation given by Google Developer Advocate, Chris Schalk, on Google's cloud technologies and how to build and run CFML apps on them.

This is a presentation given by Google Developer Advocate, Chris Schalk, on Google's cloud technologies and how to build and run CFML apps on them.

Statistics

Views

Total Views
12,316
Views on SlideShare
12,301
Embed Views
15

Actions

Likes
7
Downloads
149
Comments
1

9 Embeds 15

http://www.mongodb.org 3
http://us-w1.rockmelt.com 2
http://www.istikbal.gr 2
http://www.onlydoo.com 2
http://paper.li 2
http://www.gnav.ma 1
http://preacherspen.org 1
http://www.demysex.org.mx 1
http://twitter.com 1
More...

Accessibility

Categories

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.

Cancel

11 of 1 previous next

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

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

    • Introduction to Google’s Cloud TechnologiesChris  Schalk   OpenCF  Summit  Google  Developer  Advocate   Monday  Feb  21st,  2010  
    • Google Cloud Technologies at a GlanceExisIng   Google  App  Engine   Google  App  Engine  for  Business  (new)   New!   Google     Google  BigQuery   Predic0on  API   Google  Storage  
    • Agenda•  Part I - Intro to App Engine •  App Engine Details •  Development Tools •  App Engine for Business•  Part II – Google’s new cloud technologies •  Google Storage •  Prediction API •  BigQuery•  Part III - Dabbling with CFML on App Engine
    • Part I – Intro to App EngineTopics covered•  App Engine a PaaS•  App Engine usage/customers•  App Engine Technical Details
    • Google App EngineBuild your own applications in Googles cloud
    • Cloud Computing as Gartner Sees It SaaS   PaaS   IaaS   Source:  Gartner  AADI  Summit  Dec  2009   6  
    • Why Google App Engine? • Easy to build • Easy to maintain • Easy to scale 7
    • By the Numbers 150,000+  ac0ve   apps  on  a  weekly   basis   8 8
    • By the Numbers 100,000+   developers  use   every  month   9 9
    • By the Numbers1B+  daily  pageviews   10 10
    • Some App Engine Partners 11  
    • App Engine Details 12
    • 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 13
    • Specialized Services Memcache   Datastore   URL  Fetch   Mail   XMPP   Task  Queue   Images   Blobstore   User  Service  14  
    • Language Runtimes Duke,  the  Java  mascot   Copyright  ©  Sun  Microsystems  Inc.,  all  rights  reserved.  15  
    • Ensuring Portability16  
    • Extended Language support through JVM •  Java •  Scala •  Ruby (JRuby) •  Groovy (Gaelyk) •  PHP (Quercus) •  JavaScript (Rhino) Duke,  the  Java  mascot   Copyright  ©  Sun  Microsystems  Inc.,  all  rights  reserved.   •  Python (Jython) •  CFML (Open BlueDragon)17  
    • Always free to get started•  43M requests/day•  6.5 CPU hrs/day•  1 GB outgoing bandwidth•  1 GB blob storage•  650K URL Fetch calls/day•  2,000 recipients emailed•  1 GB/day bandwidth•  100,000 tasks api calls•  257K XMPP messages/minute hWp://code.google.com/appengine/docs/quotas.html   18
    • Manage your expansion – Easy Billing 19
    • Application Platform Management20  
    • App Engine Dashboard21  
    • Development Tools for App Engine22  
    • Google Plugin for Eclipse 23  
    • SDK Console24  
    • Two+ years in review Apr 2008! Python launch May 2008! Memcache, Images API Jul 2008! Logs export Aug 2008! Batch write/delete Oct 2008! HTTPS support Dec 2008! Status dashboard, quota details Feb 2009! Billing, larger files Apr 2009! Java launch, DB import, cron support, SDC May 2009! Key-only queries Jun 2009! Task queues Aug 2009! Kindless queries Sep 2009! XMPP Oct 2009! Incoming email Dec 2009! Blobstore Feb 2010! Datastore cursors, Appstats Mar 2010! Read policies, IPv6 May 2010! App Engine for Business Jun 2010! Task queue increases, Python pre-compilation… Jul 2010! Mapper API Aug 2010! Multi-tenancy, hi perf img serving, custom err pages Oct 2010! Instances Console, Delete Kind/App Data25  
    • App Engine 1.4 Release New Features1.  Channel  API      Allows  for  Server  Push  (Comet)  to  browser      -­‐  hWp://code.google.com/appengine/docs/java/channel/  2.  Always  On  3.  Warm  Up  Requests   –   Enabled  by  default  for  Java  apps   –   Can  turn  off  in  appengine-­‐web.xml  via:  <warmup-­‐requests-­‐ enabled>false</warmup-­‐requests-­‐enabled>  
    • App Engine 1.4 Release New Features4.  Hard  Limit  Updates   –   No  more  30  second  limit  for  background  work  -­‐>  up  to  10  minutes   –   Response  size  limits  for  URLFetch  have  been  raised  from  1MB  to  32MB   –   Memcache  batch  get/put  can  now  also  do  up  to  32MB  requests   –   Image  API  requests  and  response  size  limits  have  been  raised  from  1MB  to  32MB   –   Mail  API  outgoing  aWachments  have  been  increased  from  1MB  to  10MB  
    • Introducing App Engine for Business App Engine for BusinessSame scalable cloud platform, but designed for the Enterprise 29
    • Google App Engine for Business Details•  Enterprise application management –  Centralized domain console (preview available)•  Enterprise reliability and support Google App Engine –  99.9% Service Level Agreement for Business –  Direct support•  Hosted SQL –  Relational SQL database in the cloud (preview available)•  SSL on your domain•  Extremely Secure by default –  Integrated Single Sign On (SSO)•  Pricing that makes sense –  Apps cost $8 per user, up to $1000 max per month30  
    • App Engine for Business Roadmap Enterprise Administration Preview (signups available) Console Direct Support Preview (signups available) Hosted SQL Preview (signups available) Service Level Agreement Preview (Draft published) Custom Domain SSL Limited Release Q1 201132  
    • App Engine ResourcesGet started with App Engine•  http://code.google.com/appengineRead up on App Engine for Business and become a trusted tester•  http://code.google.com/appengine/business
    • App Engine Demos•  App Engine •  Getting started•  App Engine for Business •  Domain Console •  Guestbook on SQL on GAE4B
    • Part II - Google’s new Cloud TechnologiesTopics covered•  Google Storage for Developers•  Prediction API (machine learning)•  BigQuery
    • Google Storage for Developers Store your data in Googles cloud
    • What Is Google Storage?•  Store  your  data  in  Googles  cloud   o  any  format,  any  amount,  any  Ime  •  You  control  access  to  your  data   o  private,  shared,  or  public  •   Access  via  Google  APIs  or  3rd  party  tools/libraries  
    • Sample Use CasesStatic content hostinge.g. static html, images, music, videoBackup and recoverye.g. personal data, business recordsSharinge.g. share data with your customersData storage for applicationse.g. used as storage backend for Android, AppEngine, Cloud based appsStorage for Computatione.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    o  Verbs: GET, PUT, POST, HEAD, DELETE    o  Resources: identified by URI   o  Compatible with S3   •  Buckets    o  Flat containers   •  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#
    • 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•  Utilizes Googles worldwide network for data delivery•  Only you can use bucket names with your domain names•  Read-your-writes data consistency•  Range Get
    • Some  Early  Google  Storage  Adopters  
    • Google Storage - Availability•  Preview in US currently o  100GB free storage and network from Google per account o  Sign up for waitlist at http://code.google.com/apis/ storage/•  Note: Non US preview available on case-by-case basis •  http://bit.ly/dKm770 (for Storage, BigQuery, Prediction)
    • Demo•  Tools: o  GS Manager o  GSUtil•  Upload / Download
    • Google Prediction APIGoogles prediction engine in the cloud
    • Introducing the Google Prediction API•  Googles sophisticated machine learning technology•  Available as an on-demand RESTful HTTP web service
    • How  does  it  work?   "english"   The  quick  brown  fox  jumped  over  the  lazy  The Prediction API dog.  finds relevantfeatures in the "english"   To  err  is  human,  but  to  really  foul  things  up  sample data during you  need  a  computer.  training. "spanish"   No  hay  mal  que  por  bien  no  venga.   "spanish"   La  tercera  es  la  vencida.  The  PredicIon  API   ?   To  be  or  not  to  be,  that  is  the  quesIon.  later  searches  for  those  features   ?   La  fe  mueve  montañas.  during  predicIon.  
    • A  virtually  endless  number  of  applicaIons...  Customer TransacIon   Species   Message   DiagnosIcs  Sentiment Risk   IdenIficaIon   RouIng   Churn   Legal  Docket   Suspicious   Work  Roster   Inappropriate   PredicIon   ClassificaIon   AcIvity   Assignment   Content  Recommend   PoliIcal   Uplin   Email   Career   Products   Bias   MarkeIng   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  predicIons  
    • 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:  Train  Create  a  new  model  by  training  on  data  To train a model:POST prediction/v1.1/training?data=mybucket%2FmydataTraining 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  3:  Predict   Apply  the  trained  model  to  make  predicIons  on  new  data  POST prediction/v1.1/query/mybucket%2Fmydata/predict{ "data":{ "input": { "text" : [ "Jaime X! Cest le meilleur" ]}}}
    • Step  3:  Predict  Apply  the  trained  model  to  make  predicIons  on  new  data  POST prediction/v1.1/query/mybucket%2Fmydata/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  predicIons  on  new  data  An  example  using  Python  import httplibheader = {"Content-Type" : "application/json"}#...put new data in JSON format in params variableconn = httplib.HTTPConnection("www.googleapis.com")conn.request("POST", "/prediction/v1.1/query/mybucket%2Fmydata/predict”, params, header)print conn.getresponse()
    • 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 v1.1 - features•  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 supportedCan combine continuous output with mixed inputs
    • Prediction API Demos•  Creating training data – recipes.csv•  Simple REST access •  Training the prediction engine •  Start predicting!•  A Java Web example
    • Google BigQueryInteractive analysis of large datasets in Googles cloud
    • Introducing Google BigQuery•  Googles large data adhoc analysis technology o  Analyze massive amounts of data in seconds•  Simple SQL-like query language•  Flexible access o  REST APIs, JSON-RPC, Google Apps Script
    • Why  BigQuery?    Working  with  large  data  is  a  challenge  
    • Many  Use  Cases  ...   InteracIve  Tools   Trends   Spam DetecIon   Web  Dashboards   Network   OpImizaIon  
    • Key  CapabiliIes  of  BigQuery   •  Scalable: Billions of rows •  Fast: Response in seconds •  Simple: Queries in SQL •  Web Service o  REST o  JSON-RPC o  Google App Scripts
    • Using BigQueryAnother  simple  three  step  process...   Upload  your  raw  data  to   1.  Upload   Google  Storage     Import  raw  data  into  BigQuery  table   2.  Import   3.  Query   Perform  SQL  queries  on  table  
    • Writing QueriesCompact subset of SQL o  SELECT ... FROM ... WHERE ... GROUP BY ... ORDER BY ... LIMIT ...;Common functions o  Math, String, Time, ...Statistical approximations o  TOP o  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  History  Wikimedia  Revision  history  data  from:  hWp://download.wikimedia.org/enwiki/latest/enwiki-­‐latest-­‐pages-­‐meta-­‐history.xml.7z  
    • Using  BigQuery  Shell  Python DB API 2.0 + B. Clappers sqlcmdhttp://www.clapper.org/software/python/sqlcmd/
    • BigQuery from a Spreadsheet
    • BigQuery from a Spreadsheet
    • Further  info  available  at:  •  Google Storage for Developers o  http://code.google.com/apis/storage•  Prediction API o  http://code.google.com/apis/predict•  BigQuery o  http://code.google.com/apis/bigquery
    • Recap •  Google App Engine o  Google’s PaaS cloud development platform •  Google App Engine for Business o  New enterprise version of App Engine •  Google Storage o  New high speed data storage on Google Cloud •  Prediction API o  New machine learning technology able to predict outcomes based on sample data •  BigQuery o  New service for Interactive analysis of very large data sets using SQL
    • Part III – Dabbling with CFML on App Engine•  How? –  Answer: Open BlueDragon•  OpenBD is a Java CFML runtime engine•  Has Google App Engine port•  Easy installation –  Just copy an example War directory to new GAE Java Web App –  Make sure to merge the jar files from the new WEBINF/lib with the existing WEBINF/lib
    • Demo – App Engine’s Guestbook application on OpenBD •  http://guestbookcfm.appspot.com/
    • Q&A
    • Thank You!Chris SchalkGoogle DeveloperAdvocatehttp://twitter.com/cschalk