SlideShare una empresa de Scribd logo
1 de 78
Descargar para leer sin conexión
Google Cloud Computing for Java
  Developers: Platform and Monetization



Chris Schalk                 TheEdge 2010 
Google Developer Advocate    Tel Aviv, Israel 
                             Dec 16th, 2010 
Google Cloud Platform Technologies at Glance


ExisFng                             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
   •  Apps Monetization – Apps Marketplace

• Part II – Google’s new cloud technologies
   •  Google Storage
   •  Prediction API
   •  BigQuery
Part I – Intro to App Engine

Topics covered

•  App Engine a PaaS
•  App Engine usage/customers
•  App Engine Technical Details
Google App Engine
Build your own applications in Google's 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 Numbers




1B+ 
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 Portability




16 
Extended Language support through JVM

       •    Java
       •    Scala
       •    JRuby (Ruby)
       •    Groovy
       •    Quercus (PHP)
       •    Rhino (JavaScript)   Duke, the Java mascot 
                                 Copyright © Sun Microsystems Inc., all rights reserved. 



       •    Jython (Python)




17 
Always free to get started


•  ~5M pageviews/month
•  6.5 CPU hrs/day
•  1 GB storage
•  650K URL Fetch calls/day
•  2,000 recipients emailed
•  1 GB/day bandwidth
•  100,000 tasks enqueued
•  650K XMPP messages/day




                                      18
Application Platform Management




19 
App Engine Dashboard




20 
Development Tools for App Engine




21 
Google Plugin for Eclipse




                            22 
SDK Console




23 
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 Data
24 
App Engine 1.4 Release New Features

1. Channel API  
 Allows for Server Push (Comet) to browser  
 ‐ hXp://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 Features


4. 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 aXachments have been increased from 1MB to 10MB 
Other Upcoming Features
                                                        …but you can try out early versions now! 

1. Mapper API 
  First component of App Engine’s MapReduce toolkit 
      •  hXp://code.google.com/p/appengine‐mapreduce/ 
 –  Large scale data manipulaFon 
 –  Examples include: 
      •  Report generaFon 
      •  CompuFng staFsFcs and metrics … 
 – Java Example: 
      •  hXp://ikaisays.com/2010/07/09/using‐the‐java‐mapper‐framework‐for‐app‐engine/ 
      •  Google “sqlreduce”  
            –  hXp://code.google.com/p/fredsa/source/browse/trunk/?r=115#trunk%2Fsqlreduce 

2. Matcher API  
    –  Matcher allows an app to register a set of queries to match against a stream of documents. For every 
    document presented, matcher will return the ids of all the registered queries that match the document.  
    – Trusted tester program announced in App Engine forum 
    –  Java support coming, but sFll Python only for now 
Introducing App Engine for Business




                 App Engine for Business

Same scalable cloud platform, but designed for the Enterprise


                                                                28
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 month

29 
Enterprise App Development with Google

           Buy from others         Buy from Google          Build your own




                 Google Apps              Google Apps         Google App Engine
                 Marketplace              for Business          for Business




                 Enterprise Application Platform

                                                          Enterprise Firewall 

         Enterprise Data  AuthenFcaFon     Enterprise Services  User Management 



30 
App Engine for Business
          Roadmap



      Enterprise Administration
                                  Preview (signups available)
      Console
      Direct Support              Preview (signups available)
      Hosted SQL                  Preview (signups available)
      Service Level Agreement     Available Q4 2010 (Draft published)
      Enterprise billing          Available Q4 2010
      Custom Domain SSL           Limited Release EOY 2010

31 
App Engine Resources


Get started with App Engine
•  http://code.google.com/appengine

Read up on App Engine for Business and become a trusted tester
•  http://code.google.com/appengine/business

•  bit.ly/gae4btt <- sign up!
Enough technology.. How do you
     monetize your apps?
Apps Monetization – Apps Marketplace




    hXp://google.com/enterprise/marketplace/ 
Add your Apps to the Marketplace! 
        Your Apps!



                     SaaS 

                     PaaS 


                     IaaS 

3535 
Apps Monetization – Apps Marketplace for Developers




     hXp://code.google.com/googleapps/marketplace/ 
App Engine Demos


•  App Engine/Java
    •  Getting started
•  App Engine for Business
    •  Domain Console
    •  SQL
    •  Guestbook on SQL on GAE4B
    •  SQLReduce
Part II - Google’s new Cloud Technologies

Topics covered
•  Google Storage for Developers
•  Prediction API (machine learning)
•  BigQuery
Google Storage for Developers
        Store your data in Google's cloud
What Is Google Storage?


•  Store your data in Google's cloud 
   o  any format, any amount, any Fme 

•  You control access to your data 
   o  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  
   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 Google's 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)
Google Storage - Pricing

o    Storage 
       $0.17/GB/Month 

o    Network 
       Upload - $0.10/GB 
       Download 
          $0.15/GB Americas / EMEA 
          $0.30/GB  APAC 

o    Requests 
       PUT, POST, LIST - $0.01 / 1000 Requests 
       GET, HEAD - $0.01 / 10000 Requests
Demo

•  Tools:
   o  GS Manager
   o  GSUtil

•  Upload / Download
Google Prediction API
Google's prediction engine in the cloud
Introducing the Google Prediction API


