SlideShare ist ein Scribd-Unternehmen logo
1 von 134
Downloaden Sie, um offline zu lesen
Google Cloud for
                               Java Developers:
                               Platform and
                               Monetization
                               Patrick Chanezon, Developer
                               Advocate, Cloud
                               @chanezon, chanezon@google.com


Wednesday, February 16, 2011
Agenda

    •   Google Apps Marketplace
    •   Google App Engine
    •   Google App Engine for Business
    •   Google Storage for Developers
    •   Prediction API
    •   BigQuery
    •   Google Fusion Tables
    •   Google Visualization API
    •   Google Refine




                                         Google Developer Day 2010
Wednesday, February 16, 2011
The benefits of Cloud Computing


                               Economics
                                 Pay for only what you use
                                 TCO
                                 OPEX vs CAPEX
                               Operations
                                 Day to day: no maintenance
                                 Fighting fires: no Pagers
                               Elasticity
                               Focus on your Business




                                                              3


Wednesday, February 16, 2011
What is
                                 cloud
                               computing?




                                  3
Wednesday, February 16, 2011
Cloud Computing Defined



                               SaaS

                               PaaS


                               IaaS

                                      Source: Gartner AADI Summit Dec 2009
                                               Google Developer Day 2010
Wednesday, February 16, 2011
Cloud Computing Defined



                               SaaS

                               PaaS


                               IaaS

                                      Source: Gartner AADI Summit Dec 2009
                                               Google Developer Day 2010
Wednesday, February 16, 2011
Cloud Computing Defined



                               SaaS

                               PaaS


                               IaaS

                                      Source: Gartner AADI Summit Dec 2009
                                               Google Developer Day 2010
Wednesday, February 16, 2011
Cloud Computing Defined



                               SaaS

                               PaaS


                               IaaS

                                      Source: Gartner AADI Summit Dec 2009
                                               Google Developer Day 2010
Wednesday, February 16, 2011
Google's Cloud Offerings

                                      1. Google Apps
                                      2. Third party Apps:
                                         Google Apps Marketplace
                               SaaS   3. ________


                                               Google App Engine
                               PaaS
                                                  Google Storage
                               IaaS                Prediction API
                                                       BigQuery

                                                 Google Developer Day 2010
Wednesday, February 16, 2011
Google's Cloud Offerings
           Your Apps
                                      1. Google Apps
                                      2. Third party Apps:
                                         Google Apps Marketplace
                               SaaS   3. ________


                                               Google App Engine
                               PaaS
                                                  Google Storage
                               IaaS                Prediction API
                                                       BigQuery

                                                 Google Developer Day 2010
Wednesday, February 16, 2011
Build and Buy all your enterprise cloud apps...




                                                     Google Apps Platform




                                                                                 Enterprise Firewall


                                                                                                 7
                               Enterprise Data   Authentication   Enterprise Services User Management
Wednesday, February 16, 2011
Build and Buy all your enterprise cloud apps...

                                                        Buy from Google




                                                          Google Apps
                                                          for Business

                                                     Google Apps Platform




                                                                                 Enterprise Firewall


                                                                                                 7
                               Enterprise Data   Authentication   Enterprise Services User Management
Wednesday, February 16, 2011
Build and Buy all your enterprise cloud apps...

                               Buy from others          Buy from Google




                                Google Apps               Google Apps
                                Marketplace               for Business

                                                     Google Apps Platform




                                                                                 Enterprise Firewall


                                                                                                 7
                               Enterprise Data   Authentication   Enterprise Services User Management
Wednesday, February 16, 2011
Build and Buy all your enterprise cloud apps...

                               Buy from others          Buy from Google           Build your own




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

                                                     Google Apps Platform




                                                                                 Enterprise Firewall


                                                                                                 7
                               Enterprise Data   Authentication   Enterprise Services User Management
Wednesday, February 16, 2011
Google Apps Marketplace




                                      Google Developer Day 2010
Wednesday, February 16, 2011
Customers want more Apps


                                   Business
                                   in the cloud




                      Google
                       Apps


                               9

Wednesday, February 16, 2011
Marketplace Overview




                                   Google Developer Day 2010
Wednesday, February 16, 2011
Google Apps is Focused on Messaging &
      Collaboration




                               Gives every employee powerful messaging and collaboration
                                        tools without the usual IT hassle and cost


Wednesday, February 16, 2011
These customers want more great cloud apps...


                               Messaging
                                                        Document Management
                               Collaboration
                                                        Productivity


                               Accounting & Finance     Project Management


                               Admin Tools              Sales & Marketing


                               Calendaring / Meetings   Security & Compliance


                               Customer Management      Workflow




Wednesday, February 16, 2011
Steps to sell your app to Google Apps customers
    1. Build your app:
    - with any tools and hosting provider you want

    2. Integrate your app:
    - add Single Sign On using OpenID (required)
    - access over a dozen integration points from Calendar, Contacts,
    Docs, etc. using OAuth (optional)

    3. Sell your app:
    - to 3M+ businesses & 30M+ users
    - through Google Apps resellers
    - to wherever Google Apps goes
    - One-time fee of $100, 20% rev share starting 2H'10




Wednesday, February 16, 2011
Everything in the Cloud




Wednesday, February 16, 2011
Integrating with Google Apps & the Marketplace




                                                Manifest




Wednesday, February 16, 2011
Demo Google Apps Marketplace


                                          Google Developer Day 2010
Wednesday, February 16, 2011
How it's done - Single Sign On


                                                Google Developer Day 2010
Wednesday, February 16, 2011
Single Sign On
      OpenID with Google Apps




                                     bob@foo.com             Welcome Bob!
                                     ***********




                        Sounds complicated, but not hard in practice!



Wednesday, February 16, 2011
Single Sign On
      OpenID Libraries
                               Language           Libraries

                                 Java        OpenID4Java, Step2

                                 .NET         DotNetOpenAuth

                                                php-openid,
                                 PHP
                                          php-openid-apps-discovery

                                                 ruby-openid,
                                Ruby
                                          ruby-openid-apps-discovery

                                 Any          RPX, Ping Identity




Wednesday, February 16, 2011
Single Sign On - Code
      Step 1 of 3 - Initialize library
      function getOpenIDConsumer() {
        // Initialize client, storing associations
        // in memcache
        $store = new Auth_OpenID_MemcachedStore($MEMCACHE);
        $consumer = new Auth_OpenID_Consumer($store);
        
        // Enable Google Apps support 
        GApps_OpenID_EnableDiscovery($consumer);
        return $consumer;
      }




Wednesday, February 16, 2011
Single Sign On - Code
      Step 2 of 3 - Make the request
      // Create an auth request to the user's domain 
      $auth_request = getOpenIDConsumer()->begin($domain);

      // Request email address & name during login 
      $ax = new Auth_OpenID_AX_FetchRequest; 
      $attr = Auth_OpenID_AX_AttrInfo::make(
            $AX_SCHEMA_EMAIL, 1, 1, 'email');
      $attr = Auth_OpenID_AX_AttrInfo::make(
            $AX_SCHEMA_FIRSTNAME, 1, 1, 'first');
      $attr = Auth_OpenID_AX_AttrInfo::make(
            $AX_SCHEMA_LASTNAME, 1, 1, 'last');
      $auth_request->addExtension($ax);

      // Render Javascript/form to post request
      $form_html = $auth_request->htmlMarkup($REALM,
            $RETURN_TO, false, 
            array('id' => 'openid_message')); 
      print $form_html;




Wednesday, February 16, 2011
Single Sign On - Code
      Step 3 of 3 - Handle response
    // Parse the response from identity provider 
    $response = getOpenIDConsumer()->complete($RETURN_TO); 
    if ($response->status == Auth_OpenID_SUCCESS) {
      // Extract data from response 
      $openid = $response->getDisplayIdentifier();
      $ax = new Auth_OpenID_AX_FetchResponse();
      $ax_resp = $ax->fromSuccessResponse($response);
      $email = $ax_resp->data[$AX_SCHEMA_EMAIL][0];
      $firstName = $ax_resp->data[$AX_SCHEMA_FIRSTNAME][0];
      $lastName = $ax_resp->data[$AX_SCHEMA_LASTTNAME][0];
      // Map to user in DB 
      $user = fetch_user($openid, $email, $firstName,
          $lastName);
    } 




Wednesday, February 16, 2011
Single Sign On - Code
      Manifest
 <ApplicationManifest>
   <Name>Sassy Voice</Name>
   <Description>Voice Mail &amp; Messaging</Description>
   <Admin>
     <Link rel="setup">
 http://voice.saasyapp.com/setup.php?domain=${DOMAIN_NAME}
     </Link>
   </Admin>  
   <Extension id="navlink" type="link">
     <Name>SaasyVoice</Name>
     <Url>
 http://voice.saasyapp.com/login.php?domain=${DOMAIN_NAME}
     </Url> 
   </Extension>
   <Extension id="realm" type="openIdRealm">
     <Url>http://voice.saasyapp.com/</Url>
   </Extension>
 </ApplicationManifest>



Wednesday, February 16, 2011
Single Sign On
      What we learned about users

                               Claimed ID: http://example.com/openid?id=12345


                               Email: bob@example.com*
                               First Name: Bob
                               Last Name: Dobbs




                               * Be sure to confirm or white-list trusted providers



Wednesday, February 16, 2011
How it's done - Data Access


                                                    Google Developer Day 2010
Wednesday, February 16, 2011
2-Legged OAuth
      Delegating data access

 <ApplicationManifest>
   ... 
   <Scope id="userFeed">
     <Url>https://apps-apis.google...
     <Reason>To get a list of user...
   </Scope>
   <Scope id="contactsFeed">
     <Url>https://www.google.com... 
     <Reason>To display names of... 
   </Scope>
   <Scope id="docsFeed"> 
     <Url>https://docs.google.com... 
     <Reason>To export a call log... 
   </Scope> 
 </ApplicationManifest>




Wednesday, February 16, 2011
Data Access - Code
      Step 1 of 2 - Initialize the client
    function getOauthClient() {
      $options = array(
        'consumerKey' => $CONSUMER_KEY,
        'consumerSecret' => $CONSUMER_SECRET,
        'signatureMethod' => 'HMAC-SHA1',
        'requestScheme' =>Zend_Oauth::REQUEST_SCHEME_HEADER,
        'version' => '1.0');
      $consumer = new Zend_Oauth_Consumer($options);
      $token = new Zend_Oauth_Token_Access();
      $httpClient = $token->getHttpClient($options);
      return $httpClient;
    }




Wednesday, February 16, 2011
Data Access - Code
      Step 2 of 2 - Fetching Users with Provisioning API
      // Initialize client
      $userClient = new Zend_Gdata_Gapps(getOauthClient());
      // Query feed for current user's domain
      $userQuery = new Zend_Gdata_Gapps_UserQuery(
        getCurrentUserDomain());
      $usersFeed = $userClient->getUserFeed($userQuery);
      // Extract data from user feed
      $users = array();
      foreach ($usersFeed as $userEntry) {
        $login = $userEntry->getLogin();
        $name = $userEntry->getName();
        $users[] = array(
         'username' => $login->getUsername(),
         'firstName' => $name->getGivenName(),
         'lastName' => $name->getFamilyName(),
         'admin' => $login->getAdmin());
      }




Wednesday, February 16, 2011
Integration Recap
      With not a lot of code we added:

       •    Single Sign On with OpenID
       •    Quicker setup with Attribute Exchange, Provisioning API
       •    Integrated user data with Contacts API
       •    Uploading spreadsheets with Docs API




Wednesday, February 16, 2011
Gadgets - your real estate in Google Apps


                               Google Developer Day 2010
Wednesday, February 16, 2011
Gadgets

   • Many types of gadgets
     o Gmail sidebar
     o Calendar sidebar
     o Sites
     o Spreadsheets
   • Two new types of gadgets available this week!
     o Gmail contextual!
     o Wave!
   • All use the OpenSocial gadgets specification