•  Google's 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 relevant
features 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 PredicFon API 
                      ?            To be or not to be, that is the quesFon. 
later searches for 
those features        ?            La fe mueve montañas. 
during predicFon. 
A virtually endless number of applicaFons... 


Customer     TransacFon            Species             Message        DiagnosFcs 
Sentiment        Risk           IdenFficaFon            RouFng 




  Churn      Legal Docket         Suspicious          Work Roster    Inappropriate 
PredicFon    ClassificaFon          AcFvity            Assignment        Content 




Recommend      PoliFcal            Uplit                Email           Career 
 Products       Bias              MarkeFng             Filtering      Counselling 


                             ... and many more ... 
Using the Prediction API
A 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 predicFons 
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%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 3: Predict 
 Apply the trained model to make predicFons on new data 


POST prediction/v1.1/query/mybucket%2Fmydata/predict
{ "data":{
   "input": { "text" : [
    "J'aime X! C'est le meilleur" ]}}}
Step 3: Predict 
Apply the trained model to make predicFons 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 
Apply the trained model to make predicFons on new data 
An example using Python 


import httplib

header = {"Content-Type" : "application/json"}

#...put new data in JSON format in params variable
conn = httplib.HTTPConnection("www.googleapis.com")conn.request("POST",
 "/prediction/v1.1/query/mybucket%2Fmydata/predict”, params, header)

print conn.getresponse()
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
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 supported

Can 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 BigQuery
Interactive analysis of large datasets in Google's cloud
Introducing Google BigQuery


•  Google's 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 ... 




   InteracFve Tools                              Trends 
                               Spam             DetecFon 




                 Web Dashboards        Network 
                                      OpFmizaFon 
Key CapabiliFes 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 BigQuery

Another 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 Queries

Compact 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 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
Security and Privacy

Standard Google Authentication
•  Client Login
•  OAuth
•  AuthSub

HTTPS support
•  protects your credentials
•  protects your data

Relies on Google Storage to manage access
Large Data Analysis Example
Wikimedia Revision History 




Wikimedia Revision history data from: hXp://download.wikimedia.org/enwiki/latest/enwiki‐
latest‐pages‐meta‐history.xml.7z 
Using BigQuery Shell 
Python DB API 2.0 + B. Clapper's sqlcmd
http://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
Q&A
Thank You!

Chris Schalk
Google Developer
Advocate

http://twitter.com/cschalk

Más contenido relacionado

La actualidad más candente

IoT Architectures for Apache Kafka and Event Streaming - Industry 4.0, Digita...
IoT Architectures for Apache Kafka and Event Streaming - Industry 4.0, Digita...IoT Architectures for Apache Kafka and Event Streaming - Industry 4.0, Digita...
IoT Architectures for Apache Kafka and Event Streaming - Industry 4.0, Digita...Kai Wähner
 
DataOps on Streaming Data: From Kafka to InfluxDB via Kubernetes Native Flows...
DataOps on Streaming Data: From Kafka to InfluxDB via Kubernetes Native Flows...DataOps on Streaming Data: From Kafka to InfluxDB via Kubernetes Native Flows...
DataOps on Streaming Data: From Kafka to InfluxDB via Kubernetes Native Flows...InfluxData
 
Financial Event Sourcing at Enterprise Scale
Financial Event Sourcing at Enterprise ScaleFinancial Event Sourcing at Enterprise Scale
Financial Event Sourcing at Enterprise Scaleconfluent
 
Apache Kafka for Automotive Industry, Mobility Services & Smart City
Apache Kafka for Automotive Industry, Mobility Services & Smart CityApache Kafka for Automotive Industry, Mobility Services & Smart City
Apache Kafka for Automotive Industry, Mobility Services & Smart CityKai Wähner
 
Integrating Applications and Data (with Oracle PaaS Cloud) - Oracle Cloud Day...
Integrating Applications and Data (with Oracle PaaS Cloud) - Oracle Cloud Day...Integrating Applications and Data (with Oracle PaaS Cloud) - Oracle Cloud Day...
Integrating Applications and Data (with Oracle PaaS Cloud) - Oracle Cloud Day...Lucas Jellema
 
Mainframe Integration, Offloading and Replacement with Apache Kafka
Mainframe Integration, Offloading and Replacement with Apache KafkaMainframe Integration, Offloading and Replacement with Apache Kafka
Mainframe Integration, Offloading and Replacement with Apache KafkaKai Wähner
 
Real-Life Use Cases & Architectures for Event Streaming with Apache Kafka
Real-Life Use Cases & Architectures for Event Streaming with Apache KafkaReal-Life Use Cases & Architectures for Event Streaming with Apache Kafka
Real-Life Use Cases & Architectures for Event Streaming with Apache KafkaKai Wähner
 
Kafka for Real-Time Replication between Edge and Hybrid Cloud
Kafka for Real-Time Replication between Edge and Hybrid CloudKafka for Real-Time Replication between Edge and Hybrid Cloud
Kafka for Real-Time Replication between Edge and Hybrid CloudKai Wähner
 
Openshift serverless Solution
Openshift serverless SolutionOpenshift serverless Solution
Openshift serverless SolutionRyan ZhangCheng
 
Data Streaming with Apache Kafka in the Defence and Cybersecurity Industry
Data Streaming with Apache Kafka in the Defence and Cybersecurity IndustryData Streaming with Apache Kafka in the Defence and Cybersecurity Industry
Data Streaming with Apache Kafka in the Defence and Cybersecurity IndustryKai Wähner
 
Architecture patterns for distributed, hybrid, edge and global Apache Kafka d...
Architecture patterns for distributed, hybrid, edge and global Apache Kafka d...Architecture patterns for distributed, hybrid, edge and global Apache Kafka d...
Architecture patterns for distributed, hybrid, edge and global Apache Kafka d...Kai Wähner
 
Stream me to the Cloud (and back) with Confluent & MongoDB
Stream me to the Cloud (and back) with Confluent & MongoDBStream me to the Cloud (and back) with Confluent & MongoDB
Stream me to the Cloud (and back) with Confluent & MongoDBconfluent
 
Event Streaming CTO Roundtable for Cloud-native Kafka Architectures
Event Streaming CTO Roundtable for Cloud-native Kafka ArchitecturesEvent Streaming CTO Roundtable for Cloud-native Kafka Architectures
Event Streaming CTO Roundtable for Cloud-native Kafka ArchitecturesKai Wähner
 
Stream Processing in 2019 - AWS Summit Sydney
Stream Processing in 2019 - AWS Summit Sydney Stream Processing in 2019 - AWS Summit Sydney
Stream Processing in 2019 - AWS Summit Sydney Amazon Web Services
 
Apache Kafka in the Transportation and Logistics
Apache Kafka in the Transportation and LogisticsApache Kafka in the Transportation and Logistics
Apache Kafka in the Transportation and LogisticsKai Wähner
 
Confluent x imply: Build the last mile to value for data streaming applications
Confluent x imply:  Build the last mile to value for data streaming applicationsConfluent x imply:  Build the last mile to value for data streaming applications
Confluent x imply: Build the last mile to value for data streaming applicationsconfluent
 
Apache Kafka in the Airline, Aviation and Travel Industry
Apache Kafka in the Airline, Aviation and Travel IndustryApache Kafka in the Airline, Aviation and Travel Industry
Apache Kafka in the Airline, Aviation and Travel IndustryKai Wähner
 
How to Apply Big Data Analytics and Machine Learning to Real Time Processing ...
How to Apply Big Data Analytics and Machine Learning to Real Time Processing ...How to Apply Big Data Analytics and Machine Learning to Real Time Processing ...
How to Apply Big Data Analytics and Machine Learning to Real Time Processing ...Codemotion
 
"Big Data beyond Apache Hadoop - How to Integrate ALL your Data" - JavaOne 2013
"Big Data beyond Apache Hadoop - How to Integrate ALL your Data" - JavaOne 2013"Big Data beyond Apache Hadoop - How to Integrate ALL your Data" - JavaOne 2013
"Big Data beyond Apache Hadoop - How to Integrate ALL your Data" - JavaOne 2013Kai Wähner
 
Transforming your business through data driven insights and action with Azure
Transforming your business through data driven insights and action with AzureTransforming your business through data driven insights and action with Azure
Transforming your business through data driven insights and action with AzureInovar Tech
 

La actualidad más candente (20)

IoT Architectures for Apache Kafka and Event Streaming - Industry 4.0, Digita...
IoT Architectures for Apache Kafka and Event Streaming - Industry 4.0, Digita...IoT Architectures for Apache Kafka and Event Streaming - Industry 4.0, Digita...
IoT Architectures for Apache Kafka and Event Streaming - Industry 4.0, Digita...
 
DataOps on Streaming Data: From Kafka to InfluxDB via Kubernetes Native Flows...
DataOps on Streaming Data: From Kafka to InfluxDB via Kubernetes Native Flows...DataOps on Streaming Data: From Kafka to InfluxDB via Kubernetes Native Flows...
DataOps on Streaming Data: From Kafka to InfluxDB via Kubernetes Native Flows...
 
Financial Event Sourcing at Enterprise Scale
Financial Event Sourcing at Enterprise ScaleFinancial Event Sourcing at Enterprise Scale
Financial Event Sourcing at Enterprise Scale
 
Apache Kafka for Automotive Industry, Mobility Services & Smart City
Apache Kafka for Automotive Industry, Mobility Services & Smart CityApache Kafka for Automotive Industry, Mobility Services & Smart City
Apache Kafka for Automotive Industry, Mobility Services & Smart City
 
Integrating Applications and Data (with Oracle PaaS Cloud) - Oracle Cloud Day...
Integrating Applications and Data (with Oracle PaaS Cloud) - Oracle Cloud Day...Integrating Applications and Data (with Oracle PaaS Cloud) - Oracle Cloud Day...
Integrating Applications and Data (with Oracle PaaS Cloud) - Oracle Cloud Day...
 
Mainframe Integration, Offloading and Replacement with Apache Kafka
Mainframe Integration, Offloading and Replacement with Apache KafkaMainframe Integration, Offloading and Replacement with Apache Kafka
Mainframe Integration, Offloading and Replacement with Apache Kafka
 
Real-Life Use Cases & Architectures for Event Streaming with Apache Kafka
Real-Life Use Cases & Architectures for Event Streaming with Apache KafkaReal-Life Use Cases & Architectures for Event Streaming with Apache Kafka
Real-Life Use Cases & Architectures for Event Streaming with Apache Kafka
 
Kafka for Real-Time Replication between Edge and Hybrid Cloud
Kafka for Real-Time Replication between Edge and Hybrid CloudKafka for Real-Time Replication between Edge and Hybrid Cloud
Kafka for Real-Time Replication between Edge and Hybrid Cloud
 
Openshift serverless Solution
Openshift serverless SolutionOpenshift serverless Solution
Openshift serverless Solution
 
Data Streaming with Apache Kafka in the Defence and Cybersecurity Industry
Data Streaming with Apache Kafka in the Defence and Cybersecurity IndustryData Streaming with Apache Kafka in the Defence and Cybersecurity Industry
Data Streaming with Apache Kafka in the Defence and Cybersecurity Industry
 
Architecture patterns for distributed, hybrid, edge and global Apache Kafka d...
Architecture patterns for distributed, hybrid, edge and global Apache Kafka d...Architecture patterns for distributed, hybrid, edge and global Apache Kafka d...
Architecture patterns for distributed, hybrid, edge and global Apache Kafka d...
 
Stream me to the Cloud (and back) with Confluent & MongoDB
Stream me to the Cloud (and back) with Confluent & MongoDBStream me to the Cloud (and back) with Confluent & MongoDB
Stream me to the Cloud (and back) with Confluent & MongoDB
 
Event Streaming CTO Roundtable for Cloud-native Kafka Architectures
Event Streaming CTO Roundtable for Cloud-native Kafka ArchitecturesEvent Streaming CTO Roundtable for Cloud-native Kafka Architectures
Event Streaming CTO Roundtable for Cloud-native Kafka Architectures
 
Stream Processing in 2019 - AWS Summit Sydney
Stream Processing in 2019 - AWS Summit Sydney Stream Processing in 2019 - AWS Summit Sydney
Stream Processing in 2019 - AWS Summit Sydney
 
Apache Kafka in the Transportation and Logistics
Apache Kafka in the Transportation and LogisticsApache Kafka in the Transportation and Logistics
Apache Kafka in the Transportation and Logistics
 
Confluent x imply: Build the last mile to value for data streaming applications
Confluent x imply:  Build the last mile to value for data streaming applicationsConfluent x imply:  Build the last mile to value for data streaming applications
Confluent x imply: Build the last mile to value for data streaming applications
 
Apache Kafka in the Airline, Aviation and Travel Industry
Apache Kafka in the Airline, Aviation and Travel IndustryApache Kafka in the Airline, Aviation and Travel Industry
Apache Kafka in the Airline, Aviation and Travel Industry
 
How to Apply Big Data Analytics and Machine Learning to Real Time Processing ...
How to Apply Big Data Analytics and Machine Learning to Real Time Processing ...How to Apply Big Data Analytics and Machine Learning to Real Time Processing ...
How to Apply Big Data Analytics and Machine Learning to Real Time Processing ...
 
"Big Data beyond Apache Hadoop - How to Integrate ALL your Data" - JavaOne 2013
"Big Data beyond Apache Hadoop - How to Integrate ALL your Data" - JavaOne 2013"Big Data beyond Apache Hadoop - How to Integrate ALL your Data" - JavaOne 2013
"Big Data beyond Apache Hadoop - How to Integrate ALL your Data" - JavaOne 2013
 
Transforming your business through data driven insights and action with Azure
Transforming your business through data driven insights and action with AzureTransforming your business through data driven insights and action with Azure
Transforming your business through data driven insights and action with Azure
 

Similar a Javaedge 2010-cschalk

Introduction to Google's Cloud Technologies
Introduction to Google's Cloud TechnologiesIntroduction to Google's Cloud Technologies
Introduction to Google's Cloud TechnologiesChris Schalk
 
Introduction to Google Cloud Platform Technologies
Introduction to Google Cloud Platform TechnologiesIntroduction to Google Cloud Platform Technologies
Introduction to Google Cloud Platform TechnologiesChris Schalk
 
What's new in App Engine and intro to App Engine for Business
What's new in App Engine and intro to App Engine for BusinessWhat's new in App Engine and intro to App Engine for Business
What's new in App Engine and intro to App Engine for BusinessChris Schalk
 
Google App Engine for Business 101
Google App Engine for Business 101Google App Engine for Business 101
Google App Engine for Business 101Chris Schalk
 
App Engine Overview Cloud Futures Publish
App Engine Overview Cloud Futures PublishApp Engine Overview Cloud Futures Publish
App Engine Overview Cloud Futures PublishChris Schalk
 
What is Google App Engine?
What is Google App Engine?What is Google App Engine?
What is Google App Engine?weschwee
 
App engine cloud_comp_expo_nyc
App engine cloud_comp_expo_nycApp engine cloud_comp_expo_nyc
App engine cloud_comp_expo_nycChris Schalk
 
Google Cloud for Data Crunchers - Strata Conf 2011
Google Cloud for Data Crunchers - Strata Conf 2011Google Cloud for Data Crunchers - Strata Conf 2011
Google Cloud for Data Crunchers - Strata Conf 2011Patrick Chanezon
 
App Engine Overview @ Google Hackathon SXSW 2010
App Engine Overview @ Google Hackathon SXSW 2010App Engine Overview @ Google Hackathon SXSW 2010
App Engine Overview @ Google Hackathon SXSW 2010Chris Schalk
 
Google Cloud Platform Update
Google Cloud Platform UpdateGoogle Cloud Platform Update
Google Cloud Platform UpdateIdo Green
 
#MBLTdev: Разработка backend для мобильного приложения с использованием Googl...
#MBLTdev: Разработка backend для мобильного приложения с использованием Googl...#MBLTdev: Разработка backend для мобильного приложения с использованием Googl...
#MBLTdev: Разработка backend для мобильного приложения с использованием Googl...e-Legion
 
App Engine Presentation @ SFJUG Sep 2010
App Engine Presentation @ SFJUG Sep 2010App Engine Presentation @ SFJUG Sep 2010
App Engine Presentation @ SFJUG Sep 2010Chris Schalk
 
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
 
Devfest09 App Engine Java
Devfest09  App Engine  JavaDevfest09  App Engine  Java
Devfest09 App Engine JavaChris Schalk
 
What is Google App Engine
What is Google App EngineWhat is Google App Engine
What is Google App EngineChris Schalk
 
Google app engine
Google app engineGoogle app engine
Google app engineSuraj Mehta
 
Introducing App Engine for Business
Introducing App Engine for BusinessIntroducing App Engine for Business
Introducing App Engine for BusinessChris Schalk
 
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
 

Similar a Javaedge 2010-cschalk (20)

Introduction to Google's Cloud Technologies
Introduction to Google's Cloud TechnologiesIntroduction to Google's Cloud Technologies
Introduction to Google's Cloud Technologies
 
Introduction to Google Cloud Platform Technologies
Introduction to Google Cloud Platform TechnologiesIntroduction to Google Cloud Platform Technologies
Introduction to Google Cloud Platform Technologies
 
What's new in App Engine and intro to App Engine for Business
What's new in App Engine and intro to App Engine for BusinessWhat's new in App Engine and intro to App Engine for Business
What's new in App Engine and intro to App Engine for Business
 
Google App Engine for Business 101
Google App Engine for Business 101Google App Engine for Business 101
Google App Engine for Business 101
 
App Engine Overview Cloud Futures Publish
App Engine Overview Cloud Futures PublishApp Engine Overview Cloud Futures Publish
App Engine Overview Cloud Futures Publish
 
What is Google App Engine?
What is Google App Engine?What is Google App Engine?
What is Google App Engine?
 
App engine cloud_comp_expo_nyc
App engine cloud_comp_expo_nycApp engine cloud_comp_expo_nyc
App engine cloud_comp_expo_nyc
 
Google Cloud for Data Crunchers - Strata Conf 2011
Google Cloud for Data Crunchers - Strata Conf 2011Google Cloud for Data Crunchers - Strata Conf 2011
Google Cloud for Data Crunchers - Strata Conf 2011
 
App Engine Overview @ Google Hackathon SXSW 2010
App Engine Overview @ Google Hackathon SXSW 2010App Engine Overview @ Google Hackathon SXSW 2010
App Engine Overview @ Google Hackathon SXSW 2010
 
Google Technical Webinar - Building Mashups with Google Apps and SAP, using S...
Google Technical Webinar - Building Mashups with Google Apps and SAP, using S...Google Technical Webinar - Building Mashups with Google Apps and SAP, using S...
Google Technical Webinar - Building Mashups with Google Apps and SAP, using S...
 
Google Cloud Platform Update
Google Cloud Platform UpdateGoogle Cloud Platform Update
Google Cloud Platform Update
 
#MBLTdev: Разработка backend для мобильного приложения с использованием Googl...
#MBLTdev: Разработка backend для мобильного приложения с использованием Googl...#MBLTdev: Разработка backend для мобильного приложения с использованием Googl...
#MBLTdev: Разработка backend для мобильного приложения с использованием Googl...
 
App Engine Presentation @ SFJUG Sep 2010
App Engine Presentation @ SFJUG Sep 2010App Engine Presentation @ SFJUG Sep 2010
App Engine Presentation @ SFJUG Sep 2010
 
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)
 
Devfest09 App Engine Java
Devfest09  App Engine  JavaDevfest09  App Engine  Java
Devfest09 App Engine Java
 
What is Google App Engine
What is Google App EngineWhat is Google App Engine
What is Google App Engine
 
Google app engine
Google app engineGoogle app engine
Google app engine
 
Introducing App Engine for Business
Introducing App Engine for BusinessIntroducing App Engine for Business
Introducing App Engine for Business
 
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)
 
Barak Regev - Google Cloud Platform
Barak Regev - Google Cloud PlatformBarak Regev - Google Cloud Platform
Barak Regev - Google Cloud Platform
 

Más de Chris Schalk

Google App Engine Overview and Update
Google App Engine Overview and UpdateGoogle App Engine Overview and Update
Google App Engine Overview and UpdateChris Schalk
 
Building Integrated Applications on Google's Cloud Technologies
Building Integrated Applications on Google's Cloud TechnologiesBuilding Integrated Applications on Google's Cloud Technologies
Building Integrated Applications on Google's Cloud TechnologiesChris Schalk
 
How to build Kick Ass Games in the Cloud
How to build Kick Ass Games in the CloudHow to build Kick Ass Games in the Cloud
How to build Kick Ass Games in the CloudChris Schalk
 
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
 
Building Integrated Applications on Google's Cloud Technologies
Building Integrated Applications on Google's Cloud TechnologiesBuilding Integrated Applications on Google's Cloud Technologies
Building Integrated Applications on Google's Cloud TechnologiesChris Schalk
 