Wednesday, February 16, 2011
Gmail contextual gadgets

   • Detect e-mail content via regular expressions
   • Display and collect actionable business information
     directly in Gmail, below each message




Wednesday, February 16, 2011
Gmail contextual gadgets




Wednesday, February 16, 2011
Gmail contextual gadgets




Wednesday, February 16, 2011
Calendar sidebar gadgets
      • Can detect:
        o currently-displayed date range
        o currently-selected event
           title
           attendees
           date/time




Wednesday, February 16, 2011
Calendar sidebar gadgets




Wednesday, February 16, 2011
Calendar sidebar gadgets




Wednesday, February 16, 2011
Sell


                                      Google Developer Day 2010
Wednesday, February 16, 2011
Complete Manifest

 <ApplicationManifest xmlns="http://schemas.google.com/
 ApplicationManifest/2009">
 <Name>SaaSy Voice</Name>
   <Description>SaaSy Voice</Description>
   <Support>
     <Link rel="setup" href="https://.../setup.php?domain=${DOMAIN_NAME}"/
 >
     <Link rel="manage" href="https://.../config.php?domain=$
 {DOMAIN_NAME}"/>
     <Link rel="deletion-policy" href="http://.../deletion-policy.php"/>
     <Link rel="support" href="http://.../support.php"/>
   </Support>




Wednesday, February 16, 2011
Complete Manifest
      (continued)
   <!-- Link in universal navigation --> 
   <Extension id="oneBarLink" type="link"> 
     <Name>SaaSy Voice</Name>
     <Url>http://.../index.php?domain=${DOMAIN_NAME}</Url>
     <Scope ref="provisioningFeed"/>
     <Scope ref="contactsFeed"/> 
     <Scope ref="docsFeed"/>
   </Extension> 
   <!-- Declare our openid.realm --> 
   <Extension id="realm" type="openIdRealm">
     <Url>http://voice.saasyapp.com/marketplace/</Url>
   </Extension>




Wednesday, February 16, 2011
Complete Manifest
      (continued)
   <Scope id="provisioningFeed">
     <Url>https://apps-apis.google.com/a/feeds/user/#readonly</Url> 
     <Reason>To get a list of users to provision accounts</Reason>
   </Scope>
   <Scope id="contactsFeed"> 
     <Url>https://www.google.com/m8/feeds/</Url>
     <Reason>To display names of people who called</Reason>
   </Scope>
   <Scope id="docsFeed">
     <Url>https://docs.google.com/feeds/</Url> 
     <Reason>To export a call log</Reason>
   </Scope>
 </ApplicationManifest>




Wednesday, February 16, 2011
Listing in the Google Apps Marketplace




Wednesday, February 16, 2011
Listing in the Google Apps Marketplace




Wednesday, February 16, 2011
Reach 30 million Google Apps Users




 "We've seen a very meaningful increase in high quality, non-paid lead
 flow directly attributable to Google Apps customers...Our customers
 cite Smartsheet's tight integration with Google's Data APIs as a key
 factor in their decision to purchase."
                                Brent Frei, Smartsheet



Wednesday, February 16, 2011
Learn More


                                            Google Developer Day 2010
Wednesday, February 16, 2011
Resources
  • Business and Marketing
    o http://developer.googleapps.com/marketplace
  • Technical and Code
    o http://code.google.com/googleapps/marketplace
  • Shopping!
    o http://www.google.com/appsmarketplace
  • Don't have Google Apps?
    o http://www.google.com/a




Wednesday, February 16, 2011
Google App Engine




                                Google Developer Day 2010
Wednesday, February 16, 2011
Google App Engine

            - Easy to build
            - Easy to maintain
            - Easy to scale




                                 48

Wednesday, February 16, 2011
Cloud development in a box
            • SDK & “The Cloud”
            • Hardware
            • Networking
            • Operating system
            • Application runtime
                   Java, Python
                   o

            •    Static file serving
            •    Services
            •    Fault tolerance
            •    Load balancing



                                       49

Wednesday, February 16, 2011
App Engine Services


                           Memcache     Datastore   URL Fetch




                                Mail      XMPP      Task Queue




                               Images   Blobstore   User Service


                                            50

Wednesday, February 16, 2011
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
                                               51

Wednesday, February 16, 2011
Purchase additional resources *




            * free monthly quota of ~5 million page views still in full effect
                                                                                 52

Wednesday, February 16, 2011
Extended Language support through JVM


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




  19

Wednesday, February 16, 2011
Development Tools for Java App Engine




  20

Wednesday, February 16, 2011
Google’s Complete Java Development Stack




                               +

  21

Wednesday, February 16, 2011
Google Plugin for Eclipse




  22

Wednesday, February 16, 2011
Google Plugin for Eclipse




  23

Wednesday, February 16, 2011
NeatBeans Plugin for Java App Engine


                               http://kenai.com/projects/nbappengine/




  24

Wednesday, February 16, 2011
Wednesday, February 16, 2011
                               F
Wednesday, February 16, 2011
                               F
http://gaelyk.appspot.com




Wednesday, February 16, 2011
                               F
http://gaelyk.appspot.com




Wednesday, February 16, 2011
                               F
Google App Engine For Business




                                    Google Developer Day 2010
Wednesday, February 16, 2011
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                                   Google App Engine
                                                                      for Business
           – Pay only for what you use
 * Hosted SQL and SSL on your domain available later this year
                                                                 Google Developer Day 2010
Wednesday, February 16, 2011
Domain Console




      62
                               Google Developer Day 2010
Wednesday, February 16, 2011
App Engine for Business Pricing
  Intranet apps:
  Each app costs $8 / active user / month
  Capped at $1,000 / month (i.e. users above 125 are free)
  Apps are auth-restricted to domain users
  Development is free
  Overage charges on Background Analysis/Storage

  Non intranet apps (external/public/ISV apps):
  Pricing TBD

  Postpaid (i.e. billed at the end of month)




Wednesday, February 16, 2011
App Engine for Business Support
  Paid Support
    Email based
    1000$/month
    1h response time on operational issues
    8h on development issues

  SLA
    99.9% uptime
    Service credits from 10% to 100% refund of monthly bill




Wednesday, February 16, 2011
Google Developer Qualification




                               Chrome       Gadgets   Search   App Engine   JS Maps API   KML   3D
                               Extensions




Wednesday, February 16, 2011
App Engine for Data Crunchers

    • High Performance Image Serving
    • OpenId/Oauth integration
    • Increased quotas
        • > 1k entities per query
        • 10’’ task queues
    • Async UrlFetch
    • Mapper API (Reduce coming soon)
    • Channel API
    • Matcher API




                                        Google Developer Day 2010
Wednesday, February 16, 2011
Mapper API
             • First component of App Engine’s MapReduce toolkit
             • Large scale data manipulation
             • Examples include:
                     • Report generation
                     • Computing statistics and metrics …
             • Python Example:
                     • http://blog.notdot.net/2010/05/Exploring-the-new-mapper-API
             • Java Example:
                     • http://ikaisays.com/2010/07/09/using-the-java-mapper-framework-for-app-
                     engine/




                                                                           Google Developer Day 2010
Wednesday, February 16, 2011
Channel API
          • Allows for Server Push (Comet) to browser
             • Blog post announcement:
                     • http://googleappengine.blogspot.com/2010/05/app-engine-at-google-
                     io-2010.html
             • External coverage:
                     • Sneak Peak from an early trusted tester
                     • http://bitshaq.com/2010/09/01/sneak-peak-gae-channel-api/
          • Demo code for Dance Dance Robot available here:
             • http://code.google.com/p/dance-dance-robot/
             • Also see: https://groups.google.com/group/google-appengine-java/
             browse_thread/thread/6fa09953ffae2cd3/c1db7de5fdb82b65?pli=1#




                                                                           Google Developer Day 2010
Wednesday, February 16, 2011
Matcher API
          • Allows an app to register a set of queries to match against a
          stream of documents
             • Trustes Testers, Python only
             • Group post announcement:
                     • http://groups.google.com/group/google-appengine/msg/40021537e2e58962
             • Docs:
                     • http://code.google.com/p/google-app-engine-samples/wiki/
                     AppEngineMatcherService
          • Demo code:
             • http://code.google.com/p/google-app-engine-samples/source/browse/#svn/trunk/
             matcher-sample




                                                                           Google Developer Day 2010
Wednesday, February 16, 2011
Google Storage for Developers
      Store your data in Google's cloud




                                          Google Developer Day 2010
Wednesday, February 16, 2011
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




                                                 Google Developer Day 2010
Wednesday, February 16, 2011
Google Storage Technical Details

    RESTful API 
    • Verbs: GET, PUT, POST, HEAD, DELETE 
    • Resources: identified by URI, like:
             http://commondatastorage.googleapis.com/bucket/object
     • Compatible with S3 
    Buckets
    • Flat containers (no bucket hierarchy)




                                                      Google Developer Day 2010
Wednesday, February 16, 2011
Performance and Scalability
      Object types and size
      • Objects of any type and 100GB+ / Object
      • Unlimited numbers of objects, 1000s of buckets
      • Range-get support for data retrieval

      Replication
      • All data replicated to multiple US data centers
      • Leveraging Google's worldwide network for data delivery

      Consistency
      • “Read-your-writes” data consistency




                                                  Google Developer Day 2010
Wednesday, February 16, 2011
Security and Privacy Features
      Authenticated downloads from a web browser
      • Sharing with individuals
      • Group sharing via Google Groups
      • Sharing with Google Apps domains

      Permissions set on Buckets or Objects
      • READ (an object, or list a bucket’s contents)
      • WRITE (applicable to buckets, allows upload/delete/etc)
      • FULL_CONTROL (read/write ACLs on objects or buckets)




                                                 Google Developer Day 2010
Wednesday, February 16, 2011
Tools
                               Google Storage Manager




     gsutil




                                                        Google Developer Day 2010
Wednesday, February 16, 2011
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 Developer Day 2010
Wednesday, February 16, 2011
Some Early Google Storage Adopters




                                Google Developer Day 2010
Wednesday, February 16, 2011
Google Storage usage within Google

                                Google                           Google
                               BigQuery                       Prediction API




                                                         Haiti Relief Imagery          USPTO data




                                          Partner Reporting   Partner Reporting


                                                                                Google Developer Day 2010
Wednesday, February 16, 2011
Google Storage - Availability
      Limited preview in US* currently
      • 100GB free storage and network per account
      • Sign up for wait list at
            • http://code.google.com/apis/storage/




     * Non-US preview available on case-by-case basis
                                                        Google Developer Day 2010
Wednesday, February 16, 2011
Google Prediction API
      Google's prediction engine in the cloud




                                                Google Developer Day 2010
Wednesday, February 16, 2011
Introducing the Google Prediction API

    • Google's sophisticated machine learning technology
    • Available as an on-demand RESTful HTTP web service




                                                   Google Developer Day 2010
Wednesday, February 16, 2011
A virtually endless number of applications...


      Customer                 Transaction        Species             Message         Diagnostics
      Sentiment                   Risk          Identification        Routing




        Churn                  Legal Docket      Suspicious          Work Roster     Inappropriate
      Prediction               Classification     Activity           Assignment         Content




   Recommend                     Political         Uplift              Email           Career
    Products                      Bias            Marketing           Filtering       Counseling


                                             ... and many more ...
                                                                             Google Developer Day 2010
Wednesday, February 16, 2011
How does it work?
  1. TRAIN                                 The quick brown fox jumped over the
                               "english"
  The Prediction API                       lazy dog.
  finds relevant                           To err is human, but to really foul things
  features in the              "english"
                                           up you need a computer.
  sample data during
                               "spanish"   No hay mal que por bien no venga.
  training.
                               "spanish"   La tercera es la vencida.



    2. PREDICT                             To be or not to be, that is the
                               ?
    The Prediction API                     question.
    later searches for         ?           La fe mueve montañas.
    those features
    during prediction.

                                                              Google Developer Day 2010
Wednesday, February 16, 2011
Introducing the Google Prediction API




                                  Google Developer Day 2010