GDD 2011 - How to build kick ass video games for the cloud
GDD 2011 - How to build kick ass video games for the cloudGDD 2011 - How to build kick ass video games for the cloud
GDD 2011 - How to build kick ass video games for the cloudChris Schalk
 
Quick Intro to Google Cloud Technologies
Quick Intro to Google Cloud TechnologiesQuick Intro to Google Cloud Technologies
Quick Intro to Google Cloud TechnologiesChris Schalk
 
Intro to Google's Cloud Technologies
Intro to Google's Cloud TechnologiesIntro to Google's Cloud Technologies
Intro to Google's Cloud TechnologiesChris Schalk
 
Introduction to Google's Cloud Technologies
Introduction to Google's Cloud TechnologiesIntroduction to Google's Cloud Technologies
Introduction to Google's Cloud TechnologiesChris 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
 
Building Apps on Google Cloud Technologies
Building Apps on Google Cloud TechnologiesBuilding Apps on Google Cloud Technologies
Building Apps on Google Cloud TechnologiesChris 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
 
Building Multi-platform Video Games for the Cloud
Building Multi-platform Video Games for the CloudBuilding Multi-platform Video Games for the Cloud
Building Multi-platform Video Games for the CloudChris Schalk
 
Building Enterprise Applications on Google Cloud Platform Cloud Computing Exp...
Building Enterprise Applications on Google Cloud Platform Cloud Computing Exp...Building Enterprise Applications on Google Cloud Platform Cloud Computing Exp...
Building Enterprise Applications on Google Cloud Platform Cloud Computing Exp...Chris Schalk
 
Google Cloud Technologies Overview
Google Cloud Technologies OverviewGoogle Cloud Technologies Overview
Google Cloud Technologies OverviewChris Schalk
 
Introduction to Google Cloud platform technologies
Introduction to Google Cloud platform technologiesIntroduction to Google Cloud platform technologies
Introduction to Google Cloud platform technologiesChris Schalk
 
Intro to new Google cloud technologies: Google Storage, Prediction API, BigQuery
Intro to new Google cloud technologies: Google Storage, Prediction API, BigQueryIntro to new Google cloud technologies: Google Storage, Prediction API, BigQuery
Intro to new Google cloud technologies: Google Storage, Prediction API, BigQueryChris Schalk
 
App engine devfest_mexico_10
App engine devfest_mexico_10App engine devfest_mexico_10
App engine devfest_mexico_10Chris Schalk
 
Google App Engine and Social Apps
Google App Engine and Social AppsGoogle App Engine and Social Apps
Google App Engine and Social AppsChris Schalk
 
Devfest09 OpenSocial Enterprise
Devfest09 OpenSocial EnterpriseDevfest09 OpenSocial Enterprise
Devfest09 OpenSocial EnterpriseChris Schalk
 

Más de Chris Schalk (20)

Google App Engine Overview and Update
Google App Engine Overview and UpdateGoogle App Engine Overview and Update
Google App Engine Overview and Update
 