Wednesday, February 16, 2011
A Prediction API Example
     Automatically determine application recommendations


    • Goal: Increase relevancy on the Apps Marketplace via
      recommendations
    • Customers: Businesses of various sizes and industries
      using Google Apps around the world
    • Data: Sampling of previous installs of applications
    • Outcome: Predict applications which would be
      appropriate for a new customer visiting the site




                                                Google Developer Day 2010
Wednesday, February 16, 2011
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 predictions


                                                           Google Developer Day 2010
Wednesday, February 16, 2011
Step 1: Upload
      Upload your training data to Google Storage

  • Training data: outputs and input features
  • Data format: comma separated value format (CSV), result in first column

       "SlideRocket","EDUCATION","us","en","10","5"
       "MailChimp","BUSINESS","us","en","7","0"
       "MailChimp","STANDARD","se","sv","1","0"
       "Smartsheet","BUSINESS","us","en","13","4"


       Upload to Google Storage

       gsutil cp installs gs://appdata/



                                                      Google Developer Day 2010
Wednesday, February 16, 2011
Step 2: Train
      Create a new model by training on data

      To train a model:

      POST prediction/v1.1/training?data=appdata%2Finstalls


      Training runs asynchronously. To see if it has finished:
      GET prediction/v1.1/training/appdata%2Finstalls

      {"data":{
         "data":"appdata/installs",
         "modelinfo":"estimated accuracy: 0.xx"}}}



                                                    Google Developer Day 2010
Wednesday, February 16, 2011
Step 3: Predict
      Apply the trained model to make predictions on new data
 POST prediction/v1.1/query/appdata%2Finstalls/predict
 { "data":{
     "input": { "mixture" : [
       "EDUCATION","us","en","10","0" ]}}}

 { data : {
   "kind" : "prediction#output",
   "outputLabel":"Manymoon",
   "outputMulti" :[
      {"label":"OffiSync", "score": x.xx}
      {"label":"Zoho CRM", "score": x.xx}
      {"label":"MailChimp", "score": x.xx}]}}




                                                  Google Developer Day 2010
Wednesday, February 16, 2011
Demo!
                               Google Developer Day 2010
Wednesday, February 16, 2011
Demo Screenshots




      Predicting apps for a 501-1,000 seat educational institution
                                                         Google Developer Day 2010
Wednesday, February 16, 2011
Demo Screenshots




      Predicting apps for a 501-1,000 seat educational institution
                                                         Google Developer Day 2010
Wednesday, February 16, 2011
Demo Screenshots




                               Predicting apps for a small business
                                                                      Google Developer Day 2010
Wednesday, February 16, 2011
Demo Screenshots




                               Predicting apps for a small business
                                                                      Google Developer Day 2010
Wednesday, February 16, 2011
Prediction API Capabilities
      Data
      • Input Features: numeric or unstructured text
      • Output: up to hundreds of discrete categories, or
        continuous values

      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

                                                   Google Developer Day 2010
Wednesday, February 16, 2011
Prediction API - Pricing
    Free Quota in trial/development
    • 100 predictions/day, 5MB trained/day
    • Available for 6 months

    Paid Usage
    • $10/month per project includes 10,000 predictions
    • Additional predictions are $0.50 per 1,000
    • Absolute limit of 60,000 predictions per day
    • $0.002 per MB trained (max size per dataset is 100MB)




                                                Google Developer Day 2010
Wednesday, February 16, 2011
Google Storage - Availability
      Limited preview in US* currently
      • Sign up for wait list at
            • http://code.google.com/apis/predict/




     * Non-US preview available on case-by-case basis
                                                        Google Developer Day 2010
Wednesday, February 16, 2011
Google BigQuery
Interactive analysis of large datasets in Google's cloud




                                              Google Developer Day 2010
Wednesday, February 16, 2011
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




                                                                Google Developer Day 2010
Wednesday, February 16, 2011
Why BigQuery?
         Working with large data is a challenge




                                                  Google Developer Day 2010
Wednesday, February 16, 2011
Many Use Cases ...



                                                            Trends
                     Interactive            Spam
                                                           Detection
                        Tools




                                  Web               Network
                               Dashboards          Optimization

                                                         Google Developer Day 2010
Wednesday, February 16, 2011
Key Capabilities 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




                                      Google Developer Day 2010
Wednesday, February 16, 2011
Using BigQuery
       Another 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

                                                          Google Developer Day 2010
Wednesday, February 16, 2011
Writing Queries
      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




                                              Google Developer Day 2010
Wednesday, February 16, 2011
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



                                                           Google Developer Day 2010
Wednesday, February 16, 2011
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




                                                   Google Developer Day 2010
Wednesday, February 16, 2011
Large Data Analysis Example
      Wikimedia Revision History




      Wikimedia Revision history data from:
      http://download.wikimedia.org/enwiki/latest/enwiki-latest-pages-meta-history.xml.7z
                                                                                   Google Developer Day 2010
Wednesday, February 16, 2011
Large Data Analysis Example
      Wikimedia Revision History




      Wikimedia Revision history data from:
      http://download.wikimedia.org/enwiki/latest/enwiki-latest-pages-meta-history.xml.7z
                                                                                   Google Developer Day 2010
Wednesday, February 16, 2011
Using BigQuery Shell
       Python DB API 2.0 + B. Clapper's sqlcmd
       http://www.clapper.org/software/python/sqlcmd/




                                                        Google Developer Day 2010
Wednesday, February 16, 2011
BigQuery from a Spreadsheet




                               Google Developer Day 2010
Wednesday, February 16, 2011
BigQuery from a Spreadsheet




                               Google Developer Day 2010
Wednesday, February 16, 2011
Google Fusion Tables




                                   Google Developer Day 2010
Wednesday, February 16, 2011
Google Fusion Tables

    • Manage large collections of tabular data in the cloud
        • 100 Mb tables
        • Filters, Aggregation, Merge
        • ACL, Collaboration, Discuss Data
        • Visualizations
    • REST API
        • Geo queries
    • Maps Integration
        • FusionTablesLayer




                                                   Google Developer Day 2010
Wednesday, February 16, 2011
Google Fusion Tables




                               Google Developer Day 2010
Wednesday, February 16, 2011
Google Visualization API




                                       Google Developer Day 2010
Wednesday, February 16, 2011
Google Visualization API

    • Collection of JavaScript Visualization components
        • Some from Google (Chart Tools)
        • Some from other developers
        • Share the same wire protocol for Data Sources




                                                 Google Developer Day 2010
Wednesday, February 16, 2011
Example: Weather data

    • US National Climatic Data Center
        • weather data at stations around the globe since 1929
        • Stored in Google Storage
        • Created a Table for Bigquery
        • Upload Weather Station coordinates in Fusion Tables
        • App Engine App
           • Maps API to display weather station Maps
           • Bigquery to query average temperature in January
           • A bit of Python to create a JSON Data Source
           • Visualization API
    • Just an example: rince, repeat, enhance!



                                                 Google Developer Day 2010
Wednesday, February 16, 2011
Example: Weather data




                               Google Developer Day 2010
Wednesday, February 16, 2011
Google Refine




                               Google Developer Day 2010
Wednesday, February 16, 2011
Google Refine

    • Power tool for working with messy data
         • Cleanup
         • Transform
         • Augment
         • (Link with FreeBase)
    • Desktop software for now
    • http://code.google.com/p/google-refine/




                                                Google Developer Day 2010
Wednesday, February 16, 2011
Google Refine




                               Google Developer Day 2010
Wednesday, February 16, 2011
Recap
       • Google App Engine
         o Easy to build, deploy and manage web apps
       • Google Storage
         o High speed data storage on Google Cloud
       • Prediction API
         o Google's machine learning technology
       • BigQuery
         o Interactive analysis of very large data sets
       • Google Fusion Tables
         o Manage collections of tabular data in the cloud
       • Google Refine
         o Power tool for working with messy data
       • Google Visualization
         o Collection of JavaScript Visualization


                                                    Google Developer Day 2010
Wednesday, February 16, 2011
More information
     http://code.google.com/apis/
     http://code.google.com/more/table/




                                    Google Developer Day 2010
Wednesday, February 16, 2011
Google Cloud for
                               Java Developers:
                               Platform and
                               Monetization
                               Patrick Chanezon, Developer
                               Advocate, Cloud
                               @chanezon, chanezon@google.com


Wednesday, February 16, 2011

Weitere ähnliche Inhalte

Andere mochten auch

AI&BigData Lab. Маргарита Остапчук "Алгоритмы в Azure Machine Learning и где ...
AI&BigData Lab. Маргарита Остапчук "Алгоритмы в Azure Machine Learning и где ...AI&BigData Lab. Маргарита Остапчук "Алгоритмы в Azure Machine Learning и где ...
AI&BigData Lab. Маргарита Остапчук "Алгоритмы в Azure Machine Learning и где ...GeeksLab Odessa
 
Integrating Azure Machine Learning and Predictive Analytics with SharePoint O...
Integrating Azure Machine Learning and Predictive Analytics with SharePoint O...Integrating Azure Machine Learning and Predictive Analytics with SharePoint O...
Integrating Azure Machine Learning and Predictive Analytics with SharePoint O...Bhakthi Liyanage
 
Using Windows Azure Machine Learning as a service with R #rstats
Using Windows Azure Machine Learning as a service with R #rstatsUsing Windows Azure Machine Learning as a service with R #rstats
Using Windows Azure Machine Learning as a service with R #rstatsAjay Ohri
 
Using Azure Machine Learning to Detect Patterns in Data from Devices
Using Azure Machine Learning to Detect Patterns in Data from DevicesUsing Azure Machine Learning to Detect Patterns in Data from Devices
Using Azure Machine Learning to Detect Patterns in Data from DevicesBizTalk360
 
Tokyo Azure Meetup #6 - Azure Machine Learning with Microsoft Dynamics
Tokyo Azure Meetup #6 - Azure Machine Learning with Microsoft DynamicsTokyo Azure Meetup #6 - Azure Machine Learning with Microsoft Dynamics
Tokyo Azure Meetup #6 - Azure Machine Learning with Microsoft DynamicsTokyo Azure Meetup
 
Gentlest Introduction to Tensorflow - Part 2
Gentlest Introduction to Tensorflow - Part 2Gentlest Introduction to Tensorflow - Part 2
Gentlest Introduction to Tensorflow - Part 2Khor SoonHin
 
Introduction to Python and TensorFlow
Introduction to Python and TensorFlowIntroduction to Python and TensorFlow
Introduction to Python and TensorFlowBayu Aldi Yansyah
 
Google cloud platform
Google cloud platformGoogle cloud platform
Google cloud platformrajdeep
 
Google Cloud Technologies Overview
Google Cloud Technologies OverviewGoogle Cloud Technologies Overview
Google Cloud Technologies OverviewChris Schalk
 
Introduccion a Azure Machine Learning
Introduccion a Azure Machine LearningIntroduccion a Azure Machine Learning
Introduccion a Azure Machine LearningEduardo Castro
 
Google Cloud Platform Empowers TensorFlow and Machine Learning
Google Cloud Platform Empowers TensorFlow and Machine LearningGoogle Cloud Platform Empowers TensorFlow and Machine Learning
Google Cloud Platform Empowers TensorFlow and Machine LearningDataWorks Summit/Hadoop Summit
 
Machine learning and TensorFlow
Machine learning and TensorFlowMachine learning and TensorFlow
Machine learning and TensorFlowJose Papo, MSc
 
Understanding cloud with Google Cloud Platform
Understanding cloud with Google Cloud PlatformUnderstanding cloud with Google Cloud Platform
Understanding cloud with Google Cloud PlatformDr. Ketan Parmar
 
Azure Machine Learning tutorial
Azure Machine Learning tutorialAzure Machine Learning tutorial
Azure Machine Learning tutorialGiacomo Lanciano
 