Building Integrated Applications on Google's Cloud Technologies
Building Integrated Applications on Google's Cloud TechnologiesBuilding Integrated Applications on Google's Cloud Technologies
Building Integrated Applications on Google's Cloud Technologies
 
How to build Kick Ass Games in the Cloud
How to build Kick Ass Games in the CloudHow to build Kick Ass Games in the Cloud
How to build Kick Ass Games in the Cloud
 
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
 
Building Integrated Applications on Google's Cloud Technologies
Building Integrated Applications on Google's Cloud TechnologiesBuilding Integrated Applications on Google's Cloud Technologies
Building Integrated Applications on Google's Cloud Technologies
 
GDD 2011 - How to build kick ass video games for the cloud
GDD 2011 - How to build kick ass video games for the cloudGDD 2011 - How to build kick ass video games for the cloud
GDD 2011 - How to build kick ass video games for the cloud
 
Quick Intro to Google Cloud Technologies
Quick Intro to Google Cloud TechnologiesQuick Intro to Google Cloud Technologies
Quick Intro to Google Cloud Technologies
 
Intro to Google's Cloud Technologies
Intro to Google's Cloud TechnologiesIntro to Google's Cloud Technologies
Intro to Google's Cloud Technologies
 
Introduction to Google's Cloud Technologies
Introduction to Google's Cloud TechnologiesIntroduction to Google's Cloud Technologies
Introduction to Google's Cloud Technologies
 
Google App Engine's Latest Features
Google App Engine's Latest FeaturesGoogle App Engine's Latest Features
Google App Engine's Latest Features
 
Building Apps on Google Cloud Technologies
Building Apps on Google Cloud TechnologiesBuilding Apps on Google Cloud Technologies
Building Apps on Google Cloud Technologies
 
Google App Engine's Latest Features
Google App Engine's Latest FeaturesGoogle App Engine's Latest Features
Google App Engine's Latest Features
 
Building Multi-platform Video Games for the Cloud
Building Multi-platform Video Games for the CloudBuilding Multi-platform Video Games for the Cloud
Building Multi-platform Video Games for the Cloud
 