Google Cloud for Developers - Devfest Manila
Google Cloud for Developers - Devfest ManilaGoogle Cloud for Developers - Devfest Manila
Google Cloud for Developers - Devfest ManilaPatrick Chanezon
 
Neural Networks with Google TensorFlow
Neural Networks with Google TensorFlowNeural Networks with Google TensorFlow
Neural Networks with Google TensorFlowDarshan Patel
 
TensorFlow White Paperを読む
TensorFlow White Paperを読むTensorFlow White Paperを読む
TensorFlow White Paperを読むYuta Kashino
 
Google Cloud Dataflow meets TensorFlow
Google Cloud Dataflow meets TensorFlowGoogle Cloud Dataflow meets TensorFlow
Google Cloud Dataflow meets TensorFlowHayato Yoshikawa
 
A Tour of Google Cloud Platform
A Tour of Google Cloud PlatformA Tour of Google Cloud Platform
A Tour of Google Cloud PlatformColin Su
 

Andere mochten auch (20)

AI&BigData Lab. Маргарита Остапчук "Алгоритмы в Azure Machine Learning и где ...
AI&BigData Lab. Маргарита Остапчук "Алгоритмы в Azure Machine Learning и где ...AI&BigData Lab. Маргарита Остапчук "Алгоритмы в Azure Machine Learning и где ...
AI&BigData Lab. Маргарита Остапчук "Алгоритмы в Azure Machine Learning и где ...
 
Integrating Azure Machine Learning and Predictive Analytics with SharePoint O...
Integrating Azure Machine Learning and Predictive Analytics with SharePoint O...Integrating Azure Machine Learning and Predictive Analytics with SharePoint O...
Integrating Azure Machine Learning and Predictive Analytics with SharePoint O...
 
Using Windows Azure Machine Learning as a service with R #rstats
Using Windows Azure Machine Learning as a service with R #rstatsUsing Windows Azure Machine Learning as a service with R #rstats
Using Windows Azure Machine Learning as a service with R #rstats
 
Using Azure Machine Learning to Detect Patterns in Data from Devices
Using Azure Machine Learning to Detect Patterns in Data from DevicesUsing Azure Machine Learning to Detect Patterns in Data from Devices
Using Azure Machine Learning to Detect Patterns in Data from Devices
 
Tokyo Azure Meetup #6 - Azure Machine Learning with Microsoft Dynamics
Tokyo Azure Meetup #6 - Azure Machine Learning with Microsoft DynamicsTokyo Azure Meetup #6 - Azure Machine Learning with Microsoft Dynamics
Tokyo Azure Meetup #6 - Azure Machine Learning with Microsoft Dynamics
 
Gentlest Introduction to Tensorflow - Part 2
Gentlest Introduction to Tensorflow - Part 2Gentlest Introduction to Tensorflow - Part 2
Gentlest Introduction to Tensorflow - Part 2
 
Introduction to Python and TensorFlow
Introduction to Python and TensorFlowIntroduction to Python and TensorFlow
Introduction to Python and TensorFlow
 
Google cloud platform
Google cloud platformGoogle cloud platform
Google cloud platform
 
Google Cloud Technologies Overview
Google Cloud Technologies OverviewGoogle Cloud Technologies Overview
Google Cloud Technologies Overview
 
Introduccion a Azure Machine Learning
Introduccion a Azure Machine LearningIntroduccion a Azure Machine Learning
Introduccion a Azure Machine Learning
 
Google Cloud Platform Empowers TensorFlow and Machine Learning
Google Cloud Platform Empowers TensorFlow and Machine LearningGoogle Cloud Platform Empowers TensorFlow and Machine Learning
Google Cloud Platform Empowers TensorFlow and Machine Learning
 
Machine learning and TensorFlow
Machine learning and TensorFlowMachine learning and TensorFlow
Machine learning and TensorFlow
 
TensorFlow
TensorFlowTensorFlow
TensorFlow
 
Understanding cloud with Google Cloud Platform
Understanding cloud with Google Cloud PlatformUnderstanding cloud with Google Cloud Platform
Understanding cloud with Google Cloud Platform
 
Azure Machine Learning tutorial
Azure Machine Learning tutorialAzure Machine Learning tutorial
Azure Machine Learning tutorial
 
Google Cloud for Developers - Devfest Manila
Google Cloud for Developers - Devfest ManilaGoogle Cloud for Developers - Devfest Manila
Google Cloud for Developers - Devfest Manila
 
Neural Networks with Google TensorFlow
Neural Networks with Google TensorFlowNeural Networks with Google TensorFlow
Neural Networks with Google TensorFlow
 
TensorFlow White Paperを読む
TensorFlow White Paperを読むTensorFlow White Paperを読む
TensorFlow White Paperを読む
 
Google Cloud Dataflow meets TensorFlow
Google Cloud Dataflow meets TensorFlowGoogle Cloud Dataflow meets TensorFlow
Google Cloud Dataflow meets TensorFlow
 
A Tour of Google Cloud Platform
A Tour of Google Cloud PlatformA Tour of Google Cloud Platform
A Tour of Google Cloud Platform
 

Ähnlich wie JFokus 2011 - Google Cloud for Java Developers: Platform and Monetization

Develop and Deploy Scalable Apps with Google App Engine
Develop and Deploy Scalable Apps with Google App EngineDevelop and Deploy Scalable Apps with Google App Engine
Develop and Deploy Scalable Apps with Google App EngineDavid Chandler
 
Scalable Apps with Google App Engine
Scalable Apps with Google App EngineScalable Apps with Google App Engine
Scalable Apps with Google App EngineDavid Chandler
 
Swdc google app_engine_for_business
Swdc google app_engine_for_businessSwdc google app_engine_for_business
Swdc google app_engine_for_businessPatrick Chanezon
 
Javaedge 2010-cschalk
Javaedge 2010-cschalkJavaedge 2010-cschalk
Javaedge 2010-cschalkChris 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
 
Introduction to Google Cloud Platform Technologies
Introduction to Google Cloud Platform TechnologiesIntroduction to Google Cloud Platform Technologies
Introduction to Google Cloud Platform 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
 
CloudOps evening presentation from Google
CloudOps evening presentation from GoogleCloudOps evening presentation from Google
CloudOps evening presentation from GoogleAlistair Croll
 
Google App Engine for Business 101
Google App Engine for Business 101Google App Engine for Business 101
Google App Engine for Business 101Chris 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
 
Introducing App Engine for Business
Introducing App Engine for BusinessIntroducing App Engine for Business
Introducing App Engine for BusinessChris Schalk
 
Imaginea Introduction
Imaginea IntroductionImaginea Introduction
Imaginea Introductionarun_imaginea
 
Cloud Computing for Enterprise Architects
Cloud Computing for Enterprise ArchitectsCloud Computing for Enterprise Architects
Cloud Computing for Enterprise ArchitectsJean-François Caenen
 
Cloud Computing : Situation in Thailand
Cloud Computing : Situation in ThailandCloud Computing : Situation in Thailand
Cloud Computing : Situation in ThailandSoftware Park Thailand
 
SP2013 What's New for Developers : SPSSTL
SP2013 What's New for Developers : SPSSTLSP2013 What's New for Developers : SPSSTL
SP2013 What's New for Developers : SPSSTLKenneth Maglio
 
Cross Platform Mobile Apps with APIs from Qcon San Francisco
Cross Platform Mobile Apps with APIs from Qcon San FranciscoCross Platform Mobile Apps with APIs from Qcon San Francisco
Cross Platform Mobile Apps with APIs from Qcon San FranciscoCA API Management
 

Ähnlich wie JFokus 2011 - Google Cloud for Java Developers: Platform and Monetization (20)

Develop and Deploy Scalable Apps with Google App Engine
Develop and Deploy Scalable Apps with Google App EngineDevelop and Deploy Scalable Apps with Google App Engine
Develop and Deploy Scalable Apps with Google App Engine
 
Scalable Apps with Google App Engine
Scalable Apps with Google App EngineScalable Apps with Google App Engine
Scalable Apps with Google App Engine
 
Swdc google app_engine_for_business
Swdc google app_engine_for_businessSwdc google app_engine_for_business
Swdc google app_engine_for_business
 
Javaedge 2010-cschalk
Javaedge 2010-cschalkJavaedge 2010-cschalk
Javaedge 2010-cschalk
 
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
 
Introduction to Google Cloud Platform Technologies
Introduction to Google Cloud Platform TechnologiesIntroduction to Google Cloud Platform Technologies
Introduction to Google Cloud Platform Technologies
 
Introduction to Google's Cloud Technologies
Introduction to Google's Cloud TechnologiesIntroduction to Google's Cloud Technologies
Introduction to Google's Cloud Technologies
 
CloudOps evening presentation from Google
CloudOps evening presentation from GoogleCloudOps evening presentation from Google
CloudOps evening presentation from Google
 
Google App Engine for Business 101
Google App Engine for Business 101Google App Engine for Business 101
Google App Engine for Business 101
 
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
 
Introducing App Engine for Business
Introducing App Engine for BusinessIntroducing App Engine for Business
Introducing App Engine for Business
 
Imaginea Introduction
Imaginea IntroductionImaginea Introduction
Imaginea Introduction
 
Barak Regev - Google Cloud Platform
Barak Regev - Google Cloud PlatformBarak Regev - Google Cloud Platform
Barak Regev - Google Cloud Platform
 
Cloud Computing for Enterprise Architects
Cloud Computing for Enterprise ArchitectsCloud Computing for Enterprise Architects
Cloud Computing for Enterprise Architects
 
Cloud Review V2
Cloud Review V2Cloud Review V2
Cloud Review V2
 
Cloud Computing : Situation in Thailand
Cloud Computing : Situation in ThailandCloud Computing : Situation in Thailand
Cloud Computing : Situation in Thailand
 
Cloud platform overview for camping
Cloud platform overview for campingCloud platform overview for camping
Cloud platform overview for camping
 
SP2013 What's New for Developers : SPSSTL
SP2013 What's New for Developers : SPSSTLSP2013 What's New for Developers : SPSSTL
SP2013 What's New for Developers : SPSSTL
 
Cross Platform Mobile Apps with APIs from Qcon San Francisco
Cross Platform Mobile Apps with APIs from Qcon San FranciscoCross Platform Mobile Apps with APIs from Qcon San Francisco
Cross Platform Mobile Apps with APIs from Qcon San Francisco
 
Ways to be open
Ways to be openWays to be open
Ways to be open
 

Mehr von Patrick Chanezon

KubeCon 2019 - Scaling your cluster (both ways)
KubeCon 2019 - Scaling your cluster (both ways)KubeCon 2019 - Scaling your cluster (both ways)
KubeCon 2019 - Scaling your cluster (both ways)Patrick Chanezon
 
KubeCon China 2019 - Building Apps with Containers, Functions and Managed Ser...
KubeCon China 2019 - Building Apps with Containers, Functions and Managed Ser...KubeCon China 2019 - Building Apps with Containers, Functions and Managed Ser...
KubeCon China 2019 - Building Apps with Containers, Functions and Managed Ser...Patrick Chanezon
 
Dockercon 2019 Developing Apps with Containers, Functions and Cloud Services
Dockercon 2019 Developing Apps with Containers, Functions and Cloud ServicesDockercon 2019 Developing Apps with Containers, Functions and Cloud Services
Dockercon 2019 Developing Apps with Containers, Functions and Cloud ServicesPatrick Chanezon
 
GIDS 2019: Developing Apps with Containers, Functions and Cloud Services
GIDS 2019: Developing Apps with Containers, Functions and Cloud ServicesGIDS 2019: Developing Apps with Containers, Functions and Cloud Services
GIDS 2019: Developing Apps with Containers, Functions and Cloud ServicesPatrick Chanezon
 
Docker Enterprise Workshop - Intro
Docker Enterprise Workshop - IntroDocker Enterprise Workshop - Intro
Docker Enterprise Workshop - IntroPatrick Chanezon
 
Docker Enterprise Workshop - Technical
Docker Enterprise Workshop - TechnicalDocker Enterprise Workshop - Technical
Docker Enterprise Workshop - TechnicalPatrick Chanezon
 
The Tao of Docker - ITES 2018
The Tao of Docker - ITES 2018The Tao of Docker - ITES 2018
The Tao of Docker - ITES 2018Patrick Chanezon
 
Microsoft Techsummit Zurich Docker and Microsoft
Microsoft Techsummit Zurich Docker and MicrosoftMicrosoft Techsummit Zurich Docker and Microsoft
Microsoft Techsummit Zurich Docker and MicrosoftPatrick Chanezon
 
Develop and deploy Kubernetes applications with Docker - IBM Index 2018
Develop and deploy Kubernetes  applications with Docker - IBM Index 2018Develop and deploy Kubernetes  applications with Docker - IBM Index 2018
Develop and deploy Kubernetes applications with Docker - IBM Index 2018Patrick Chanezon
 
Docker Meetup Feb 2018 Develop and deploy Kubernetes Apps with Docker
Docker Meetup Feb 2018 Develop and deploy Kubernetes Apps with DockerDocker Meetup Feb 2018 Develop and deploy Kubernetes Apps with Docker
Docker Meetup Feb 2018 Develop and deploy Kubernetes Apps with DockerPatrick Chanezon
 
The Tao of Docker - Devfest Nantes 2017
The Tao of Docker - Devfest Nantes 2017The Tao of Docker - Devfest Nantes 2017
The Tao of Docker - Devfest Nantes 2017Patrick Chanezon
 
Docker 之道 Modernize Traditional Applications with 无为 Create New Cloud Native ...
Docker 之道 Modernize Traditional Applications with 无为 Create New Cloud Native ...Docker 之道 Modernize Traditional Applications with 无为 Create New Cloud Native ...
Docker 之道 Modernize Traditional Applications with 无为 Create New Cloud Native ...Patrick Chanezon
 
Moby Open Source Summit North America 2017
Moby Open Source Summit North America 2017Moby Open Source Summit North America 2017
Moby Open Source Summit North America 2017Patrick Chanezon
 
Moby Introduction - June 2017
Moby Introduction - June 2017Moby Introduction - June 2017
Moby Introduction - June 2017Patrick Chanezon
 
Docker Cap Gemini CloudXperience 2017 - la revolution des conteneurs logiciels
Docker Cap Gemini CloudXperience 2017 - la revolution des conteneurs logicielsDocker Cap Gemini CloudXperience 2017 - la revolution des conteneurs logiciels
Docker Cap Gemini CloudXperience 2017 - la revolution des conteneurs logicielsPatrick Chanezon
 
Weave User Group Talk - DockerCon 2017 Recap
Weave User Group Talk - DockerCon 2017 RecapWeave User Group Talk - DockerCon 2017 Recap
Weave User Group Talk - DockerCon 2017 RecapPatrick Chanezon
 
Oscon 2017: Build your own container-based system with the Moby project
Oscon 2017: Build your own container-based system with the Moby projectOscon 2017: Build your own container-based system with the Moby project
Oscon 2017: Build your own container-based system with the Moby projectPatrick Chanezon
 

Mehr von Patrick Chanezon (20)

KubeCon 2019 - Scaling your cluster (both ways)
KubeCon 2019 - Scaling your cluster (both ways)KubeCon 2019 - Scaling your cluster (both ways)
KubeCon 2019 - Scaling your cluster (both ways)
 
KubeCon China 2019 - Building Apps with Containers, Functions and Managed Ser...
KubeCon China 2019 - Building Apps with Containers, Functions and Managed Ser...KubeCon China 2019 - Building Apps with Containers, Functions and Managed Ser...
KubeCon China 2019 - Building Apps with Containers, Functions and Managed Ser...
 
Dockercon 2019 Developing Apps with Containers, Functions and Cloud Services
Dockercon 2019 Developing Apps with Containers, Functions and Cloud ServicesDockercon 2019 Developing Apps with Containers, Functions and Cloud Services
Dockercon 2019 Developing Apps with Containers, Functions and Cloud Services
 
GIDS 2019: Developing Apps with Containers, Functions and Cloud Services
GIDS 2019: Developing Apps with Containers, Functions and Cloud ServicesGIDS 2019: Developing Apps with Containers, Functions and Cloud Services
GIDS 2019: Developing Apps with Containers, Functions and Cloud Services
 
Docker Enterprise Workshop - Intro
Docker Enterprise Workshop - IntroDocker Enterprise Workshop - Intro
Docker Enterprise Workshop - Intro
 
Docker Enterprise Workshop - Technical
Docker Enterprise Workshop - TechnicalDocker Enterprise Workshop - Technical
Docker Enterprise Workshop - Technical
 
The Tao of Docker - ITES 2018
The Tao of Docker - ITES 2018The Tao of Docker - ITES 2018
The Tao of Docker - ITES 2018
 
Moby KubeCon 2017
Moby KubeCon 2017Moby KubeCon 2017
Moby KubeCon 2017
 
Microsoft Techsummit Zurich Docker and Microsoft
Microsoft Techsummit Zurich Docker and MicrosoftMicrosoft Techsummit Zurich Docker and Microsoft
Microsoft Techsummit Zurich Docker and Microsoft
 
Develop and deploy Kubernetes applications with Docker - IBM Index 2018
Develop and deploy Kubernetes  applications with Docker - IBM Index 2018Develop and deploy Kubernetes  applications with Docker - IBM Index 2018
Develop and deploy Kubernetes applications with Docker - IBM Index 2018
 
Docker Meetup Feb 2018 Develop and deploy Kubernetes Apps with Docker
Docker Meetup Feb 2018 Develop and deploy Kubernetes Apps with DockerDocker Meetup Feb 2018 Develop and deploy Kubernetes Apps with Docker
Docker Meetup Feb 2018 Develop and deploy Kubernetes Apps with Docker
 
DockerCon EU 2017 Recap
DockerCon EU 2017 RecapDockerCon EU 2017 Recap
DockerCon EU 2017 Recap
 
Docker Innovation Culture
Docker Innovation CultureDocker Innovation Culture
Docker Innovation Culture
 
The Tao of Docker - Devfest Nantes 2017
The Tao of Docker - Devfest Nantes 2017The Tao of Docker - Devfest Nantes 2017
The Tao of Docker - Devfest Nantes 2017
 
Docker 之道 Modernize Traditional Applications with 无为 Create New Cloud Native ...
Docker 之道 Modernize Traditional Applications with 无为 Create New Cloud Native ...Docker 之道 Modernize Traditional Applications with 无为 Create New Cloud Native ...
Docker 之道 Modernize Traditional Applications with 无为 Create New Cloud Native ...
 
Moby Open Source Summit North America 2017
Moby Open Source Summit North America 2017Moby Open Source Summit North America 2017
Moby Open Source Summit North America 2017
 
Moby Introduction - June 2017
Moby Introduction - June 2017Moby Introduction - June 2017
Moby Introduction - June 2017
 
Docker Cap Gemini CloudXperience 2017 - la revolution des conteneurs logiciels
Docker Cap Gemini CloudXperience 2017 - la revolution des conteneurs logicielsDocker Cap Gemini CloudXperience 2017 - la revolution des conteneurs logiciels
Docker Cap Gemini CloudXperience 2017 - la revolution des conteneurs logiciels
 
Weave User Group Talk - DockerCon 2017 Recap
Weave User Group Talk - DockerCon 2017 RecapWeave User Group Talk - DockerCon 2017 Recap
Weave User Group Talk - DockerCon 2017 Recap
 
Oscon 2017: Build your own container-based system with the Moby project
Oscon 2017: Build your own container-based system with the Moby projectOscon 2017: Build your own container-based system with the Moby project
Oscon 2017: Build your own container-based system with the Moby project
 

Kürzlich hochgeladen

NewBase 25 March 2024 Energy News issue - 1710 by Khaled Al Awadi_compress...
NewBase  25 March  2024  Energy News issue - 1710 by Khaled Al Awadi_compress...NewBase  25 March  2024  Energy News issue - 1710 by Khaled Al Awadi_compress...
NewBase 25 March 2024 Energy News issue - 1710 by Khaled Al Awadi_compress...Khaled Al Awadi
 
מיסוי רילוקיישן לפורטוגל- היבטי מיסוי ישראלי ופורטוגלי
מיסוי רילוקיישן לפורטוגל- היבטי מיסוי ישראלי ופורטוגלימיסוי רילוקיישן לפורטוגל- היבטי מיסוי ישראלי ופורטוגלי
מיסוי רילוקיישן לפורטוגל- היבטי מיסוי ישראלי ופורטוגליBen Shushan & Co. C.P.A (Isr.)
 
Project Brief & Information Architecture Report
Project Brief & Information Architecture ReportProject Brief & Information Architecture Report
Project Brief & Information Architecture Reportamberjiles31
 
MoneyBridge Pitch Deck - Investor Presentation
MoneyBridge Pitch Deck - Investor PresentationMoneyBridge Pitch Deck - Investor Presentation
MoneyBridge Pitch Deck - Investor Presentationbaron83
 
A flour, rice and Suji company in Jhang.
A flour, rice and Suji company in Jhang.A flour, rice and Suji company in Jhang.
A flour, rice and Suji company in Jhang.mcshagufta46
 
TalentView Webinar: Empowering the Modern Workforce_ Redefininig Success from...
TalentView Webinar: Empowering the Modern Workforce_ Redefininig Success from...TalentView Webinar: Empowering the Modern Workforce_ Redefininig Success from...
TalentView Webinar: Empowering the Modern Workforce_ Redefininig Success from...TalentView
 
Borderless Access - Global Panel book-unlock 2024
Borderless Access - Global Panel book-unlock 2024Borderless Access - Global Panel book-unlock 2024
Borderless Access - Global Panel book-unlock 2024Borderless Access
 
Building Your Personal Brand on LinkedIn - Expert Planet- 2024
 Building Your Personal Brand on LinkedIn - Expert Planet-  2024 Building Your Personal Brand on LinkedIn - Expert Planet-  2024
Building Your Personal Brand on LinkedIn - Expert Planet- 2024Stephan Koning
 
Company Profile and SWOT Analysis Product List.pdf
Company Profile and SWOT Analysis Product List.pdfCompany Profile and SWOT Analysis Product List.pdf
Company Profile and SWOT Analysis Product List.pdfRobertPhillips265023
 
NASA CoCEI Scaling Strategy - November 2023
NASA CoCEI Scaling Strategy - November 2023NASA CoCEI Scaling Strategy - November 2023
NASA CoCEI Scaling Strategy - November 2023Steve Rader
 
UNLEASHING THE POWER OF PROGRAMMATIC ADVERTISING
UNLEASHING THE POWER OF PROGRAMMATIC ADVERTISINGUNLEASHING THE POWER OF PROGRAMMATIC ADVERTISING
UNLEASHING THE POWER OF PROGRAMMATIC ADVERTISINGlokeshwarmaha
 
BCE24 | Virtual Brand Ambassadors: Making Brands Personal - John Meulemans
BCE24 | Virtual Brand Ambassadors: Making Brands Personal - John MeulemansBCE24 | Virtual Brand Ambassadors: Making Brands Personal - John Meulemans
BCE24 | Virtual Brand Ambassadors: Making Brands Personal - John MeulemansBBPMedia1
 
Live-Streaming in the Music Industry Webinar
Live-Streaming in the Music Industry WebinarLive-Streaming in the Music Industry Webinar
Live-Streaming in the Music Industry WebinarNathanielSchmuck
 
Cracking the ‘Business Process Outsourcing’ Code Main.pptx
Cracking the ‘Business Process Outsourcing’ Code Main.pptxCracking the ‘Business Process Outsourcing’ Code Main.pptx
Cracking the ‘Business Process Outsourcing’ Code Main.pptxWorkforce Group
 
Developing Coaching Skills: Mine, Yours, Ours
Developing Coaching Skills: Mine, Yours, OursDeveloping Coaching Skills: Mine, Yours, Ours
Developing Coaching Skills: Mine, Yours, OursKaiNexus
 