Building Enterprise Applications on Google Cloud Platform Cloud Computing Exp...
Building Enterprise Applications on Google Cloud Platform Cloud Computing Exp...Building Enterprise Applications on Google Cloud Platform Cloud Computing Exp...
Building Enterprise Applications on Google Cloud Platform Cloud Computing Exp...
 
Google Cloud Technologies Overview
Google Cloud Technologies OverviewGoogle Cloud Technologies Overview
Google Cloud Technologies Overview
 
Introduction to Google Cloud platform technologies
Introduction to Google Cloud platform technologiesIntroduction to Google Cloud platform technologies
Introduction to Google Cloud platform technologies
 
Intro to new Google cloud technologies: Google Storage, Prediction API, BigQuery
Intro to new Google cloud technologies: Google Storage, Prediction API, BigQueryIntro to new Google cloud technologies: Google Storage, Prediction API, BigQuery
Intro to new Google cloud technologies: Google Storage, Prediction API, BigQuery
 
App engine devfest_mexico_10
App engine devfest_mexico_10App engine devfest_mexico_10
App engine devfest_mexico_10
 
Google App Engine and Social Apps
Google App Engine and Social AppsGoogle App Engine and Social Apps
Google App Engine and Social Apps
 
Devfest09 OpenSocial Enterprise
Devfest09 OpenSocial EnterpriseDevfest09 OpenSocial Enterprise
Devfest09 OpenSocial Enterprise
 