Ethical stalking by Mark Williams. UpliftLive 2024
Ethical stalking by Mark Williams. UpliftLive 2024Ethical stalking by Mark Williams. UpliftLive 2024
Ethical stalking by Mark Williams. UpliftLive 2024Winbusinessin
 
The Vietnam Believer Newsletter_MARCH 25, 2024_EN_Vol. 003
The Vietnam Believer Newsletter_MARCH 25, 2024_EN_Vol. 003The Vietnam Believer Newsletter_MARCH 25, 2024_EN_Vol. 003
The Vietnam Believer Newsletter_MARCH 25, 2024_EN_Vol. 003believeminhh
 
Entrepreneurship & organisations: influences and organizations
Entrepreneurship & organisations: influences and organizationsEntrepreneurship & organisations: influences and organizations
Entrepreneurship & organisations: influences and organizationsP&CO
 
Talent Management research intelligence_13 paradigm shifts_20 March 2024.pdf
Talent Management research intelligence_13 paradigm shifts_20 March 2024.pdfTalent Management research intelligence_13 paradigm shifts_20 March 2024.pdf
Talent Management research intelligence_13 paradigm shifts_20 March 2024.pdfCharles Cotter, PhD
 

Kürzlich hochgeladen (20)

NewBase 25 March 2024 Energy News issue - 1710 by Khaled Al Awadi_compress...
NewBase  25 March  2024  Energy News issue - 1710 by Khaled Al Awadi_compress...NewBase  25 March  2024  Energy News issue - 1710 by Khaled Al Awadi_compress...
NewBase 25 March 2024 Energy News issue - 1710 by Khaled Al Awadi_compress...
 
Deira Dubai Call Girls +971552825767 Call Girls In Downtown Dubai
Deira Dubai Call Girls +971552825767 Call Girls In Downtown DubaiDeira Dubai Call Girls +971552825767 Call Girls In Downtown Dubai
Deira Dubai Call Girls +971552825767 Call Girls In Downtown Dubai
 
מיסוי רילוקיישן לפורטוגל- היבטי מיסוי ישראלי ופורטוגלי
מיסוי רילוקיישן לפורטוגל- היבטי מיסוי ישראלי ופורטוגלימיסוי רילוקיישן לפורטוגל- היבטי מיסוי ישראלי ופורטוגלי
מיסוי רילוקיישן לפורטוגל- היבטי מיסוי ישראלי ופורטוגלי
 
Project Brief & Information Architecture Report
Project Brief & Information Architecture ReportProject Brief & Information Architecture Report
Project Brief & Information Architecture Report
 
MoneyBridge Pitch Deck - Investor Presentation
MoneyBridge Pitch Deck - Investor PresentationMoneyBridge Pitch Deck - Investor Presentation
MoneyBridge Pitch Deck - Investor Presentation
 
A flour, rice and Suji company in Jhang.
A flour, rice and Suji company in Jhang.A flour, rice and Suji company in Jhang.
A flour, rice and Suji company in Jhang.
 
TalentView Webinar: Empowering the Modern Workforce_ Redefininig Success from...
TalentView Webinar: Empowering the Modern Workforce_ Redefininig Success from...TalentView Webinar: Empowering the Modern Workforce_ Redefininig Success from...
TalentView Webinar: Empowering the Modern Workforce_ Redefininig Success from...
 
Borderless Access - Global Panel book-unlock 2024
Borderless Access - Global Panel book-unlock 2024Borderless Access - Global Panel book-unlock 2024
Borderless Access - Global Panel book-unlock 2024
 
Building Your Personal Brand on LinkedIn - Expert Planet- 2024
 Building Your Personal Brand on LinkedIn - Expert Planet-  2024 Building Your Personal Brand on LinkedIn - Expert Planet-  2024
Building Your Personal Brand on LinkedIn - Expert Planet- 2024
 
Company Profile and SWOT Analysis Product List.pdf
Company Profile and SWOT Analysis Product List.pdfCompany Profile and SWOT Analysis Product List.pdf
Company Profile and SWOT Analysis Product List.pdf
 
NASA CoCEI Scaling Strategy - November 2023
NASA CoCEI Scaling Strategy - November 2023NASA CoCEI Scaling Strategy - November 2023
NASA CoCEI Scaling Strategy - November 2023
 
UNLEASHING THE POWER OF PROGRAMMATIC ADVERTISING
UNLEASHING THE POWER OF PROGRAMMATIC ADVERTISINGUNLEASHING THE POWER OF PROGRAMMATIC ADVERTISING
UNLEASHING THE POWER OF PROGRAMMATIC ADVERTISING
 
BCE24 | Virtual Brand Ambassadors: Making Brands Personal - John Meulemans
BCE24 | Virtual Brand Ambassadors: Making Brands Personal - John MeulemansBCE24 | Virtual Brand Ambassadors: Making Brands Personal - John Meulemans
BCE24 | Virtual Brand Ambassadors: Making Brands Personal - John Meulemans
 
Live-Streaming in the Music Industry Webinar
Live-Streaming in the Music Industry WebinarLive-Streaming in the Music Industry Webinar
Live-Streaming in the Music Industry Webinar
 
Cracking the ‘Business Process Outsourcing’ Code Main.pptx
Cracking the ‘Business Process Outsourcing’ Code Main.pptxCracking the ‘Business Process Outsourcing’ Code Main.pptx
Cracking the ‘Business Process Outsourcing’ Code Main.pptx
 
Developing Coaching Skills: Mine, Yours, Ours
Developing Coaching Skills: Mine, Yours, OursDeveloping Coaching Skills: Mine, Yours, Ours
Developing Coaching Skills: Mine, Yours, Ours
 
Ethical stalking by Mark Williams. UpliftLive 2024
Ethical stalking by Mark Williams. UpliftLive 2024Ethical stalking by Mark Williams. UpliftLive 2024
Ethical stalking by Mark Williams. UpliftLive 2024
 
The Vietnam Believer Newsletter_MARCH 25, 2024_EN_Vol. 003
The Vietnam Believer Newsletter_MARCH 25, 2024_EN_Vol. 003The Vietnam Believer Newsletter_MARCH 25, 2024_EN_Vol. 003
The Vietnam Believer Newsletter_MARCH 25, 2024_EN_Vol. 003
 
Entrepreneurship & organisations: influences and organizations
Entrepreneurship & organisations: influences and organizationsEntrepreneurship & organisations: influences and organizations
Entrepreneurship & organisations: influences and organizations
 
Talent Management research intelligence_13 paradigm shifts_20 March 2024.pdf
Talent Management research intelligence_13 paradigm shifts_20 March 2024.pdfTalent Management research intelligence_13 paradigm shifts_20 March 2024.pdf
Talent Management research intelligence_13 paradigm shifts_20 March 2024.pdf
 