Javaedge 2010-cschalk

  • 1. Google Cloud Computing for Java Developers: Platform and Monetization Chris Schalk  TheEdge 2010  Google Developer Advocate  Tel Aviv, Israel  Dec 16th, 2010 
  • 2. Google Cloud Platform Technologies at Glance ExisFng  Google App Engine  Google App Engine for Business (new)  New!  Google   Google BigQuery  Predic0on API  Google Storage 
  • 3. Agenda •  Part I - Intro to App Engine •  App Engine Details •  Development Tools •  App Engine for Business •  Apps Monetization – Apps Marketplace • Part II – Google’s new cloud technologies •  Google Storage •  Prediction API •  BigQuery
  • 4. Part I – Intro to App Engine Topics covered •  App Engine a PaaS •  App Engine usage/customers •  App Engine Technical Details
  • 5. Google App Engine Build your own applications in Google's cloud
  • 6. Cloud Computing as Gartner Sees It SaaS  PaaS  IaaS  Source: Gartner AADI Summit Dec 2009  6 
  • 7. Why Google App Engine? • Easy to build • Easy to maintain • Easy to scale 7
  • 8. By the Numbers 150,000+ ac0ve  apps on a weekly  basis  8 8
  • 9. By the Numbers 100,000+  developers use  every month  9 9
  • 11. Some App Engine Partners 11 
  • 13. 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
  • 14. Specialized Services Memcache  Datastore  URL Fetch  Mail  XMPP  Task Queue  Images  Blobstore  User Service  14 
  • 15. Language Runtimes Duke, the Java mascot  Copyright © Sun Microsystems Inc., all rights reserved.  15 
  • 17. Extended Language support through JVM •  Java •  Scala •  JRuby (Ruby) •  Groovy •  Quercus (PHP) •  Rhino (JavaScript) Duke, the Java mascot  Copyright © Sun Microsystems Inc., all rights reserved.  •  Jython (Python) 17 
  • 18. Always free to get started •  ~5M pageviews/month •  6.5 CPU hrs/day •  1 GB storage •  650K URL Fetch calls/day •  2,000 recipients emailed •  1 GB/day bandwidth •  100,000 tasks enqueued •  650K XMPP messages/day 18
  • 21. Development Tools for App Engine 21 
  • 22. Google Plugin for Eclipse 22 
  • 24. 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 Data 24 
  • 25. App Engine 1.4 Release New Features 1. Channel API    Allows for Server Push (Comet) to browser    ‐ hXp://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> 
  • 26. App Engine 1.4 Release New Features 4. 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 aXachments have been increased from 1MB to 10MB 
  • 27. Other Upcoming Features …but you can try out early versions now!  1. Mapper API   First component of App Engine’s MapReduce toolkit  •  hXp://code.google.com/p/appengine‐mapreduce/  –  Large scale data manipulaFon  –  Examples include:  •  Report generaFon  •  CompuFng staFsFcs and metrics …  – Java Example:  •  hXp://ikaisays.com/2010/07/09/using‐the‐java‐mapper‐framework‐for‐app‐engine/  •  Google “sqlreduce”   –  hXp://code.google.com/p/fredsa/source/browse/trunk/?r=115#trunk%2Fsqlreduce  2. Matcher API   –  Matcher allows an app to register a set of queries to match against a stream of documents. For every  document presented, matcher will return the ids of all the registered queries that match the document.   – Trusted tester program announced in App Engine forum  –  Java support coming, but sFll Python only for now 
  • 28. Introducing App Engine for Business App Engine for Business Same scalable cloud platform, but designed for the Enterprise 28
  • 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 month 29 
  • 30. Enterprise App Development with Google Buy from others Buy from Google Build your own Google Apps Google Apps Google App Engine Marketplace for Business for Business Enterprise Application Platform Enterprise Firewall  Enterprise Data  AuthenFcaFon  Enterprise Services  User Management  30 
  • 31. App Engine for Business Roadmap Enterprise Administration Preview (signups available) Console Direct Support Preview (signups available) Hosted SQL Preview (signups available) Service Level Agreement Available Q4 2010 (Draft published) Enterprise billing Available Q4 2010 Custom Domain SSL Limited Release EOY 2010 31 
  • 32. App Engine Resources Get started with App Engine •  http://code.google.com/appengine Read up on App Engine for Business and become a trusted tester •  http://code.google.com/appengine/business •  bit.ly/gae4btt <- sign up!
  • 33. Enough technology.. How do you monetize your apps?
  • 34. Apps Monetization – Apps Marketplace hXp://google.com/enterprise/marketplace/ 
  • 35. Add your Apps to the Marketplace!  Your Apps! SaaS  PaaS  IaaS  3535 
  • 36. Apps Monetization – Apps Marketplace for Developers hXp://code.google.com/googleapps/marketplace/ 
  • 37. App Engine Demos •  App Engine/Java •  Getting started •  App Engine for Business •  Domain Console •  SQL •  Guestbook on SQL on GAE4B •  SQLReduce
  • 38. Part II - Google’s new Cloud Technologies Topics covered •  Google Storage for Developers •  Prediction API (machine learning) •  BigQuery
  • 39. Google Storage for Developers Store your data in Google's cloud
  • 40. What Is Google Storage? •  Store your data in Google's cloud  o  any format, any amount, any Fme  •  You control access to your data  o  private, shared, or public  •   Access via Google APIs or 3rd party tools/libraries 
  • 41. 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
  • 42. 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 
  • 43. 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
  • 44. 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 Google's worldwide network for data delivery •  Only you can use bucket names with your domain names •  Read-your-writes data consistency •  Range Get
  • 46. 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)
  • 47. Google Storage - Pricing o  Storage   $0.17/GB/Month  o  Network   Upload - $0.10/GB   Download   $0.15/GB Americas / EMEA   $0.30/GB  APAC  o  Requests   PUT, POST, LIST - $0.01 / 1000 Requests   GET, HEAD - $0.01 / 10000 Requests
  • 48. Demo •  Tools: o  GS Manager o  GSUtil •  Upload / Download
  • 49. Google Prediction API Google's prediction engine in the cloud
  • 50. Introducing the Google Prediction API •  Google's sophisticated machine learning technology •  Available as an on-demand RESTful HTTP web service
  • 51. How does it work?  "english"  The quick brown fox jumped over the lazy  The Prediction API dog.  finds relevant features 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 PredicFon API  ?  To be or not to be, that is the quesFon.  later searches for  those features  ?  La fe mueve montañas.  during predicFon. 
  • 52. A virtually endless number of applicaFons...  Customer TransacFon  Species  Message  DiagnosFcs  Sentiment Risk  IdenFficaFon  RouFng  Churn  Legal Docket  Suspicious  Work Roster  Inappropriate  PredicFon  ClassificaFon  AcFvity  Assignment  Content  Recommend  PoliFcal  Uplit  Email  Career  Products  Bias  MarkeFng  Filtering  Counselling  ... and many more ... 
  • 53. Using the Prediction API A 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 predicFons 
  • 54. 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}
  • 55. Step 2: Train  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"}}}
  • 57. Step 3: Predict  Apply the trained model to make predicFons 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}]}}
  • 58. Step 3: Predict  Apply the trained model to make predicFons on new data  An example using Python  import httplib header = {"Content-Type" : "application/json"} #...put new data in JSON format in params variable conn = httplib.HTTPConnection("www.googleapis.com")conn.request("POST", "/prediction/v1.1/query/mybucket%2Fmydata/predict”, params, header) print conn.getresponse()
  • 59. 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
  • 60. 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 supported Can combine continuous output with mixed inputs
  • 61. Prediction API Demos •  Creating training data – recipes.csv •  Simple REST access •  Training the prediction engine •  Start predicting! •  A Java Web example
  • 62. Google BigQuery Interactive analysis of large datasets in Google's cloud
  • 63. Introducing Google BigQuery •  Google's 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
  • 65. Many Use Cases ...  InteracFve Tools  Trends  Spam DetecFon  Web Dashboards  Network  OpFmizaFon 
  • 66. Key CapabiliFes 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
  • 67. Using BigQuery Another 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 
  • 68. Writing Queries Compact 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
  • 69. 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
  • 70. Security and Privacy Standard Google Authentication •  Client Login •  OAuth •  AuthSub HTTPS support •  protects your credentials •  protects your data Relies on Google Storage to manage access
  • 71. Large Data Analysis Example Wikimedia Revision History  Wikimedia Revision history data from: hXp://download.wikimedia.org/enwiki/latest/enwiki‐ latest‐pages‐meta‐history.xml.7z 
  • 72. Using BigQuery Shell  Python DB API 2.0 + B. Clapper's sqlcmd http://www.clapper.org/software/python/sqlcmd/
  • 73. BigQuery from a Spreadsheet
  • 74. BigQuery from a Spreadsheet
  • 75. 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
  • 76. 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
  • 77. Q&A
  • 78. Thank You! Chris Schalk Google Developer Advocate http://twitter.com/cschalk