JFokus 2011 - Google Cloud for Java Developers: Platform and Monetization

  • 1. Google Cloud for Java Developers: Platform and Monetization Patrick Chanezon, Developer Advocate, Cloud @chanezon, chanezon@google.com Wednesday, February 16, 2011
  • 2. Agenda • Google Apps Marketplace • Google App Engine • Google App Engine for Business • Google Storage for Developers • Prediction API • BigQuery • Google Fusion Tables • Google Visualization API • Google Refine Google Developer Day 2010 Wednesday, February 16, 2011
  • 3. The benefits of Cloud Computing Economics Pay for only what you use TCO OPEX vs CAPEX Operations Day to day: no maintenance Fighting fires: no Pagers Elasticity Focus on your Business 3 Wednesday, February 16, 2011
  • 4. What is cloud computing? 3 Wednesday, February 16, 2011
  • 5. Cloud Computing Defined SaaS PaaS IaaS Source: Gartner AADI Summit Dec 2009 Google Developer Day 2010 Wednesday, February 16, 2011
  • 6. Cloud Computing Defined SaaS PaaS IaaS Source: Gartner AADI Summit Dec 2009 Google Developer Day 2010 Wednesday, February 16, 2011
  • 7. Cloud Computing Defined SaaS PaaS IaaS Source: Gartner AADI Summit Dec 2009 Google Developer Day 2010 Wednesday, February 16, 2011
  • 8. Cloud Computing Defined SaaS PaaS IaaS Source: Gartner AADI Summit Dec 2009 Google Developer Day 2010 Wednesday, February 16, 2011
  • 9. Google's Cloud Offerings 1. Google Apps 2. Third party Apps: Google Apps Marketplace SaaS 3. ________ Google App Engine PaaS Google Storage IaaS Prediction API BigQuery Google Developer Day 2010 Wednesday, February 16, 2011
  • 10. Google's Cloud Offerings Your Apps 1. Google Apps 2. Third party Apps: Google Apps Marketplace SaaS 3. ________ Google App Engine PaaS Google Storage IaaS Prediction API BigQuery Google Developer Day 2010 Wednesday, February 16, 2011
  • 11. Build and Buy all your enterprise cloud apps... Google Apps Platform Enterprise Firewall 7 Enterprise Data Authentication Enterprise Services User Management Wednesday, February 16, 2011
  • 12. Build and Buy all your enterprise cloud apps... Buy from Google Google Apps for Business Google Apps Platform Enterprise Firewall 7 Enterprise Data Authentication Enterprise Services User Management Wednesday, February 16, 2011
  • 13. Build and Buy all your enterprise cloud apps... Buy from others Buy from Google Google Apps Google Apps Marketplace for Business Google Apps Platform Enterprise Firewall 7 Enterprise Data Authentication Enterprise Services User Management Wednesday, February 16, 2011
  • 14. Build and Buy all your enterprise cloud apps... Buy from others Buy from Google Build your own Google Apps Google Apps Google App Engine Marketplace for Business for Business Google Apps Platform Enterprise Firewall 7 Enterprise Data Authentication Enterprise Services User Management Wednesday, February 16, 2011
  • 15. Google Apps Marketplace Google Developer Day 2010 Wednesday, February 16, 2011
  • 16. Customers want more Apps Business in the cloud Google Apps 9 Wednesday, February 16, 2011
  • 17. Marketplace Overview Google Developer Day 2010 Wednesday, February 16, 2011
  • 18. Google Apps is Focused on Messaging & Collaboration Gives every employee powerful messaging and collaboration tools without the usual IT hassle and cost Wednesday, February 16, 2011
  • 19. These customers want more great cloud apps... Messaging Document Management Collaboration Productivity Accounting & Finance Project Management Admin Tools Sales & Marketing Calendaring / Meetings Security & Compliance Customer Management Workflow Wednesday, February 16, 2011
  • 20. Steps to sell your app to Google Apps customers 1. Build your app: - with any tools and hosting provider you want 2. Integrate your app: - add Single Sign On using OpenID (required) - access over a dozen integration points from Calendar, Contacts, Docs, etc. using OAuth (optional) 3. Sell your app: - to 3M+ businesses & 30M+ users - through Google Apps resellers - to wherever Google Apps goes - One-time fee of $100, 20% rev share starting 2H'10 Wednesday, February 16, 2011
  • 21. Everything in the Cloud Wednesday, February 16, 2011
  • 22. Integrating with Google Apps & the Marketplace Manifest Wednesday, February 16, 2011
  • 23. Demo Google Apps Marketplace Google Developer Day 2010 Wednesday, February 16, 2011
  • 24. How it's done - Single Sign On Google Developer Day 2010 Wednesday, February 16, 2011
  • 25. Single Sign On OpenID with Google Apps bob@foo.com Welcome Bob! *********** Sounds complicated, but not hard in practice! Wednesday, February 16, 2011
  • 26. Single Sign On OpenID Libraries Language Libraries Java OpenID4Java, Step2 .NET DotNetOpenAuth php-openid, PHP php-openid-apps-discovery ruby-openid, Ruby ruby-openid-apps-discovery Any RPX, Ping Identity Wednesday, February 16, 2011
  • 27. Single Sign On - Code Step 1 of 3 - Initialize library function getOpenIDConsumer() {   // Initialize client, storing associations   // in memcache   $store = new Auth_OpenID_MemcachedStore($MEMCACHE);   $consumer = new Auth_OpenID_Consumer($store);      // Enable Google Apps support    GApps_OpenID_EnableDiscovery($consumer);   return $consumer; } Wednesday, February 16, 2011
  • 28. Single Sign On - Code Step 2 of 3 - Make the request // Create an auth request to the user's domain  $auth_request = getOpenIDConsumer()->begin($domain); // Request email address & name during login  $ax = new Auth_OpenID_AX_FetchRequest;  $attr = Auth_OpenID_AX_AttrInfo::make(       $AX_SCHEMA_EMAIL, 1, 1, 'email'); $attr = Auth_OpenID_AX_AttrInfo::make(       $AX_SCHEMA_FIRSTNAME, 1, 1, 'first'); $attr = Auth_OpenID_AX_AttrInfo::make(       $AX_SCHEMA_LASTNAME, 1, 1, 'last'); $auth_request->addExtension($ax); // Render Javascript/form to post request $form_html = $auth_request->htmlMarkup($REALM,       $RETURN_TO, false,        array('id' => 'openid_message'));  print $form_html; Wednesday, February 16, 2011
  • 29. Single Sign On - Code Step 3 of 3 - Handle response // Parse the response from identity provider  $response = getOpenIDConsumer()->complete($RETURN_TO);  if ($response->status == Auth_OpenID_SUCCESS) {   // Extract data from response    $openid = $response->getDisplayIdentifier();   $ax = new Auth_OpenID_AX_FetchResponse();   $ax_resp = $ax->fromSuccessResponse($response);   $email = $ax_resp->data[$AX_SCHEMA_EMAIL][0];   $firstName = $ax_resp->data[$AX_SCHEMA_FIRSTNAME][0];   $lastName = $ax_resp->data[$AX_SCHEMA_LASTTNAME][0];   // Map to user in DB    $user = fetch_user($openid, $email, $firstName,       $lastName); }  Wednesday, February 16, 2011
  • 30. Single Sign On - Code Manifest <ApplicationManifest>   <Name>Sassy Voice</Name>   <Description>Voice Mail &amp; Messaging</Description>   <Admin>     <Link rel="setup"> http://voice.saasyapp.com/setup.php?domain=${DOMAIN_NAME}     </Link>   </Admin>     <Extension id="navlink" type="link">     <Name>SaasyVoice</Name>     <Url> http://voice.saasyapp.com/login.php?domain=${DOMAIN_NAME}     </Url>    </Extension>   <Extension id="realm" type="openIdRealm">     <Url>http://voice.saasyapp.com/</Url>   </Extension> </ApplicationManifest> Wednesday, February 16, 2011
  • 31. Single Sign On What we learned about users Claimed ID: http://example.com/openid?id=12345 Email: bob@example.com* First Name: Bob Last Name: Dobbs * Be sure to confirm or white-list trusted providers Wednesday, February 16, 2011
  • 32. How it's done - Data Access Google Developer Day 2010 Wednesday, February 16, 2011
  • 33. 2-Legged OAuth Delegating data access <ApplicationManifest>   ...    <Scope id="userFeed">     <Url>https://apps-apis.google...     <Reason>To get a list of user...   </Scope>   <Scope id="contactsFeed">     <Url>https://www.google.com...      <Reason>To display names of...    </Scope>   <Scope id="docsFeed">      <Url>https://docs.google.com...      <Reason>To export a call log...    </Scope>  </ApplicationManifest> Wednesday, February 16, 2011
  • 34. Data Access - Code Step 1 of 2 - Initialize the client function getOauthClient() {   $options = array(     'consumerKey' => $CONSUMER_KEY,     'consumerSecret' => $CONSUMER_SECRET,     'signatureMethod' => 'HMAC-SHA1',     'requestScheme' =>Zend_Oauth::REQUEST_SCHEME_HEADER,     'version' => '1.0');   $consumer = new Zend_Oauth_Consumer($options);   $token = new Zend_Oauth_Token_Access();   $httpClient = $token->getHttpClient($options);   return $httpClient; } Wednesday, February 16, 2011
  • 35. Data Access - Code Step 2 of 2 - Fetching Users with Provisioning API // Initialize client $userClient = new Zend_Gdata_Gapps(getOauthClient()); // Query feed for current user's domain $userQuery = new Zend_Gdata_Gapps_UserQuery(   getCurrentUserDomain()); $usersFeed = $userClient->getUserFeed($userQuery); // Extract data from user feed $users = array(); foreach ($usersFeed as $userEntry) {   $login = $userEntry->getLogin();   $name = $userEntry->getName();   $users[] = array(    'username' => $login->getUsername(),    'firstName' => $name->getGivenName(),    'lastName' => $name->getFamilyName(),    'admin' => $login->getAdmin()); } Wednesday, February 16, 2011
  • 36. Integration Recap With not a lot of code we added: • Single Sign On with OpenID • Quicker setup with Attribute Exchange, Provisioning API • Integrated user data with Contacts API • Uploading spreadsheets with Docs API Wednesday, February 16, 2011
  • 37. Gadgets - your real estate in Google Apps Google Developer Day 2010 Wednesday, February 16, 2011
  • 38. Gadgets • Many types of gadgets o Gmail sidebar o Calendar sidebar o Sites o Spreadsheets • Two new types of gadgets available this week! o Gmail contextual! o Wave! • All use the OpenSocial gadgets specification Wednesday, February 16, 2011
  • 39. Gmail contextual gadgets • Detect e-mail content via regular expressions • Display and collect actionable business information directly in Gmail, below each message Wednesday, February 16, 2011
  • 42. Calendar sidebar gadgets • Can detect: o currently-displayed date range o currently-selected event title attendees date/time Wednesday, February 16, 2011
  • 45. Sell Google Developer Day 2010 Wednesday, February 16, 2011
  • 46. Complete Manifest <ApplicationManifest xmlns="http://schemas.google.com/ ApplicationManifest/2009"> <Name>SaaSy Voice</Name>   <Description>SaaSy Voice</Description>   <Support>     <Link rel="setup" href="https://.../setup.php?domain=${DOMAIN_NAME}"/ >     <Link rel="manage" href="https://.../config.php?domain=$ {DOMAIN_NAME}"/>     <Link rel="deletion-policy" href="http://.../deletion-policy.php"/>     <Link rel="support" href="http://.../support.php"/>   </Support> Wednesday, February 16, 2011
  • 47. Complete Manifest (continued)   <!-- Link in universal navigation -->    <Extension id="oneBarLink" type="link">      <Name>SaaSy Voice</Name>     <Url>http://.../index.php?domain=${DOMAIN_NAME}</Url>     <Scope ref="provisioningFeed"/>     <Scope ref="contactsFeed"/>      <Scope ref="docsFeed"/>   </Extension>    <!-- Declare our openid.realm -->    <Extension id="realm" type="openIdRealm">     <Url>http://voice.saasyapp.com/marketplace/</Url>   </Extension> Wednesday, February 16, 2011
  • 48. Complete Manifest (continued)   <Scope id="provisioningFeed">     <Url>https://apps-apis.google.com/a/feeds/user/#readonly</Url>      <Reason>To get a list of users to provision accounts</Reason>   </Scope>   <Scope id="contactsFeed">      <Url>https://www.google.com/m8/feeds/</Url>     <Reason>To display names of people who called</Reason>   </Scope>   <Scope id="docsFeed">     <Url>https://docs.google.com/feeds/</Url>      <Reason>To export a call log</Reason>   </Scope> </ApplicationManifest> Wednesday, February 16, 2011
  • 49. Listing in the Google Apps Marketplace Wednesday, February 16, 2011
  • 50. Listing in the Google Apps Marketplace Wednesday, February 16, 2011
  • 51. Reach 30 million Google Apps Users "We've seen a very meaningful increase in high quality, non-paid lead flow directly attributable to Google Apps customers...Our customers cite Smartsheet's tight integration with Google's Data APIs as a key factor in their decision to purchase." Brent Frei, Smartsheet Wednesday, February 16, 2011
  • 52. Learn More Google Developer Day 2010 Wednesday, February 16, 2011
  • 53. Resources • Business and Marketing o http://developer.googleapps.com/marketplace • Technical and Code o http://code.google.com/googleapps/marketplace • Shopping! o http://www.google.com/appsmarketplace • Don't have Google Apps? o http://www.google.com/a Wednesday, February 16, 2011
  • 54. Google App Engine Google Developer Day 2010 Wednesday, February 16, 2011
  • 55. Google App Engine - Easy to build - Easy to maintain - Easy to scale 48 Wednesday, February 16, 2011
  • 56. Cloud development in a box • SDK & “The Cloud” • Hardware • Networking • Operating system • Application runtime Java, Python o • Static file serving • Services • Fault tolerance • Load balancing 49 Wednesday, February 16, 2011
  • 57. App Engine Services Memcache Datastore URL Fetch Mail XMPP Task Queue Images Blobstore User Service 50 Wednesday, February 16, 2011
  • 58. 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 51 Wednesday, February 16, 2011
  • 59. Purchase additional resources * * free monthly quota of ~5 million page views still in full effect 52 Wednesday, February 16, 2011
  • 60. Extended Language support through JVM • Java • Scala • JRuby (Ruby) • Groovy (Gaelyk Framework) • Quercus (PHP) • Rhino (JavaScript) • Jython (Python) Duke, the Java mascot Copyright © Sun Microsystems Inc., all rights reserved. 19 Wednesday, February 16, 2011
  • 61. Development Tools for Java App Engine 20 Wednesday, February 16, 2011
  • 62. Google’s Complete Java Development Stack + 21 Wednesday, February 16, 2011
  • 63. Google Plugin for Eclipse 22 Wednesday, February 16, 2011
  • 64. Google Plugin for Eclipse 23 Wednesday, February 16, 2011
  • 65. NeatBeans Plugin for Java App Engine http://kenai.com/projects/nbappengine/ 24 Wednesday, February 16, 2011
  • 70. Google App Engine For Business Google Developer Day 2010 Wednesday, February 16, 2011
  • 71. 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 Google App Engine for Business – Pay only for what you use * Hosted SQL and SSL on your domain available later this year Google Developer Day 2010 Wednesday, February 16, 2011
  • 72. Domain Console 62 Google Developer Day 2010 Wednesday, February 16, 2011
  • 73. App Engine for Business Pricing Intranet apps: Each app costs $8 / active user / month Capped at $1,000 / month (i.e. users above 125 are free) Apps are auth-restricted to domain users Development is free Overage charges on Background Analysis/Storage Non intranet apps (external/public/ISV apps): Pricing TBD Postpaid (i.e. billed at the end of month) Wednesday, February 16, 2011
  • 74. App Engine for Business Support Paid Support Email based 1000$/month 1h response time on operational issues 8h on development issues SLA 99.9% uptime Service credits from 10% to 100% refund of monthly bill Wednesday, February 16, 2011
  • 75. Google Developer Qualification Chrome Gadgets Search App Engine JS Maps API KML 3D Extensions Wednesday, February 16, 2011
  • 76. App Engine for Data Crunchers • High Performance Image Serving • OpenId/Oauth integration • Increased quotas • > 1k entities per query • 10’’ task queues • Async UrlFetch • Mapper API (Reduce coming soon) • Channel API • Matcher API Google Developer Day 2010 Wednesday, February 16, 2011
  • 77. Mapper API • First component of App Engine’s MapReduce toolkit • Large scale data manipulation • Examples include: • Report generation • Computing statistics and metrics … • Python Example: • http://blog.notdot.net/2010/05/Exploring-the-new-mapper-API • Java Example: • http://ikaisays.com/2010/07/09/using-the-java-mapper-framework-for-app- engine/ Google Developer Day 2010 Wednesday, February 16, 2011
  • 78. Channel API • Allows for Server Push (Comet) to browser • Blog post announcement: • http://googleappengine.blogspot.com/2010/05/app-engine-at-google- io-2010.html • External coverage: • Sneak Peak from an early trusted tester • http://bitshaq.com/2010/09/01/sneak-peak-gae-channel-api/ • Demo code for Dance Dance Robot available here: • http://code.google.com/p/dance-dance-robot/ • Also see: https://groups.google.com/group/google-appengine-java/ browse_thread/thread/6fa09953ffae2cd3/c1db7de5fdb82b65?pli=1# Google Developer Day 2010 Wednesday, February 16, 2011
  • 79. Matcher API • Allows an app to register a set of queries to match against a stream of documents • Trustes Testers, Python only • Group post announcement: • http://groups.google.com/group/google-appengine/msg/40021537e2e58962 • Docs: • http://code.google.com/p/google-app-engine-samples/wiki/ AppEngineMatcherService • Demo code: • http://code.google.com/p/google-app-engine-samples/source/browse/#svn/trunk/ matcher-sample Google Developer Day 2010 Wednesday, February 16, 2011
  • 80. Google Storage for Developers Store your data in Google's cloud Google Developer Day 2010 Wednesday, February 16, 2011
  • 81. 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 Google Developer Day 2010 Wednesday, February 16, 2011
  • 82. Google Storage Technical Details RESTful API  • Verbs: GET, PUT, POST, HEAD, DELETE  • Resources: identified by URI, like: http://commondatastorage.googleapis.com/bucket/object • Compatible with S3  Buckets • Flat containers (no bucket hierarchy) Google Developer Day 2010 Wednesday, February 16, 2011
  • 83. Performance and Scalability Object types and size • Objects of any type and 100GB+ / Object • Unlimited numbers of objects, 1000s of buckets • Range-get support for data retrieval Replication • All data replicated to multiple US data centers • Leveraging Google's worldwide network for data delivery Consistency • “Read-your-writes” data consistency Google Developer Day 2010 Wednesday, February 16, 2011
  • 84. Security and Privacy Features Authenticated downloads from a web browser • Sharing with individuals • Group sharing via Google Groups • Sharing with Google Apps domains Permissions set on Buckets or Objects • READ (an object, or list a bucket’s contents) • WRITE (applicable to buckets, allows upload/delete/etc) • FULL_CONTROL (read/write ACLs on objects or buckets) Google Developer Day 2010 Wednesday, February 16, 2011
  • 85. Tools Google Storage Manager gsutil Google Developer Day 2010 Wednesday, February 16, 2011
  • 86. 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 Developer Day 2010 Wednesday, February 16, 2011
  • 87. Some Early Google Storage Adopters Google Developer Day 2010 Wednesday, February 16, 2011
  • 88. Google Storage usage within Google Google Google BigQuery Prediction API Haiti Relief Imagery USPTO data Partner Reporting Partner Reporting Google Developer Day 2010 Wednesday, February 16, 2011
  • 89. Google Storage - Availability Limited preview in US* currently • 100GB free storage and network per account • Sign up for wait list at • http://code.google.com/apis/storage/ * Non-US preview available on case-by-case basis Google Developer Day 2010 Wednesday, February 16, 2011
  • 90. Google Prediction API Google's prediction engine in the cloud Google Developer Day 2010 Wednesday, February 16, 2011
  • 91. Introducing the Google Prediction API • Google's sophisticated machine learning technology • Available as an on-demand RESTful HTTP web service Google Developer Day 2010 Wednesday, February 16, 2011
  • 92. A virtually endless number of applications... Customer Transaction Species Message Diagnostics Sentiment Risk Identification Routing Churn Legal Docket Suspicious Work Roster Inappropriate Prediction Classification Activity Assignment Content Recommend Political Uplift Email Career Products Bias Marketing Filtering Counseling ... and many more ... Google Developer Day 2010 Wednesday, February 16, 2011
  • 93. How does it work? 1. TRAIN The quick brown fox jumped over the "english" The Prediction API lazy dog. finds relevant To err is human, but to really foul things features in the "english" up you need a computer. sample data during "spanish" No hay mal que por bien no venga. training. "spanish" La tercera es la vencida. 2. PREDICT To be or not to be, that is the ? The Prediction API question. later searches for ? La fe mueve montañas. those features during prediction. Google Developer Day 2010 Wednesday, February 16, 2011
  • 94. Introducing the Google Prediction API Google Developer Day 2010 Wednesday, February 16, 2011
  • 95. A Prediction API Example Automatically determine application recommendations • Goal: Increase relevancy on the Apps Marketplace via recommendations • Customers: Businesses of various sizes and industries using Google Apps around the world • Data: Sampling of previous installs of applications • Outcome: Predict applications which would be appropriate for a new customer visiting the site Google Developer Day 2010 Wednesday, February 16, 2011
  • 96. 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 predictions Google Developer Day 2010 Wednesday, February 16, 2011
  • 97. Step 1: Upload Upload your training data to Google Storage • Training data: outputs and input features • Data format: comma separated value format (CSV), result in first column "SlideRocket","EDUCATION","us","en","10","5" "MailChimp","BUSINESS","us","en","7","0" "MailChimp","STANDARD","se","sv","1","0" "Smartsheet","BUSINESS","us","en","13","4" Upload to Google Storage gsutil cp installs gs://appdata/ Google Developer Day 2010 Wednesday, February 16, 2011
  • 98. Step 2: Train Create a new model by training on data To train a model: POST prediction/v1.1/training?data=appdata%2Finstalls Training runs asynchronously. To see if it has finished: GET prediction/v1.1/training/appdata%2Finstalls {"data":{ "data":"appdata/installs", "modelinfo":"estimated accuracy: 0.xx"}}} Google Developer Day 2010 Wednesday, February 16, 2011
  • 99. Step 3: Predict Apply the trained model to make predictions on new data POST prediction/v1.1/query/appdata%2Finstalls/predict { "data":{ "input": { "mixture" : [ "EDUCATION","us","en","10","0" ]}}} { data : { "kind" : "prediction#output", "outputLabel":"Manymoon", "outputMulti" :[ {"label":"OffiSync", "score": x.xx} {"label":"Zoho CRM", "score": x.xx} {"label":"MailChimp", "score": x.xx}]}} Google Developer Day 2010 Wednesday, February 16, 2011
  • 100. Demo! Google Developer Day 2010 Wednesday, February 16, 2011
  • 101. Demo Screenshots Predicting apps for a 501-1,000 seat educational institution Google Developer Day 2010 Wednesday, February 16, 2011
  • 102. Demo Screenshots Predicting apps for a 501-1,000 seat educational institution Google Developer Day 2010 Wednesday, February 16, 2011
  • 103. Demo Screenshots Predicting apps for a small business Google Developer Day 2010 Wednesday, February 16, 2011
  • 104. Demo Screenshots Predicting apps for a small business Google Developer Day 2010 Wednesday, February 16, 2011
  • 105. Prediction API Capabilities Data • Input Features: numeric or unstructured text • Output: up to hundreds of discrete categories, or continuous values 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 Google Developer Day 2010 Wednesday, February 16, 2011
  • 106. Prediction API - Pricing Free Quota in trial/development • 100 predictions/day, 5MB trained/day • Available for 6 months Paid Usage • $10/month per project includes 10,000 predictions • Additional predictions are $0.50 per 1,000 • Absolute limit of 60,000 predictions per day • $0.002 per MB trained (max size per dataset is 100MB) Google Developer Day 2010 Wednesday, February 16, 2011
  • 107. Google Storage - Availability Limited preview in US* currently • Sign up for wait list at • http://code.google.com/apis/predict/ * Non-US preview available on case-by-case basis Google Developer Day 2010 Wednesday, February 16, 2011
  • 108. Google BigQuery Interactive analysis of large datasets in Google's cloud Google Developer Day 2010 Wednesday, February 16, 2011
  • 109. 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 Google Developer Day 2010 Wednesday, February 16, 2011
  • 110. Why BigQuery? Working with large data is a challenge Google Developer Day 2010 Wednesday, February 16, 2011
  • 111. Many Use Cases ... Trends Interactive Spam Detection Tools Web Network Dashboards Optimization Google Developer Day 2010 Wednesday, February 16, 2011
  • 112. Key Capabilities 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 Google Developer Day 2010 Wednesday, February 16, 2011
  • 113. Using BigQuery Another 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 Google Developer Day 2010 Wednesday, February 16, 2011
  • 114. Writing Queries 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 Google Developer Day 2010 Wednesday, February 16, 2011
  • 115. 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 Google Developer Day 2010 Wednesday, February 16, 2011
  • 116. 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 Google Developer Day 2010 Wednesday, February 16, 2011
  • 117. Large Data Analysis Example Wikimedia Revision History Wikimedia Revision history data from: http://download.wikimedia.org/enwiki/latest/enwiki-latest-pages-meta-history.xml.7z Google Developer Day 2010 Wednesday, February 16, 2011
  • 118. Large Data Analysis Example Wikimedia Revision History Wikimedia Revision history data from: http://download.wikimedia.org/enwiki/latest/enwiki-latest-pages-meta-history.xml.7z Google Developer Day 2010 Wednesday, February 16, 2011
  • 119. Using BigQuery Shell Python DB API 2.0 + B. Clapper's sqlcmd http://www.clapper.org/software/python/sqlcmd/ Google Developer Day 2010 Wednesday, February 16, 2011
  • 120. BigQuery from a Spreadsheet Google Developer Day 2010 Wednesday, February 16, 2011
  • 121. BigQuery from a Spreadsheet Google Developer Day 2010 Wednesday, February 16, 2011
  • 122. Google Fusion Tables Google Developer Day 2010 Wednesday, February 16, 2011
  • 123. Google Fusion Tables • Manage large collections of tabular data in the cloud • 100 Mb tables • Filters, Aggregation, Merge • ACL, Collaboration, Discuss Data • Visualizations • REST API • Geo queries • Maps Integration • FusionTablesLayer Google Developer Day 2010 Wednesday, February 16, 2011
  • 124. Google Fusion Tables Google Developer Day 2010 Wednesday, February 16, 2011
  • 125. Google Visualization API Google Developer Day 2010 Wednesday, February 16, 2011
  • 126. Google Visualization API • Collection of JavaScript Visualization components • Some from Google (Chart Tools) • Some from other developers • Share the same wire protocol for Data Sources Google Developer Day 2010 Wednesday, February 16, 2011
  • 127. Example: Weather data • US National Climatic Data Center • weather data at stations around the globe since 1929 • Stored in Google Storage • Created a Table for Bigquery • Upload Weather Station coordinates in Fusion Tables • App Engine App • Maps API to display weather station Maps • Bigquery to query average temperature in January • A bit of Python to create a JSON Data Source • Visualization API • Just an example: rince, repeat, enhance! Google Developer Day 2010 Wednesday, February 16, 2011
  • 128. Example: Weather data Google Developer Day 2010 Wednesday, February 16, 2011
  • 129. Google Refine Google Developer Day 2010 Wednesday, February 16, 2011
  • 130. Google Refine • Power tool for working with messy data • Cleanup • Transform • Augment • (Link with FreeBase) • Desktop software for now • http://code.google.com/p/google-refine/ Google Developer Day 2010 Wednesday, February 16, 2011
  • 131. Google Refine Google Developer Day 2010 Wednesday, February 16, 2011
  • 132. Recap • Google App Engine o Easy to build, deploy and manage web apps • Google Storage o High speed data storage on Google Cloud • Prediction API o Google's machine learning technology • BigQuery o Interactive analysis of very large data sets • Google Fusion Tables o Manage collections of tabular data in the cloud • Google Refine o Power tool for working with messy data • Google Visualization o Collection of JavaScript Visualization Google Developer Day 2010 Wednesday, February 16, 2011
  • 133. More information http://code.google.com/apis/ http://code.google.com/more/table/ Google Developer Day 2010 Wednesday, February 16, 2011
  • 134. Google Cloud for Java Developers: Platform and Monetization Patrick Chanezon, Developer Advocate, Cloud @chanezon, chanezon@google.com Wednesday, February 16, 2011