SlideShare ist ein Scribd-Unternehmen logo
1 von 142
Downloaden Sie, um offline zu lesen
Google Cloud for Developers
             Apps, Apps Marketplace, App Engine for
             Business, Storage, Prediction, Bigquery

    Patrick Chanezon
    Developer Advocate
                                       #devfest Manila
    chanezon@google.com
    http://twitter.com/chanezon        July 6 2010
                                                         2

Tuesday, July 6, 2010
Tuesday, July 6, 2010
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


Tuesday, July 6, 2010
Build and Buy all your enterprise cloud apps...




                                              Google Apps Platform




                                                                          Enterprise Firewall


                                                                                          4
                        Enterprise Data   Authentication   Enterprise Services User Management
Tuesday, July 6, 2010
Build and Buy all your enterprise cloud apps...

                                                 Buy from Google




                                                   Google Apps
                                                   for Business

                                              Google Apps Platform




                                                                          Enterprise Firewall


                                                                                          4
                        Enterprise Data   Authentication   Enterprise Services User Management
Tuesday, July 6, 2010
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


                                                                                          4
                        Enterprise Data   Authentication   Enterprise Services User Management
Tuesday, July 6, 2010
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


                                                                                          4
                        Enterprise Data   Authentication   Enterprise Services User Management
Tuesday, July 6, 2010
Customers want more Apps


                                     Business
                                     in the cloud




                        Google
                         Apps


                                 5

Tuesday, July 6, 2010
Google Apps Marketplace




Tuesday, July 6, 2010
Marketplace Overview




Tuesday, July 6, 2010
Google Apps is Focused on Messaging &
      Collaboration




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


Tuesday, July 6, 2010
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




Tuesday, July 6, 2010
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 2M+ businesses & 25M+ users
    - through Google Apps resellers
    - to wherever Google Apps goes
    - One-time fee of $100, 20% rev share starting 2H'10




Tuesday, July 6, 2010
Everything in the Cloud




Tuesday, July 6, 2010
Integrating with Google Apps & the Marketplace




                                                Manifest




Tuesday, July 6, 2010
Demo Google Apps Marketplace




Tuesday, July 6, 2010
How it's done - Single Sign On




Tuesday, July 6, 2010
Single Sign On
      OpenID with Google Apps




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




                        Sounds complicated, but not hard in practice!



Tuesday, July 6, 2010
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




Tuesday, July 6, 2010
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;
      }




Tuesday, July 6, 2010
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, 'rst');
      $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;




Tuesday, July 6, 2010
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->getDisplayIdentier();
      $ax = new Auth_OpenID_AX_FetchResponse();
      $ax_resp = $ax->fromSuccessResponse($response);
      $email = $ax_resp->data[$AX_SCHEMA_EMAIL][0];
      $rstName = $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, $rstName,
          $lastName);
    } 




Tuesday, July 6, 2010
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>



Tuesday, July 6, 2010
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



Tuesday, July 6, 2010
How it's done - Data Access




Tuesday, July 6, 2010
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>




Tuesday, July 6, 2010
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;
    }




Tuesday, July 6, 2010
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(),
         'rstName' => $name->getGivenName(),
         'lastName' => $name->getFamilyName(),
         'admin' => $login->getAdmin());
      }




Tuesday, July 6, 2010
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




Tuesday, July 6, 2010
Gadgets - your real estate in Google Apps




Tuesday, July 6, 2010
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




Tuesday, July 6, 2010
Gmail contextual gadgets

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




Tuesday, July 6, 2010
Gmail contextual gadgets




Tuesday, July 6, 2010
Gmail contextual gadgets




Tuesday, July 6, 2010
Calendar sidebar gadgets
      • Can detect:
        o currently-displayed date range
        o currently-selected event
           title
           attendees
           date/time




Tuesday, July 6, 2010
Calendar sidebar gadgets




Tuesday, July 6, 2010
Calendar sidebar gadgets




Tuesday, July 6, 2010
Sell




Tuesday, July 6, 2010
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://.../cong.php?domain=$
 {DOMAIN_NAME}"/>
     <Link rel="deletion-policy" href="http://.../deletion-policy.php"/>
     <Link rel="support" href="http://.../support.php"/>
   </Support>




Tuesday, July 6, 2010
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>




Tuesday, July 6, 2010
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>




Tuesday, July 6, 2010
Listing in the Google Apps Marketplace




Tuesday, July 6, 2010
Listing in the Google Apps Marketplace




Tuesday, July 6, 2010
Reach 25 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



Tuesday, July 6, 2010
Roadmap




Tuesday, July 6, 2010
Roadmap - General
  • Recent Launches
    o Gmail contextual gadgets
    o OAuth support for Gmail's IMAP and SMTP




Tuesday, July 6, 2010
Roadmap - Billing
  • Goals
    o Simplified invoicing & payments for customers
    o Consistent experience across apps
  • Planned 2nd-half of 2010
    o Required for installable apps after transition period
    o Revenue sharing starts once APIs adopted

  • Features
    o Unified billing for apps purchased in marketplace
    o Support for a variety of pricing & licensing models
    o APIs for customization and up-selling




Tuesday, July 6, 2010
Learn More




Tuesday, July 6, 2010
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




Tuesday, July 6, 2010
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


                                                                                         47
                        Enterprise Data   Authentication   Enterprise Services User Management
Tuesday, July 6, 2010
Google App Engine




Tuesday, July 6, 2010
Leveraging Google's Leadership in
   Cloud Computing
    • Massive data center operations
    • Purpose built hardware
    • Multi tenant software platform at Internet scale




                                              49


Tuesday, July 6, 2010
Google App Engine

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




                                  50

Tuesday, July 6, 2010
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



                                        51

Tuesday, July 6, 2010
App Engine Services


                        Memcache   Datastore   URL Fetch




                          Mail       XMPP      Task Queue




                        Images     Blobstore   User Service


                                       52

Tuesday, July 6, 2010
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
                                                 53

Tuesday, July 6, 2010
Purchase additional resources *




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

Tuesday, July 6, 2010
By the numbers


                           250,000+
                         Developers
                        100,000+ Apps
                          0.5B+ daily
                          Pageviews
                                        55


Tuesday, July 6, 2010
App Engine




                         56

Tuesday, July 6, 2010
Socialwok




                        57

Tuesday, July 6, 2010
Social networking at scale




                             58

Tuesday, July 6, 2010
Social networking at scale

                           >62M Users


                         3.6M DAUs on Facebook
                         1.9M DAUs on MySpace
                             Orkut, Bebo, Hi5,
                        Friendster, Hyves, Ning, …




                                    58

Tuesday, July 6, 2010
Chillingo Crystal
      59
            Gaming meets Social




      Zombie Dash       Angry Birds LITE   Underground       Meltdown          Cogs




  Mission Deep Sea       Speed Forge       Guerilla Bob    Ravensword:      Angry Birds
                           Extreme                        The Fallen King



Tuesday, July 6, 2010
gigy Socialize




                             60

Tuesday, July 6, 2010
gigy Socialize - traffic




                              61

Tuesday, July 6, 2010
gigy Socialize - traffic




                              61

Tuesday, July 6, 2010
App Engine




                         62

Tuesday, July 6, 2010
Google App Engine for Business




Tuesday, July 6, 2010
Build your Enterprise Apps on Google




      • Easy to Build - Java standards

      • Easy to Deploy - push-button deployment
      • Easy to Scale - from small apps to millions of users




                                                          64


Tuesday, July 6, 2010
Google App Engine for Business




    • Centralized administration - controls
    • Reliability and support - SLA, Premium support

    • Secure by default - only your users
    • Pricing that makes sense - pay only for what you use

    • Enterprise features - hosted SQL, SSL on your domain

                                                       65


Tuesday, July 6, 2010
Understanding the Cloud Computing
   Landscape


                                       SaaS

                                       PaaS


                                          IaaS

                                                  66
           Source: Gartner AADI Summit Dec 2009

Tuesday, July 6, 2010
Google's Cloud Offerings

                               1. Our Apps
                               2. 3rd party Apps:
                                  Google Apps Marketplace
                        SaaS   3. ________



                        PaaS              Google App Engine


                                     Google Storage for Devs
                        IaaS               Machine Learning
                                                   BigQuery

                                                 67


Tuesday, July 6, 2010
Google's Cloud Offerings
          Your Apps
                               1. Our Apps
                               2. 3rd party Apps:
                                  Google Apps Marketplace
                        SaaS   3. ________



                        PaaS              Google App Engine


                                     Google Storage for Devs
                        IaaS               Machine Learning
                                                   BigQuery

                                                 67


Tuesday, July 6, 2010
Domain Console




                        68


Tuesday, July 6, 2010
Domain Console

   Like the regular admin console
   Designed to manage enterprises with a portfolio of apps
   • Keep track of all apps in a domain
   • Access Control: view apps, deploy
   • Global Settings: apply to all apps in the domain
   • Billing rolling up to single account
   • DNS configuration done only once: *.ext.example.com
   • All apps by default for logged in users from domain




                                                       69


Tuesday, July 6, 2010
Google Apps Integration
       • SSO/SSO delegation
       • APIs for most Google Apps for integration
    




                                                     70


Tuesday, July 6, 2010
Federate your on-premise data




                              71


Tuesday, July 6, 2010
Secure Data Connector (SDC)




                           72

Tuesday, July 6, 2010
Using Secure Data Connector




                                  73

Tuesday, July 6, 2010
Using Secure Data Connector

                        Installation
                        - Determine access rules
                        - Configure and install SDC




                                                      73

Tuesday, July 6, 2010
Using Secure Data Connector

                        Installation
                        - Determine access rules
                        - Configure and install SDC
                        Getting ready to serve
                        - SDC opens SSL tunnel




                                                      73

Tuesday, July 6, 2010
Using Secure Data Connector

                        Installation
                        - Determine access rules
                        - Configure and install SDC
                        Getting ready to serve
                        - SDC opens SSL tunnel
                        Serving
                        - User request sent to App Engine
                        - User authenticated
                        - App makes request through tunnel
                        - SDC performs access checks
                        - Results returned
                                                       73

Tuesday, July 6, 2010
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)




                                                       74


Tuesday, July 6, 2010
App Engine for Business Support and
   SLA
   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




                                                       75


Tuesday, July 6, 2010
Google Developer Qualification




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




                                                                                         76


Tuesday, July 6, 2010
Two years in review
                        Apr   2008   Python launch
                        May   2008   Memcache, Images API
                        Jul   2008   Logs export
                        Aug   2008   Batch write/delete
                        Oct   2008   HTTPS support
                        Dec   2008   Status dashboard, quota details
                        Feb   2009   Billing, larger files
                        Apr   2009   Java launch, DB import, cron support, SDC
                        May   2009   Key-only queries
                        Jun   2009   Task queues
                        Aug   2009   Kindless queries
                        Sep   2009   XMPP
                        Oct   2009   Incoming email
                        Dec   2009   Blobstore
                        Feb   2010   Datastore cursors, Appstats
                        Mar   2010   Read policies, IPv6
                        May   2010   App Engine for Business
                                                                                 77


Tuesday, July 6, 2010
An evolving platform



                           78
Tuesday, July 6, 2010
App Engine
                                 Roadmap

                                               Improved monitoring/alerting
                 Background servers
                                                             SSL for your domain
     Control datastore availability vs. latency trade-offs
                                                  Datastore dump and restore facility
   Mapping operations across datasets
                                 Raise request/response size limits for some APIs
      Reserved instances
                                                Built-in support for OAuth & OpenID
                            Channel API                                             79


Tuesday, July 6, 2010
Google Storage




Tuesday, July 6, 2010
Google Storage
      • Cloud-based binary object store
        o Structured as buckets and objects
        o Many buckets, many objects, large objects

      • You control your data
        o Private, shared, or public
        o Get your data back out at any time

      • For developers
        o RESTful API
        o Many SDKs + tools
        o Integration with other Google services




Tuesday, July 6, 2010
Google Storage Benefits

                           High Performance and Scalability
                              backed by Google infrastructure




                                Flexible Authentication &
                                          Sharing Models



            Get Started Fast with
            Google & 3rd Party Utilities


Tuesday, July 6, 2010
Demo: Get Started In < 1 Minute
      • click emailed invitation link

      • read & accept Terms Of Service

      • start using GS Manager




Tuesday, July 6, 2010
Google services using Google Storage




                                                                Partner Reporting




          Data Liberation          Haiti Relief Imagery       Partner Reporting



                         Google                          Google
                        BigQuery                      Prediction API




Tuesday, July 6, 2010
Some current users




Tuesday, July 6, 2010
Technical Overview




Tuesday, July 6, 2010
Google Storage Overview

      • Fast, scalable, highly available object store
        o Objects of any type and practically any size
        o Lots of objects, lots of buckets
        o All data replicated to multiple US data centers
        o Read-your-writes data consistency

      • Easy, flexible authentication and sharing
        o Key-based authentication
        o Authenticated downloads from a web browser
        o Sharing with individuals and groups

      • Google products and 3rd party tools/services
        o Compatible with many available tools and libraries
        o Getting started toolkit




Tuesday, July 6, 2010
API Concepts

      • RESTful API
        o Verbs: GET, PUT, POST, HEAD, DELETE
        o Resources: identified by URI

      • Buckets
        o Flat containers

      • Objects
        o Any type, practically any size

      • Access Control for Google Accounts
        o Google Groups

      • Two Ways to Authenticate Requests
        o Sign request using access keys
        o Web browser login




Tuesday, July 6, 2010
Sample Signed Request

     PUT /mybucket/My/Long/Object/Name HTTP/1.1
     Host: commondatastorage.googleapis.com:443
     Accept-Encoding: identity
     Date: Sat, 08 May 2010 19:04:21 GMT
     Content-Length: 28
     Content-Type: text/plain
     Authorization:GOOG1
     GOOG4622809698762217:J+y3mj5GThfI6Ed1MqLi7JpCq5Y=
      
     This is my object's content.




Tuesday, July 6, 2010
Sharing and ACLs

      • Data can be private or shared

      • Bucket ACL determines:
        o who can list objects (READ)
        o who can create / delete objects (WRITE)
        o who can read / write bucket ACL (FULL_CONTROL)

      • Object ACL determines:
        o who can read objects (READ)
        o who can read / write object ACL (FULL_CONTROL)




Tuesday, July 6, 2010
Read-Your-Writes Consistency

      • Once a write succeeds, all future reads will see a snapshot
        that includes that write... no matter what replica they talk to

      • Once any reader sees a result (even if the write previously
        appeared to fail) then all future readers will see a snapshot
        that includes the write




Tuesday, July 6, 2010
Interoperability Gives You Choice

      • Data Liberation
        o You shouldn't be locked in by your choice of
          storage provider

      • Choice of tools
        o You should be able to use the same tools to
          manage your data, regardless of where you keep it




Tuesday, July 6, 2010
Demo: Using Google Storage




Tuesday, July 6, 2010
Computing in the Cloud: App Engine Sample
        os.environ['BOTO_CONFIG'] = 'boto.cfg'
        from boto import storage_uri
        # <other imports omitted>

        class MainPage(webapp.RequestHandler):
          def get(self):
            self.response.out.write('<html><body>')
            uri = storage_uri('gs://pub/shakespeare/rose.txt')
            poem = uri.get_contents_as_string()
            self.response.out.write('<pre>' + poem + '</pre>')
            self.response.out.write('</body></html>')

        def main():
          application = webapp.WSGIApplication([('/', MainPage)])
          run_wsgi_app(application)

        if __name__ == "__main__":
          main()




Tuesday, July 6, 2010
Pricing and Availability

      • Pay as you go pricing
      • Storage - $0.17/GB/month
      • Network
        o Upload data to Google
            $0.10/GB
        o Download data from Google
            $0.15/GB for Americas and EMEA
            $0.30/GB for APAC
      • Requests
        o PUT, POST, LIST - $0.01 per 1,000 Requests
        o GET, HEAD - $0.01 per 10,000 Requests

      • Free storage (up to 100GB) during preview period
         o No SLA
      • http://code.google.com/apis/storage




Tuesday, July 6, 2010
What's Coming Up

      • Service Level Agreement

      • Support

      • Available to Premium Apps Customers

      • Technical Features:
         o Group support in ACLs
         o Resumable uploads
         o Additional regions




Tuesday, July 6, 2010
Google BigQuery and Prediction APIs




Tuesday, July 6, 2010
Overview

   • Big Data - Challenging and Important

   • Google has tools for deep data analysis

   • Now you can use these tools




Tuesday, July 6, 2010
Overview

   • Big Data - Challenging and Important

   • Google has tools for deep data analysis

   • Now you can use these tools

   • Announcing two new APIs to get more from your data:
     1.BigQuery
     2.Prediction API




Tuesday, July 6, 2010
Benefits

   • Built on Google technology

   • Scalability

   • Security

   • Sharing

   • Easy integration with Google App Engine, Google
     Spreadsheets, ....




Tuesday, July 6, 2010
Using Your Data with BigQuery & Prediction API


            1. Upload    Upload your data    Your Data
                         to Google Storage




                         Import to tables       BigQuery
            2. Process   Train a model           Prediction API




                         Run queries         Your Apps
            3. Act       Make predictions



Tuesday, July 6, 2010
BigQuery
                 Interactive Analysis of Big Data




Tuesday, July 6, 2010
Big Data is Challenging
      Starts with Scale




Tuesday, July 6, 2010
Many Use Cases ...




                  Interactive Tools                           Trends
                                             Spam            Detection




                                   Web               Network
                                Dashboards          Optimization



Tuesday, July 6, 2010
Demo: Analyzing M-Lab
        An open platform for advanced network researchďťż
        http://www.measurementlab.net/




Tuesday, July 6, 2010
Demo: Exploring M-Lab




Tuesday, July 6, 2010
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




Tuesday, July 6, 2010
Using Your Data with BigQuery


                        Upload to Google Storage
            1. Upload




                        Import data into a BigQuery Table
            2. Import   - No need to define indices, keys, etc..



                        Execute queries via APIs
            3. Query    - No provisioning machines or resources




Tuesday, July 6, 2010
Writing Queries

      Compact subset of SQL
        o SELECT ... FROM ...
          WHERE ...
          GROUP BY ... ORDER BY ...
          LIMIT ...;

      Common functions
        o Math, String, Time, ...

      Statistical approximations
         o TOP
         o COUNT DISTINCT




Tuesday, July 6, 2010
API in a Minute
      GET /bigquery/v1/tables/{table name}

      GET /bigquery/v1/query?q={query}
      Sample JSON Reply:
      {
        "results": {
          "elds": { [
            {"id":"COUNT(*)","type":"uint64"}, ... ]
          },
          "rows": [
            {"f":[{"v":"2949"}, ...]},
            {"f":[{"v":"5387"}, ...]}, ... ]
        }
      }

      Also supports JSON-RPC




Tuesday, July 6, 2010
Security and Privacy

        Standard Google Authentication
        • Client Login
        • OAuth
        • AuthSub

        HTTPS support
        • protects your credentials
        • protects your data

        Use Google Storage for Developers to manage access




Tuesday, July 6, 2010
Large Corpus Analysis
      Wikimedia Revision History




      Wikimedia Revision history data from: http://download.wikimedia.org/enwiki/latest/
      enwiki-latest-pages-meta-history.xml.7z


Tuesday, July 6, 2010
Using BigQuery Shell
        Python DB API 2.0 + B. Clapper's sqlcmd
        http://www.clapper.org/software/python/sqlcmd/




Tuesday, July 6, 2010
BigQuery from a Spreadsheet




Tuesday, July 6, 2010
BigQuery from a Spreadsheet




Tuesday, July 6, 2010
BigQuery Recap

        • Interactive analysis of very large data sets
        • Simple SQL query language

        • APIs enable a variety of use cases




Tuesday, July 6, 2010
Google Prediction API
                 Machine learning as a web service




Tuesday, July 6, 2010
Prediction API 101

    • Google's sophisticated machine learning algorithms

    • Available as an on-demand RESTful HTTP web service

    • Train a model offline/asynchronously

    • Predict results in real-time


            "Tous pour un,
            un pour tous,        Prediction API      "french"
            c'est notre
            devise."




Tuesday, July 6, 2010
How does it work?

                           "english" The quick brown fox jumped over the
      The Prediction API             lazy dog.
      finds relevant
                           "english" To err is human, but to really foul things
      features in the                up you need a computer.
      sample data during
                           "spanish" No hay mal que por bien no venga.
      training.
                           "spanish" La tercera es la vencida.



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




Tuesday, July 6, 2010
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    Counselling


                                      ... and many more ...

Tuesday, July 6, 2010
Three simple steps to use the Prediction API


                         Upload your        Use the API, gsutil or any
            1. Upload    training data to   compatible utility to upload
                         Google Storage     your data to Google Storage



                         Build a model      prediction/v1/train/{}
            2. Train     from your data     POST : a training request



                                            prediction/v1/query/{}
                         Make new           GET : model info
            3. Predict   predictions        POST : a prediction request




Tuesday, July 6, 2010
Prediction API Demo
      Automatically categorize and respond to emails by language

    • Customer: ACME Corp, a multinational organization
    • Goal: Respond to customer emails in their language
    • Data: Many emails, tagged with their languages

    • Outcome: Predict language and respond accordingly




Tuesday, July 6, 2010
Step 1: Upload
      Upload your training data to Google Storage
• Training data: outputs and input features
• Data format: comma separated value format (CSV)

          $ head -n 2 ${data}
          "english","To err is human, but to really ..."
          "spanish","No hay mal que por bien no venga."

          Upload to Google Storage
          $ gsutil cp ${data} gs://io10/${data}




Tuesday, July 6, 2010
Step 2: Train
      Create a new model by training on data

      To train a model:

      POST prediction/v1/train/${data}

      Training runs asynchronously. To see if it has finished:
      GET prediction/v1/query/${data}

      {"data": {
          "resource": {
            "data": "${data}", 
            "modelinfo": "estimated accuracy: ${acc}"}}}




Tuesday, July 6, 2010
Step 3: Predict
      Apply the trained model to make predictions on new data

POST prediction/v1/query/${data}
{ data : { 
  "instance" : {
    "input" : { "text" : [
      "J'aime X! C'est le meilleur" ]}}}}




Tuesday, July 6, 2010
Step 3: Predict
      Apply the trained model to make predictions on new data

POST prediction/v1/query/${data}
{ data : { 
  "instance" : {
    "input" : { "text" : [
      "J'aime X! C'est le meilleur" ]}
    "output" :
    {"output_label" : "french"}}}}




Tuesday, July 6, 2010
Step 3: Predict
      Apply the trained model to make predictions on new data

import httplib

header = {"Content-Type" : "application/json"}#...put new data in
JSON format in params variable
conn =
httplib.HTTPConnection("www.googleapis.com")conn.request("P
OST",
  "/prediction/v1/query/${data}",  params, header)print
conn.getresponse()




Tuesday, July 6, 2010
Prediction API Capabilities
       Data
       • Input Features: numeric or unstructured text
       • Output: up to 100s of discrete categories

       Training
       • Many machine learning techniques
       • Automatically selected
       • Performed asynchronously

       Access from many platforms:
       • Web app from Google App Engine
       • Apps Script (e.g. from Google Spreadsheet)
       • Desktop app




Tuesday, July 6, 2010
Prediction API and BigQuery Demo: Tagger
       Input Data: http://delic.io.us/chanezon
          – 6000 urls, 14000 tags in 6 years
       Analyze my delicious tags
          – use delicious API to get all tagged urls
          – cleanup data, resize (100Mb limit)
          – PUT data in Google storage
          – Define table
          – analyze
       Predict how I would tag a technology article
          – input is tag,url,text
          – send new url and text
          – get predicted tag




Tuesday, July 6, 2010
Get the BigQuery & Prediction APIs

  • Preview, opened to a limited number of developers
  • You need a Google Storage for Developers account
  • To request access and get more information, go to:
     o http://code.google.com/apis/bigquery
     o http://code.google.com/apis/prediction




Tuesday, July 6, 2010
Acknowledgement

            Thanks to many Googlers from their slides, most
            available at the Google IO 2010 website




                                                              131


Tuesday, July 6, 2010
Thank you

                        Read more
                            http://code.google.com/appengine/

                        Contact info
                             Patrick Chanezon
                             Developer Advocate
                             chanezon@google.com
                             http://twitter.com/chanezon

                        Questions
                            ?

                                                                132


Tuesday, July 6, 2010
Tuesday, July 6, 2010

Weitere ähnliche Inhalte

Was ist angesagt?

Google cloud Platform
Google cloud PlatformGoogle cloud Platform
Google cloud PlatformJanu Jahnavi
 
Google Cloud Platform - Service Glossary
Google Cloud Platform - Service GlossaryGoogle Cloud Platform - Service Glossary
Google Cloud Platform - Service GlossaryJoseph's Cloud Library
 
Introduction to Google Cloud
Introduction to Google CloudIntroduction to Google Cloud
Introduction to Google CloudDSC IEM
 
Introduction to Google Cloud Platform Technologies
Introduction to Google Cloud Platform TechnologiesIntroduction to Google Cloud Platform Technologies
Introduction to Google Cloud Platform TechnologiesChris Schalk
 
GCP - GCE, Cloud SQL, Cloud Storage, BigQuery Basic Training
GCP - GCE, Cloud SQL, Cloud Storage, BigQuery Basic TrainingGCP - GCE, Cloud SQL, Cloud Storage, BigQuery Basic Training
GCP - GCE, Cloud SQL, Cloud Storage, BigQuery Basic TrainingSimon Su
 
Case study of Google Cloud Platform
Case study of Google Cloud PlatformCase study of Google Cloud Platform
Case study of Google Cloud PlatformDavid Chen
 
Google Cloud: Data Analysis and Machine Learningn Technologies
Google Cloud: Data Analysis and Machine Learningn Technologies Google Cloud: Data Analysis and Machine Learningn Technologies
Google Cloud: Data Analysis and Machine Learningn Technologies AndrĂŠs Leonardo Martinez Ortiz
 
Introduction to Google Cloud Services / Platforms
Introduction to Google Cloud Services / PlatformsIntroduction to Google Cloud Services / Platforms
Introduction to Google Cloud Services / PlatformsNilanchal
 
Google Cloud Platform - Cloud-Native Roadshow Stuttgart
Google Cloud Platform - Cloud-Native Roadshow StuttgartGoogle Cloud Platform - Cloud-Native Roadshow Stuttgart
Google Cloud Platform - Cloud-Native Roadshow StuttgartVMware Tanzu
 
Getting started with Google Cloud Training Material - 2018
Getting started with Google Cloud Training Material - 2018Getting started with Google Cloud Training Material - 2018
Getting started with Google Cloud Training Material - 2018JK Baseer
 
Google Compute Engine Starter Guide
Google Compute Engine Starter GuideGoogle Compute Engine Starter Guide
Google Compute Engine Starter GuideSimon Su
 
30 days of Google Cloud Introduction
30 days of Google Cloud Introduction30 days of Google Cloud Introduction
30 days of Google Cloud IntroductionDeepikaRana30
 
GDG Heraklion - Architecting for the Google Cloud Platform
GDG Heraklion - Architecting for the Google Cloud PlatformGDG Heraklion - Architecting for the Google Cloud Platform
GDG Heraklion - Architecting for the Google Cloud PlatformMĂĄrton Kodok
 
30 Days Of Google Cloud Info Session-GDSC AU
30 Days Of Google Cloud Info Session-GDSC AU30 Days Of Google Cloud Info Session-GDSC AU
30 Days Of Google Cloud Info Session-GDSC AUAKSHATPATEL48
 
Integrating Google Cloud Dataproc with Alluxio for faster performance in the ...
Integrating Google Cloud Dataproc with Alluxio for faster performance in the ...Integrating Google Cloud Dataproc with Alluxio for faster performance in the ...
Integrating Google Cloud Dataproc with Alluxio for faster performance in the ...Alluxio, Inc.
 
Google cloud computing
Google cloud computingGoogle cloud computing
Google cloud computingBrian Pichman
 
Firebase Realtime Database and Remote Config in Practice - DroidCon Moscow 2016
Firebase Realtime Database and Remote Config in Practice - DroidCon Moscow 2016Firebase Realtime Database and Remote Config in Practice - DroidCon Moscow 2016
Firebase Realtime Database and Remote Config in Practice - DroidCon Moscow 2016Sergey Smetanin
 
Big data on google cloud
Big data on google cloudBig data on google cloud
Big data on google cloudTu Pham
 
node.js on Google Compute Engine
node.js on Google Compute Enginenode.js on Google Compute Engine
node.js on Google Compute EngineArun Nagarajan
 

Was ist angesagt? (20)

Google cloud Platform
Google cloud PlatformGoogle cloud Platform
Google cloud Platform
 
Google Cloud Platform - Service Glossary
Google Cloud Platform - Service GlossaryGoogle Cloud Platform - Service Glossary
Google Cloud Platform - Service Glossary
 
Introduction to Google Cloud
Introduction to Google CloudIntroduction to Google Cloud
Introduction to Google Cloud
 
Introduction to Google Cloud Platform Technologies
Introduction to Google Cloud Platform TechnologiesIntroduction to Google Cloud Platform Technologies
Introduction to Google Cloud Platform Technologies
 
GCP - GCE, Cloud SQL, Cloud Storage, BigQuery Basic Training
GCP - GCE, Cloud SQL, Cloud Storage, BigQuery Basic TrainingGCP - GCE, Cloud SQL, Cloud Storage, BigQuery Basic Training
GCP - GCE, Cloud SQL, Cloud Storage, BigQuery Basic Training
 
Case study of Google Cloud Platform
Case study of Google Cloud PlatformCase study of Google Cloud Platform
Case study of Google Cloud Platform
 
Google Cloud: Data Analysis and Machine Learningn Technologies
Google Cloud: Data Analysis and Machine Learningn Technologies Google Cloud: Data Analysis and Machine Learningn Technologies
Google Cloud: Data Analysis and Machine Learningn Technologies
 
Google Cloud Platform
Google Cloud Platform Google Cloud Platform
Google Cloud Platform
 
Introduction to Google Cloud Services / Platforms
Introduction to Google Cloud Services / PlatformsIntroduction to Google Cloud Services / Platforms
Introduction to Google Cloud Services / Platforms
 
Google Cloud Platform - Cloud-Native Roadshow Stuttgart
Google Cloud Platform - Cloud-Native Roadshow StuttgartGoogle Cloud Platform - Cloud-Native Roadshow Stuttgart
Google Cloud Platform - Cloud-Native Roadshow Stuttgart
 
Getting started with Google Cloud Training Material - 2018
Getting started with Google Cloud Training Material - 2018Getting started with Google Cloud Training Material - 2018
Getting started with Google Cloud Training Material - 2018
 
Google Compute Engine Starter Guide
Google Compute Engine Starter GuideGoogle Compute Engine Starter Guide
Google Compute Engine Starter Guide
 
30 days of Google Cloud Introduction
30 days of Google Cloud Introduction30 days of Google Cloud Introduction
30 days of Google Cloud Introduction
 
GDG Heraklion - Architecting for the Google Cloud Platform
GDG Heraklion - Architecting for the Google Cloud PlatformGDG Heraklion - Architecting for the Google Cloud Platform
GDG Heraklion - Architecting for the Google Cloud Platform
 
30 Days Of Google Cloud Info Session-GDSC AU
30 Days Of Google Cloud Info Session-GDSC AU30 Days Of Google Cloud Info Session-GDSC AU
30 Days Of Google Cloud Info Session-GDSC AU
 
Integrating Google Cloud Dataproc with Alluxio for faster performance in the ...
Integrating Google Cloud Dataproc with Alluxio for faster performance in the ...Integrating Google Cloud Dataproc with Alluxio for faster performance in the ...
Integrating Google Cloud Dataproc with Alluxio for faster performance in the ...
 
Google cloud computing
Google cloud computingGoogle cloud computing
Google cloud computing
 
Firebase Realtime Database and Remote Config in Practice - DroidCon Moscow 2016
Firebase Realtime Database and Remote Config in Practice - DroidCon Moscow 2016Firebase Realtime Database and Remote Config in Practice - DroidCon Moscow 2016
Firebase Realtime Database and Remote Config in Practice - DroidCon Moscow 2016
 
Big data on google cloud
Big data on google cloudBig data on google cloud
Big data on google cloud
 
node.js on Google Compute Engine
node.js on Google Compute Enginenode.js on Google Compute Engine
node.js on Google Compute Engine
 

Andere mochten auch

A Tour of Google Cloud Platform
A Tour of Google Cloud PlatformA Tour of Google Cloud Platform
A Tour of Google Cloud PlatformColin Su
 
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
 
Introduction to Google Cloud Platform
Introduction to Google Cloud PlatformIntroduction to Google Cloud Platform
Introduction to Google Cloud Platformdhruv_chaudhari
 
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
 
[Infographic] 2014 Cloud Comparison
[Infographic] 2014 Cloud Comparison[Infographic] 2014 Cloud Comparison
[Infographic] 2014 Cloud ComparisonRapidScale
 
Memoria 2009 - Proyectos JCE Barcelona
Memoria 2009 - Proyectos JCE BarcelonaMemoria 2009 - Proyectos JCE Barcelona
Memoria 2009 - Proyectos JCE BarcelonaCIE Barcelona
 
Qawaq 21
Qawaq 21Qawaq 21
Qawaq 21QAWAQ
 
Basic Teaching Tools In SL - Workshop (2)
Basic Teaching Tools In SL - Workshop (2)Basic Teaching Tools In SL - Workshop (2)
Basic Teaching Tools In SL - Workshop (2)Mary Pinto
 
Distans Inom CRS
Distans Inom CRSDistans Inom CRS
Distans Inom CRSlsc
 
JFokus 2011 - Google Cloud for Java Developers: Platform and Monetization
JFokus 2011 - Google Cloud for Java Developers: Platform and MonetizationJFokus 2011 - Google Cloud for Java Developers: Platform and Monetization
JFokus 2011 - Google Cloud for Java Developers: Platform and MonetizationPatrick Chanezon
 
Adventures in Azure Machine Learning from NE Bytes
Adventures in Azure Machine Learning from NE BytesAdventures in Azure Machine Learning from NE Bytes
Adventures in Azure Machine Learning from NE BytesDerek Graham
 
Guia necesidades especificas de apoyo educativo ceapa
Guia necesidades especificas de apoyo educativo ceapaGuia necesidades especificas de apoyo educativo ceapa
Guia necesidades especificas de apoyo educativo ceapavera lisa pereira gonçalves
 
Cloud Storage in Azure, AWS and Google Cloud
Cloud  Storage in Azure, AWS and Google CloudCloud  Storage in Azure, AWS and Google Cloud
Cloud Storage in Azure, AWS and Google CloudThurupathan Vijayakumar
 
Azure Machine Learning using R
Azure Machine Learning using RAzure Machine Learning using R
Azure Machine Learning using RHerman Wu
 

Andere mochten auch (20)

A Tour of Google Cloud Platform
A Tour of Google Cloud PlatformA Tour of Google Cloud Platform
A Tour of Google Cloud Platform
 
Understanding cloud with Google Cloud Platform
Understanding cloud with Google Cloud PlatformUnderstanding cloud with Google Cloud Platform
Understanding cloud with Google Cloud Platform
 
Introduction to Google Cloud Platform
Introduction to Google Cloud PlatformIntroduction to Google Cloud Platform
Introduction to Google Cloud Platform
 
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
 
[Infographic] 2014 Cloud Comparison
[Infographic] 2014 Cloud Comparison[Infographic] 2014 Cloud Comparison
[Infographic] 2014 Cloud Comparison
 
Crown Express Royal Train in Bulgaria
Crown Express Royal Train in BulgariaCrown Express Royal Train in Bulgaria
Crown Express Royal Train in Bulgaria
 
Memoria 2009 - Proyectos JCE Barcelona
Memoria 2009 - Proyectos JCE BarcelonaMemoria 2009 - Proyectos JCE Barcelona
Memoria 2009 - Proyectos JCE Barcelona
 
Social Media Praxistage
Social Media PraxistageSocial Media Praxistage
Social Media Praxistage
 
Qawaq 21
Qawaq 21Qawaq 21
Qawaq 21
 
Basic Teaching Tools In SL - Workshop (2)
Basic Teaching Tools In SL - Workshop (2)Basic Teaching Tools In SL - Workshop (2)
Basic Teaching Tools In SL - Workshop (2)
 
Distans Inom CRS
Distans Inom CRSDistans Inom CRS
Distans Inom CRS
 
Revista 21
Revista 21Revista 21
Revista 21
 
JFokus 2011 - Google Cloud for Java Developers: Platform and Monetization
JFokus 2011 - Google Cloud for Java Developers: Platform and MonetizationJFokus 2011 - Google Cloud for Java Developers: Platform and Monetization
JFokus 2011 - Google Cloud for Java Developers: Platform and Monetization
 
Microsoft azure
Microsoft azureMicrosoft azure
Microsoft azure
 
Wobi Ago-Set 2013
Wobi Ago-Set 2013Wobi Ago-Set 2013
Wobi Ago-Set 2013
 
Adventures in Azure Machine Learning from NE Bytes
Adventures in Azure Machine Learning from NE BytesAdventures in Azure Machine Learning from NE Bytes
Adventures in Azure Machine Learning from NE Bytes
 
Guia necesidades especificas de apoyo educativo ceapa
Guia necesidades especificas de apoyo educativo ceapaGuia necesidades especificas de apoyo educativo ceapa
Guia necesidades especificas de apoyo educativo ceapa
 
Cloud Storage in Azure, AWS and Google Cloud
Cloud  Storage in Azure, AWS and Google CloudCloud  Storage in Azure, AWS and Google Cloud
Cloud Storage in Azure, AWS and Google Cloud
 
TeRRAS
TeRRASTeRRAS
TeRRAS
 
Azure Machine Learning using R
Azure Machine Learning using RAzure Machine Learning using R
Azure Machine Learning using R
 

Ähnlich wie Google Cloud for Developers - Devfest Manila

Swdc google app_engine_for_business
Swdc google app_engine_for_businessSwdc google app_engine_for_business
Swdc google app_engine_for_businessPatrick Chanezon
 
Google Cloud - Boule de Cristal 2011
Google Cloud - Boule de Cristal 2011Google Cloud - Boule de Cristal 2011
Google Cloud - Boule de Cristal 2011Patrick Chanezon
 
Google App Engine for Business - Sydney Devfest
Google App Engine for Business - Sydney DevfestGoogle App Engine for Business - Sydney Devfest
Google App Engine for Business - Sydney DevfestPatrick Chanezon
 
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
 
Google Developer Day 2010 Japan: Part 1: Google App Engine for Business の概要 P...
Google Developer Day 2010 Japan: Part 1: Google App Engine for Business の概要 P...Google Developer Day 2010 Japan: Part 1: Google App Engine for Business の概要 P...
Google Developer Day 2010 Japan: Part 1: Google App Engine for Business の概要 P...Google Developer Relations Team
 
Javaedge 2010-cschalk
Javaedge 2010-cschalkJavaedge 2010-cschalk
Javaedge 2010-cschalkChris Schalk
 
Gmail voor zakelijke markt: Google Apps
Gmail voor zakelijke markt: Google AppsGmail voor zakelijke markt: Google Apps
Gmail voor zakelijke markt: Google AppsLocalyse
 
The commoditization of Information in the enterprise
The commoditization of Information in the enterpriseThe commoditization of Information in the enterprise
The commoditization of Information in the enterpriseDr. Amarjeet Shan
 
GDD Brazil 2010 - What's new in Google App Engine and Google App Engine For B...
GDD Brazil 2010 - What's new in Google App Engine and Google App Engine For B...GDD Brazil 2010 - What's new in Google App Engine and Google App Engine For B...
GDD Brazil 2010 - What's new in Google App Engine and Google App Engine For B...Patrick Chanezon
 
Google App Engine for Business 101
Google App Engine for Business 101Google App Engine for Business 101
Google App Engine for Business 101Chris Schalk
 
Introducing App Engine for Business
Introducing App Engine for BusinessIntroducing App Engine for Business
Introducing App Engine for BusinessChris Schalk
 
FeedHenry Presents at Under the Radar 2013
FeedHenry Presents at Under the Radar 2013FeedHenry Presents at Under the Radar 2013
FeedHenry Presents at Under the Radar 2013Dealmaker Media
 
Multi channel advantage
Multi channel advantageMulti channel advantage
Multi channel advantageDipesh Mukerji
 
Envisioning the Future Enterprise
Envisioning the Future EnterpriseEnvisioning the Future Enterprise
Envisioning the Future Enterprise WSO2
 
WSO2 Integration Platform: Vision and Roadmap
WSO2 Integration Platform: Vision and RoadmapWSO2 Integration Platform: Vision and Roadmap
WSO2 Integration Platform: Vision and RoadmapWSO2
 
Enterprise platform 3.0v4 for webinar
Enterprise platform 3.0v4 for webinarEnterprise platform 3.0v4 for webinar
Enterprise platform 3.0v4 for webinarJohn Mathon
 
Google apps cio peer group presentation
Google apps cio peer group presentationGoogle apps cio peer group presentation
Google apps cio peer group presentationJames Sutter
 
SoftwareONE Microsoft Licensing Update and the Future of the Microsoft Desktop
SoftwareONE Microsoft Licensing Update and the Future of the Microsoft DesktopSoftwareONE Microsoft Licensing Update and the Future of the Microsoft Desktop
SoftwareONE Microsoft Licensing Update and the Future of the Microsoft DesktopSoftwareONEPresents
 
CloudOps evening presentation from Google
CloudOps evening presentation from GoogleCloudOps evening presentation from Google
CloudOps evening presentation from GoogleAlistair Croll
 
WIPJam @ MMM - Presentation by Matt Hovey, GM
WIPJam @ MMM - Presentation by Matt Hovey, GMWIPJam @ MMM - Presentation by Matt Hovey, GM
WIPJam @ MMM - Presentation by Matt Hovey, GMWIPconnector
 

Ähnlich wie Google Cloud for Developers - Devfest Manila (20)

Swdc google app_engine_for_business
Swdc google app_engine_for_businessSwdc google app_engine_for_business
Swdc google app_engine_for_business
 
Google Cloud - Boule de Cristal 2011
Google Cloud - Boule de Cristal 2011Google Cloud - Boule de Cristal 2011
Google Cloud - Boule de Cristal 2011
 
Google App Engine for Business - Sydney Devfest
Google App Engine for Business - Sydney DevfestGoogle App Engine for Business - Sydney Devfest
Google App Engine for Business - Sydney Devfest
 
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
 
Google Developer Day 2010 Japan: Part 1: Google App Engine for Business の概要 P...
Google Developer Day 2010 Japan: Part 1: Google App Engine for Business の概要 P...Google Developer Day 2010 Japan: Part 1: Google App Engine for Business の概要 P...
Google Developer Day 2010 Japan: Part 1: Google App Engine for Business の概要 P...
 
Javaedge 2010-cschalk
Javaedge 2010-cschalkJavaedge 2010-cschalk
Javaedge 2010-cschalk
 
Gmail voor zakelijke markt: Google Apps
Gmail voor zakelijke markt: Google AppsGmail voor zakelijke markt: Google Apps
Gmail voor zakelijke markt: Google Apps
 
The commoditization of Information in the enterprise
The commoditization of Information in the enterpriseThe commoditization of Information in the enterprise
The commoditization of Information in the enterprise
 
GDD Brazil 2010 - What's new in Google App Engine and Google App Engine For B...
GDD Brazil 2010 - What's new in Google App Engine and Google App Engine For B...GDD Brazil 2010 - What's new in Google App Engine and Google App Engine For B...
GDD Brazil 2010 - What's new in Google App Engine and Google App Engine For B...
 
Google App Engine for Business 101
Google App Engine for Business 101Google App Engine for Business 101
Google App Engine for Business 101
 
Introducing App Engine for Business
Introducing App Engine for BusinessIntroducing App Engine for Business
Introducing App Engine for Business
 
FeedHenry Presents at Under the Radar 2013
FeedHenry Presents at Under the Radar 2013FeedHenry Presents at Under the Radar 2013
FeedHenry Presents at Under the Radar 2013
 
Multi channel advantage
Multi channel advantageMulti channel advantage
Multi channel advantage
 
Envisioning the Future Enterprise
Envisioning the Future EnterpriseEnvisioning the Future Enterprise
Envisioning the Future Enterprise
 
WSO2 Integration Platform: Vision and Roadmap
WSO2 Integration Platform: Vision and RoadmapWSO2 Integration Platform: Vision and Roadmap
WSO2 Integration Platform: Vision and Roadmap
 
Enterprise platform 3.0v4 for webinar
Enterprise platform 3.0v4 for webinarEnterprise platform 3.0v4 for webinar
Enterprise platform 3.0v4 for webinar
 
Google apps cio peer group presentation
Google apps cio peer group presentationGoogle apps cio peer group presentation
Google apps cio peer group presentation
 
SoftwareONE Microsoft Licensing Update and the Future of the Microsoft Desktop
SoftwareONE Microsoft Licensing Update and the Future of the Microsoft DesktopSoftwareONE Microsoft Licensing Update and the Future of the Microsoft Desktop
SoftwareONE Microsoft Licensing Update and the Future of the Microsoft Desktop
 
CloudOps evening presentation from Google
CloudOps evening presentation from GoogleCloudOps evening presentation from Google
CloudOps evening presentation from Google
 
WIPJam @ MMM - Presentation by Matt Hovey, GM
WIPJam @ MMM - Presentation by Matt Hovey, GMWIPJam @ MMM - Presentation by Matt Hovey, GM
WIPJam @ MMM - Presentation by Matt Hovey, GM
 

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
 
DockerCon EU 2017 Recap
DockerCon EU 2017 RecapDockerCon EU 2017 Recap
DockerCon EU 2017 RecapPatrick Chanezon
 
Docker Innovation Culture
Docker Innovation CultureDocker Innovation Culture
Docker Innovation CulturePatrick 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

How Accurate are Carbon Emissions Projections?
How Accurate are Carbon Emissions Projections?How Accurate are Carbon Emissions Projections?
How Accurate are Carbon Emissions Projections?IES VE
 
UiPath Platform: The Backend Engine Powering Your Automation - Session 1
UiPath Platform: The Backend Engine Powering Your Automation - Session 1UiPath Platform: The Backend Engine Powering Your Automation - Session 1
UiPath Platform: The Backend Engine Powering Your Automation - Session 1DianaGray10
 
Igniting Next Level Productivity with AI-Infused Data Integration Workflows
Igniting Next Level Productivity with AI-Infused Data Integration WorkflowsIgniting Next Level Productivity with AI-Infused Data Integration Workflows
Igniting Next Level Productivity with AI-Infused Data Integration WorkflowsSafe Software
 
20230202 - Introduction to tis-py
20230202 - Introduction to tis-py20230202 - Introduction to tis-py
20230202 - Introduction to tis-pyJamie (Taka) Wang
 
UiPath Studio Web workshop series - Day 7
UiPath Studio Web workshop series - Day 7UiPath Studio Web workshop series - Day 7
UiPath Studio Web workshop series - Day 7DianaGray10
 
UiPath Clipboard AI: "A TIME Magazine Best Invention of 2023 Unveiled"
UiPath Clipboard AI: "A TIME Magazine Best Invention of 2023 Unveiled"UiPath Clipboard AI: "A TIME Magazine Best Invention of 2023 Unveiled"
UiPath Clipboard AI: "A TIME Magazine Best Invention of 2023 Unveiled"DianaGray10
 
20230104 - machine vision
20230104 - machine vision20230104 - machine vision
20230104 - machine visionJamie (Taka) Wang
 
UiPath Studio Web workshop series - Day 6
UiPath Studio Web workshop series - Day 6UiPath Studio Web workshop series - Day 6
UiPath Studio Web workshop series - Day 6DianaGray10
 
Computer 10: Lesson 10 - Online Crimes and Hazards
Computer 10: Lesson 10 - Online Crimes and HazardsComputer 10: Lesson 10 - Online Crimes and Hazards
Computer 10: Lesson 10 - Online Crimes and HazardsSeth Reyes
 
Secure your environment with UiPath and CyberArk technologies - Session 1
Secure your environment with UiPath and CyberArk technologies - Session 1Secure your environment with UiPath and CyberArk technologies - Session 1
Secure your environment with UiPath and CyberArk technologies - Session 1DianaGray10
 
9 Steps For Building Winning Founding Team
9 Steps For Building Winning Founding Team9 Steps For Building Winning Founding Team
9 Steps For Building Winning Founding TeamAdam Moalla
 
ADOPTING WEB 3 FOR YOUR BUSINESS: A STEP-BY-STEP GUIDE
ADOPTING WEB 3 FOR YOUR BUSINESS: A STEP-BY-STEP GUIDEADOPTING WEB 3 FOR YOUR BUSINESS: A STEP-BY-STEP GUIDE
ADOPTING WEB 3 FOR YOUR BUSINESS: A STEP-BY-STEP GUIDELiveplex
 
UiPath Community: AI for UiPath Automation Developers
UiPath Community: AI for UiPath Automation DevelopersUiPath Community: AI for UiPath Automation Developers
UiPath Community: AI for UiPath Automation DevelopersUiPathCommunity
 
Videogame localization & technology_ how to enhance the power of translation.pdf
Videogame localization & technology_ how to enhance the power of translation.pdfVideogame localization & technology_ how to enhance the power of translation.pdf
Videogame localization & technology_ how to enhance the power of translation.pdfinfogdgmi
 
Cybersecurity Workshop #1.pptx
Cybersecurity Workshop #1.pptxCybersecurity Workshop #1.pptx
Cybersecurity Workshop #1.pptxGDSC PJATK
 
IEEE Computer Society’s Strategic Activities and Products including SWEBOK Guide
IEEE Computer Society’s Strategic Activities and Products including SWEBOK GuideIEEE Computer Society’s Strategic Activities and Products including SWEBOK Guide
IEEE Computer Society’s Strategic Activities and Products including SWEBOK GuideHironori Washizaki
 
AI Fame Rush Review – Virtual Influencer Creation In Just Minutes
AI Fame Rush Review – Virtual Influencer Creation In Just MinutesAI Fame Rush Review – Virtual Influencer Creation In Just Minutes
AI Fame Rush Review – Virtual Influencer Creation In Just MinutesMd Hossain Ali
 
Comparing Sidecar-less Service Mesh from Cilium and Istio
Comparing Sidecar-less Service Mesh from Cilium and IstioComparing Sidecar-less Service Mesh from Cilium and Istio
Comparing Sidecar-less Service Mesh from Cilium and IstioChristian Posta
 
IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019
IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019
IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019IES VE
 
activity_diagram_combine_v4_20190827.pdfactivity_diagram_combine_v4_20190827.pdf
activity_diagram_combine_v4_20190827.pdfactivity_diagram_combine_v4_20190827.pdfactivity_diagram_combine_v4_20190827.pdfactivity_diagram_combine_v4_20190827.pdf
activity_diagram_combine_v4_20190827.pdfactivity_diagram_combine_v4_20190827.pdfJamie (Taka) Wang
 

KĂźrzlich hochgeladen (20)

How Accurate are Carbon Emissions Projections?
How Accurate are Carbon Emissions Projections?How Accurate are Carbon Emissions Projections?
How Accurate are Carbon Emissions Projections?
 
UiPath Platform: The Backend Engine Powering Your Automation - Session 1
UiPath Platform: The Backend Engine Powering Your Automation - Session 1UiPath Platform: The Backend Engine Powering Your Automation - Session 1
UiPath Platform: The Backend Engine Powering Your Automation - Session 1
 
Igniting Next Level Productivity with AI-Infused Data Integration Workflows
Igniting Next Level Productivity with AI-Infused Data Integration WorkflowsIgniting Next Level Productivity with AI-Infused Data Integration Workflows
Igniting Next Level Productivity with AI-Infused Data Integration Workflows
 
20230202 - Introduction to tis-py
20230202 - Introduction to tis-py20230202 - Introduction to tis-py
20230202 - Introduction to tis-py
 
UiPath Studio Web workshop series - Day 7
UiPath Studio Web workshop series - Day 7UiPath Studio Web workshop series - Day 7
UiPath Studio Web workshop series - Day 7
 
UiPath Clipboard AI: "A TIME Magazine Best Invention of 2023 Unveiled"
UiPath Clipboard AI: "A TIME Magazine Best Invention of 2023 Unveiled"UiPath Clipboard AI: "A TIME Magazine Best Invention of 2023 Unveiled"
UiPath Clipboard AI: "A TIME Magazine Best Invention of 2023 Unveiled"
 
20230104 - machine vision
20230104 - machine vision20230104 - machine vision
20230104 - machine vision
 
UiPath Studio Web workshop series - Day 6
UiPath Studio Web workshop series - Day 6UiPath Studio Web workshop series - Day 6
UiPath Studio Web workshop series - Day 6
 
Computer 10: Lesson 10 - Online Crimes and Hazards
Computer 10: Lesson 10 - Online Crimes and HazardsComputer 10: Lesson 10 - Online Crimes and Hazards
Computer 10: Lesson 10 - Online Crimes and Hazards
 
Secure your environment with UiPath and CyberArk technologies - Session 1
Secure your environment with UiPath and CyberArk technologies - Session 1Secure your environment with UiPath and CyberArk technologies - Session 1
Secure your environment with UiPath and CyberArk technologies - Session 1
 
9 Steps For Building Winning Founding Team
9 Steps For Building Winning Founding Team9 Steps For Building Winning Founding Team
9 Steps For Building Winning Founding Team
 
ADOPTING WEB 3 FOR YOUR BUSINESS: A STEP-BY-STEP GUIDE
ADOPTING WEB 3 FOR YOUR BUSINESS: A STEP-BY-STEP GUIDEADOPTING WEB 3 FOR YOUR BUSINESS: A STEP-BY-STEP GUIDE
ADOPTING WEB 3 FOR YOUR BUSINESS: A STEP-BY-STEP GUIDE
 
UiPath Community: AI for UiPath Automation Developers
UiPath Community: AI for UiPath Automation DevelopersUiPath Community: AI for UiPath Automation Developers
UiPath Community: AI for UiPath Automation Developers
 
Videogame localization & technology_ how to enhance the power of translation.pdf
Videogame localization & technology_ how to enhance the power of translation.pdfVideogame localization & technology_ how to enhance the power of translation.pdf
Videogame localization & technology_ how to enhance the power of translation.pdf
 
Cybersecurity Workshop #1.pptx
Cybersecurity Workshop #1.pptxCybersecurity Workshop #1.pptx
Cybersecurity Workshop #1.pptx
 
IEEE Computer Society’s Strategic Activities and Products including SWEBOK Guide
IEEE Computer Society’s Strategic Activities and Products including SWEBOK GuideIEEE Computer Society’s Strategic Activities and Products including SWEBOK Guide
IEEE Computer Society’s Strategic Activities and Products including SWEBOK Guide
 
AI Fame Rush Review – Virtual Influencer Creation In Just Minutes
AI Fame Rush Review – Virtual Influencer Creation In Just MinutesAI Fame Rush Review – Virtual Influencer Creation In Just Minutes
AI Fame Rush Review – Virtual Influencer Creation In Just Minutes
 
Comparing Sidecar-less Service Mesh from Cilium and Istio
Comparing Sidecar-less Service Mesh from Cilium and IstioComparing Sidecar-less Service Mesh from Cilium and Istio
Comparing Sidecar-less Service Mesh from Cilium and Istio
 
IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019
IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019
IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019
 
activity_diagram_combine_v4_20190827.pdfactivity_diagram_combine_v4_20190827.pdf
activity_diagram_combine_v4_20190827.pdfactivity_diagram_combine_v4_20190827.pdfactivity_diagram_combine_v4_20190827.pdfactivity_diagram_combine_v4_20190827.pdf
activity_diagram_combine_v4_20190827.pdfactivity_diagram_combine_v4_20190827.pdf
 

Google Cloud for Developers - Devfest Manila

  • 1. Google Cloud for Developers Apps, Apps Marketplace, App Engine for Business, Storage, Prediction, Bigquery Patrick Chanezon Developer Advocate #devfest Manila chanezon@google.com http://twitter.com/chanezon July 6 2010 2 Tuesday, July 6, 2010
  • 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 Tuesday, July 6, 2010
  • 4. Build and Buy all your enterprise cloud apps... Google Apps Platform Enterprise Firewall 4 Enterprise Data Authentication Enterprise Services User Management Tuesday, July 6, 2010
  • 5. Build and Buy all your enterprise cloud apps... Buy from Google Google Apps for Business Google Apps Platform Enterprise Firewall 4 Enterprise Data Authentication Enterprise Services User Management Tuesday, July 6, 2010
  • 6. 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 4 Enterprise Data Authentication Enterprise Services User Management Tuesday, July 6, 2010
  • 7. 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 4 Enterprise Data Authentication Enterprise Services User Management Tuesday, July 6, 2010
  • 8. Customers want more Apps Business in the cloud Google Apps 5 Tuesday, July 6, 2010
  • 11. Google Apps is Focused on Messaging & Collaboration Gives every employee powerful messaging and collaboration tools without the usual IT hassle and cost Tuesday, July 6, 2010
  • 12. 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 Tuesday, July 6, 2010
  • 13. 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 2M+ businesses & 25M+ users - through Google Apps resellers - to wherever Google Apps goes - One-time fee of $100, 20% rev share starting 2H'10 Tuesday, July 6, 2010
  • 14. Everything in the Cloud Tuesday, July 6, 2010
  • 15. Integrating with Google Apps & the Marketplace Manifest Tuesday, July 6, 2010
  • 16. Demo Google Apps Marketplace Tuesday, July 6, 2010
  • 17. How it's done - Single Sign On Tuesday, July 6, 2010
  • 18. Single Sign On OpenID with Google Apps bob@foo.com Welcome Bob! *********** Sounds complicated, but not hard in practice! Tuesday, July 6, 2010
  • 19. 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 Tuesday, July 6, 2010
  • 20. 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; } Tuesday, July 6, 2010
  • 21. 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, 'rst'); $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; Tuesday, July 6, 2010
  • 22. 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->getDisplayIdentier();   $ax = new Auth_OpenID_AX_FetchResponse();   $ax_resp = $ax->fromSuccessResponse($response);   $email = $ax_resp->data[$AX_SCHEMA_EMAIL][0];   $rstName = $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, $rstName,       $lastName); }  Tuesday, July 6, 2010
  • 23. 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> Tuesday, July 6, 2010
  • 24. 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 Tuesday, July 6, 2010
  • 25. How it's done - Data Access Tuesday, July 6, 2010
  • 26. 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> Tuesday, July 6, 2010
  • 27. 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; } Tuesday, July 6, 2010
  • 28. 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(),    'rstName' => $name->getGivenName(),    'lastName' => $name->getFamilyName(),    'admin' => $login->getAdmin()); } Tuesday, July 6, 2010
  • 29. 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 Tuesday, July 6, 2010
  • 30. Gadgets - your real estate in Google Apps Tuesday, July 6, 2010
  • 31. 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 Tuesday, July 6, 2010
  • 32. Gmail contextual gadgets • Detect e-mail content via regular expressions • Display and collect actionable business information directly in Gmail, below each message Tuesday, July 6, 2010
  • 35. Calendar sidebar gadgets • Can detect: o currently-displayed date range o currently-selected event title attendees date/time Tuesday, July 6, 2010
  • 39. 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://.../cong.php?domain=$ {DOMAIN_NAME}"/>     <Link rel="deletion-policy" href="http://.../deletion-policy.php"/>     <Link rel="support" href="http://.../support.php"/>   </Support> Tuesday, July 6, 2010
  • 40. 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> Tuesday, July 6, 2010
  • 41. 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> Tuesday, July 6, 2010
  • 42. Listing in the Google Apps Marketplace Tuesday, July 6, 2010
  • 43. Listing in the Google Apps Marketplace Tuesday, July 6, 2010
  • 44. Reach 25 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 Tuesday, July 6, 2010
  • 46. Roadmap - General • Recent Launches o Gmail contextual gadgets o OAuth support for Gmail's IMAP and SMTP Tuesday, July 6, 2010
  • 47. Roadmap - Billing • Goals o Simplified invoicing & payments for customers o Consistent experience across apps • Planned 2nd-half of 2010 o Required for installable apps after transition period o Revenue sharing starts once APIs adopted • Features o Unified billing for apps purchased in marketplace o Support for a variety of pricing & licensing models o APIs for customization and up-selling Tuesday, July 6, 2010
  • 49. 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 Tuesday, July 6, 2010
  • 50. 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 47 Enterprise Data Authentication Enterprise Services User Management Tuesday, July 6, 2010
  • 52. Leveraging Google's Leadership in Cloud Computing • Massive data center operations • Purpose built hardware • Multi tenant software platform at Internet scale 49 Tuesday, July 6, 2010
  • 53. Google App Engine - Easy to build - Easy to maintain - Easy to scale 50 Tuesday, July 6, 2010
  • 54. 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 51 Tuesday, July 6, 2010
  • 55. App Engine Services Memcache Datastore URL Fetch Mail XMPP Task Queue Images Blobstore User Service 52 Tuesday, July 6, 2010
  • 56. 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 53 Tuesday, July 6, 2010
  • 57. Purchase additional resources * * free monthly quota of ~5 million page views still in full effect 54 Tuesday, July 6, 2010
  • 58. By the numbers 250,000+ Developers 100,000+ Apps 0.5B+ daily Pageviews 55 Tuesday, July 6, 2010
  • 59. App Engine 56 Tuesday, July 6, 2010
  • 60. Socialwok 57 Tuesday, July 6, 2010
  • 61. Social networking at scale 58 Tuesday, July 6, 2010
  • 62. Social networking at scale >62M Users 3.6M DAUs on Facebook 1.9M DAUs on MySpace Orkut, Bebo, Hi5, Friendster, Hyves, Ning, … 58 Tuesday, July 6, 2010
  • 63. Chillingo Crystal 59 Gaming meets Social Zombie Dash Angry Birds LITE Underground Meltdown Cogs Mission Deep Sea Speed Forge Guerilla Bob Ravensword: Angry Birds Extreme The Fallen King Tuesday, July 6, 2010
  • 64. gigy Socialize 60 Tuesday, July 6, 2010
  • 65. gigy Socialize - traffic 61 Tuesday, July 6, 2010
  • 66. gigy Socialize - traffic 61 Tuesday, July 6, 2010
  • 67. App Engine 62 Tuesday, July 6, 2010
  • 68. Google App Engine for Business Tuesday, July 6, 2010
  • 69. Build your Enterprise Apps on Google • Easy to Build - Java standards • Easy to Deploy - push-button deployment • Easy to Scale - from small apps to millions of users 64 Tuesday, July 6, 2010
  • 70. Google App Engine for Business • Centralized administration - controls • Reliability and support - SLA, Premium support • Secure by default - only your users • Pricing that makes sense - pay only for what you use • Enterprise features - hosted SQL, SSL on your domain 65 Tuesday, July 6, 2010
  • 71. Understanding the Cloud Computing Landscape SaaS PaaS IaaS 66 Source: Gartner AADI Summit Dec 2009 Tuesday, July 6, 2010
  • 72. Google's Cloud Offerings 1. Our Apps 2. 3rd party Apps: Google Apps Marketplace SaaS 3. ________ PaaS Google App Engine Google Storage for Devs IaaS Machine Learning BigQuery 67 Tuesday, July 6, 2010
  • 73. Google's Cloud Offerings Your Apps 1. Our Apps 2. 3rd party Apps: Google Apps Marketplace SaaS 3. ________ PaaS Google App Engine Google Storage for Devs IaaS Machine Learning BigQuery 67 Tuesday, July 6, 2010
  • 74. Domain Console 68 Tuesday, July 6, 2010
  • 75. Domain Console Like the regular admin console Designed to manage enterprises with a portfolio of apps • Keep track of all apps in a domain • Access Control: view apps, deploy • Global Settings: apply to all apps in the domain • Billing rolling up to single account • DNS configuration done only once: *.ext.example.com • All apps by default for logged in users from domain 69 Tuesday, July 6, 2010
  • 76. Google Apps Integration • SSO/SSO delegation • APIs for most Google Apps for integration   70 Tuesday, July 6, 2010
  • 77. Federate your on-premise data 71 Tuesday, July 6, 2010
  • 78. Secure Data Connector (SDC) 72 Tuesday, July 6, 2010
  • 79. Using Secure Data Connector 73 Tuesday, July 6, 2010
  • 80. Using Secure Data Connector Installation - Determine access rules - Configure and install SDC 73 Tuesday, July 6, 2010
  • 81. Using Secure Data Connector Installation - Determine access rules - Configure and install SDC Getting ready to serve - SDC opens SSL tunnel 73 Tuesday, July 6, 2010
  • 82. Using Secure Data Connector Installation - Determine access rules - Configure and install SDC Getting ready to serve - SDC opens SSL tunnel Serving - User request sent to App Engine - User authenticated - App makes request through tunnel - SDC performs access checks - Results returned 73 Tuesday, July 6, 2010
  • 83. 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) 74 Tuesday, July 6, 2010
  • 84. App Engine for Business Support and SLA 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 75 Tuesday, July 6, 2010
  • 85. Google Developer Qualification Chrome Gadgets Search App Engine JS Maps API KML 3D Extensions 76 Tuesday, July 6, 2010
  • 86. Two years in review Apr 2008 Python launch May 2008 Memcache, Images API Jul 2008 Logs export Aug 2008 Batch write/delete Oct 2008 HTTPS support Dec 2008 Status dashboard, quota details Feb 2009 Billing, larger files Apr 2009 Java launch, DB import, cron support, SDC May 2009 Key-only queries Jun 2009 Task queues Aug 2009 Kindless queries Sep 2009 XMPP Oct 2009 Incoming email Dec 2009 Blobstore Feb 2010 Datastore cursors, Appstats Mar 2010 Read policies, IPv6 May 2010 App Engine for Business 77 Tuesday, July 6, 2010
  • 87. An evolving platform 78 Tuesday, July 6, 2010
  • 88. App Engine Roadmap Improved monitoring/alerting Background servers SSL for your domain Control datastore availability vs. latency trade-offs Datastore dump and restore facility Mapping operations across datasets Raise request/response size limits for some APIs Reserved instances Built-in support for OAuth & OpenID Channel API 79 Tuesday, July 6, 2010
  • 90. Google Storage • Cloud-based binary object store o Structured as buckets and objects o Many buckets, many objects, large objects • You control your data o Private, shared, or public o Get your data back out at any time • For developers o RESTful API o Many SDKs + tools o Integration with other Google services Tuesday, July 6, 2010
  • 91. Google Storage Benefits High Performance and Scalability backed by Google infrastructure Flexible Authentication & Sharing Models Get Started Fast with Google & 3rd Party Utilities Tuesday, July 6, 2010
  • 92. Demo: Get Started In < 1 Minute • click emailed invitation link • read & accept Terms Of Service • start using GS Manager Tuesday, July 6, 2010
  • 93. Google services using Google Storage Partner Reporting Data Liberation Haiti Relief Imagery Partner Reporting Google Google BigQuery Prediction API Tuesday, July 6, 2010
  • 96. Google Storage Overview • Fast, scalable, highly available object store o Objects of any type and practically any size o Lots of objects, lots of buckets o All data replicated to multiple US data centers o Read-your-writes data consistency • Easy, flexible authentication and sharing o Key-based authentication o Authenticated downloads from a web browser o Sharing with individuals and groups • Google products and 3rd party tools/services o Compatible with many available tools and libraries o Getting started toolkit Tuesday, July 6, 2010
  • 97. API Concepts • RESTful API o Verbs: GET, PUT, POST, HEAD, DELETE o Resources: identified by URI • Buckets o Flat containers • Objects o Any type, practically any size • Access Control for Google Accounts o Google Groups • Two Ways to Authenticate Requests o Sign request using access keys o Web browser login Tuesday, July 6, 2010
  • 98. Sample Signed Request PUT /mybucket/My/Long/Object/Name HTTP/1.1 Host: commondatastorage.googleapis.com:443 Accept-Encoding: identity Date: Sat, 08 May 2010 19:04:21 GMT Content-Length: 28 Content-Type: text/plain Authorization:GOOG1 GOOG4622809698762217:J+y3mj5GThfI6Ed1MqLi7JpCq5Y=   This is my object's content. Tuesday, July 6, 2010
  • 99. Sharing and ACLs • Data can be private or shared • Bucket ACL determines: o who can list objects (READ) o who can create / delete objects (WRITE) o who can read / write bucket ACL (FULL_CONTROL) • Object ACL determines: o who can read objects (READ) o who can read / write object ACL (FULL_CONTROL) Tuesday, July 6, 2010
  • 100. Read-Your-Writes Consistency • Once a write succeeds, all future reads will see a snapshot that includes that write... no matter what replica they talk to • Once any reader sees a result (even if the write previously appeared to fail) then all future readers will see a snapshot that includes the write Tuesday, July 6, 2010
  • 101. Interoperability Gives You Choice • Data Liberation o You shouldn't be locked in by your choice of storage provider • Choice of tools o You should be able to use the same tools to manage your data, regardless of where you keep it Tuesday, July 6, 2010
  • 102. Demo: Using Google Storage Tuesday, July 6, 2010
  • 103. Computing in the Cloud: App Engine Sample os.environ['BOTO_CONFIG'] = 'boto.cfg' from boto import storage_uri # <other imports omitted> class MainPage(webapp.RequestHandler):   def get(self):     self.response.out.write('<html><body>')     uri = storage_uri('gs://pub/shakespeare/rose.txt')     poem = uri.get_contents_as_string()     self.response.out.write('<pre>' + poem + '</pre>')     self.response.out.write('</body></html>') def main():   application = webapp.WSGIApplication([('/', MainPage)])   run_wsgi_app(application) if __name__ == "__main__":   main() Tuesday, July 6, 2010
  • 104. Pricing and Availability • Pay as you go pricing • Storage - $0.17/GB/month • Network o Upload data to Google  $0.10/GB o Download data from Google  $0.15/GB for Americas and EMEA  $0.30/GB for APAC • Requests o PUT, POST, LIST - $0.01 per 1,000 Requests o GET, HEAD - $0.01 per 10,000 Requests • Free storage (up to 100GB) during preview period o No SLA • http://code.google.com/apis/storage Tuesday, July 6, 2010
  • 105. What's Coming Up • Service Level Agreement • Support • Available to Premium Apps Customers • Technical Features: o Group support in ACLs o Resumable uploads o Additional regions Tuesday, July 6, 2010
  • 106. Google BigQuery and Prediction APIs Tuesday, July 6, 2010
  • 107. Overview • Big Data - Challenging and Important • Google has tools for deep data analysis • Now you can use these tools Tuesday, July 6, 2010
  • 108. Overview • Big Data - Challenging and Important • Google has tools for deep data analysis • Now you can use these tools • Announcing two new APIs to get more from your data: 1.BigQuery 2.Prediction API Tuesday, July 6, 2010
  • 109. Benefits • Built on Google technology • Scalability • Security • Sharing • Easy integration with Google App Engine, Google Spreadsheets, .... Tuesday, July 6, 2010
  • 110. Using Your Data with BigQuery & Prediction API 1. Upload Upload your data Your Data to Google Storage Import to tables BigQuery 2. Process Train a model Prediction API Run queries Your Apps 3. Act Make predictions Tuesday, July 6, 2010
  • 111. BigQuery Interactive Analysis of Big Data Tuesday, July 6, 2010
  • 112. Big Data is Challenging Starts with Scale Tuesday, July 6, 2010
  • 113. Many Use Cases ... Interactive Tools Trends Spam Detection Web Network Dashboards Optimization Tuesday, July 6, 2010
  • 114. Demo: Analyzing M-Lab An open platform for advanced network researchďťż http://www.measurementlab.net/ Tuesday, July 6, 2010
  • 116. 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 Tuesday, July 6, 2010
  • 117. Using Your Data with BigQuery Upload to Google Storage 1. Upload Import data into a BigQuery Table 2. Import - No need to define indices, keys, etc.. Execute queries via APIs 3. Query - No provisioning machines or resources Tuesday, July 6, 2010
  • 118. Writing Queries Compact subset of SQL o SELECT ... FROM ... WHERE ... GROUP BY ... ORDER BY ... LIMIT ...; Common functions o Math, String, Time, ... Statistical approximations o TOP o COUNT DISTINCT Tuesday, July 6, 2010
  • 119. API in a Minute GET /bigquery/v1/tables/{table name} GET /bigquery/v1/query?q={query} Sample JSON Reply: {   "results": {     "elds": { [       {"id":"COUNT(*)","type":"uint64"}, ... ]     },     "rows": [       {"f":[{"v":"2949"}, ...]},       {"f":[{"v":"5387"}, ...]}, ... ]   } } Also supports JSON-RPC Tuesday, July 6, 2010
  • 120. Security and Privacy Standard Google Authentication • Client Login • OAuth • AuthSub HTTPS support • protects your credentials • protects your data Use Google Storage for Developers to manage access Tuesday, July 6, 2010
  • 121. Large Corpus Analysis Wikimedia Revision History Wikimedia Revision history data from: http://download.wikimedia.org/enwiki/latest/ enwiki-latest-pages-meta-history.xml.7z Tuesday, July 6, 2010
  • 122. Using BigQuery Shell Python DB API 2.0 + B. Clapper's sqlcmd http://www.clapper.org/software/python/sqlcmd/ Tuesday, July 6, 2010
  • 123. BigQuery from a Spreadsheet Tuesday, July 6, 2010
  • 124. BigQuery from a Spreadsheet Tuesday, July 6, 2010
  • 125. BigQuery Recap • Interactive analysis of very large data sets • Simple SQL query language • APIs enable a variety of use cases Tuesday, July 6, 2010
  • 126. Google Prediction API Machine learning as a web service Tuesday, July 6, 2010
  • 127. Prediction API 101 • Google's sophisticated machine learning algorithms • Available as an on-demand RESTful HTTP web service • Train a model offline/asynchronously • Predict results in real-time "Tous pour un, un pour tous, Prediction API "french" c'est notre devise." Tuesday, July 6, 2010
  • 128. How does it work? "english" The quick brown fox jumped over the The Prediction API lazy dog. finds relevant "english" To err is human, but to really foul things features in the up you need a computer. sample data during "spanish" No hay mal que por bien no venga. training. "spanish" La tercera es la vencida. The Prediction API later searches for ? To be or not to be, that is the question. those features during prediction. ? La fe mueve montaĂąas. Tuesday, July 6, 2010
  • 129. 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 Counselling ... and many more ... Tuesday, July 6, 2010
  • 130. Three simple steps to use the Prediction API Upload your Use the API, gsutil or any 1. Upload training data to compatible utility to upload Google Storage your data to Google Storage Build a model prediction/v1/train/{} 2. Train from your data POST : a training request prediction/v1/query/{} Make new GET : model info 3. Predict predictions POST : a prediction request Tuesday, July 6, 2010
  • 131. Prediction API Demo Automatically categorize and respond to emails by language • Customer: ACME Corp, a multinational organization • Goal: Respond to customer emails in their language • Data: Many emails, tagged with their languages • Outcome: Predict language and respond accordingly Tuesday, July 6, 2010
  • 132. Step 1: Upload Upload your training data to Google Storage • Training data: outputs and input features • Data format: comma separated value format (CSV) $ head -n 2 ${data} "english","To err is human, but to really ..." "spanish","No hay mal que por bien no venga." Upload to Google Storage $ gsutil cp ${data} gs://io10/${data} Tuesday, July 6, 2010
  • 133. Step 2: Train Create a new model by training on data To train a model: POST prediction/v1/train/${data} Training runs asynchronously. To see if it has finished: GET prediction/v1/query/${data} {"data": {     "resource": {       "data": "${data}",        "modelinfo": "estimated accuracy: ${acc}"}}} Tuesday, July 6, 2010
  • 134. Step 3: Predict Apply the trained model to make predictions on new data POST prediction/v1/query/${data} { data : {    "instance" : {     "input" : { "text" : [       "J'aime X! C'est le meilleur" ]}}}} Tuesday, July 6, 2010
  • 135. Step 3: Predict Apply the trained model to make predictions on new data POST prediction/v1/query/${data} { data : {    "instance" : {     "input" : { "text" : [       "J'aime X! C'est le meilleur" ]}     "output" :     {"output_label" : "french"}}}} Tuesday, July 6, 2010
  • 136. Step 3: Predict Apply the trained model to make predictions on new data import httplib header = {"Content-Type" : "application/json"}#...put new data in JSON format in params variable conn = httplib.HTTPConnection("www.googleapis.com")conn.request("P OST",   "/prediction/v1/query/${data}",  params, header)print conn.getresponse() Tuesday, July 6, 2010
  • 137. Prediction API Capabilities Data • Input Features: numeric or unstructured text • Output: up to 100s of discrete categories Training • Many machine learning techniques • Automatically selected • Performed asynchronously Access from many platforms: • Web app from Google App Engine • Apps Script (e.g. from Google Spreadsheet) • Desktop app Tuesday, July 6, 2010
  • 138. Prediction API and BigQuery Demo: Tagger Input Data: http://delic.io.us/chanezon – 6000 urls, 14000 tags in 6 years Analyze my delicious tags – use delicious API to get all tagged urls – cleanup data, resize (100Mb limit) – PUT data in Google storage – Define table – analyze Predict how I would tag a technology article – input is tag,url,text – send new url and text – get predicted tag Tuesday, July 6, 2010
  • 139. Get the BigQuery & Prediction APIs • Preview, opened to a limited number of developers • You need a Google Storage for Developers account • To request access and get more information, go to: o http://code.google.com/apis/bigquery o http://code.google.com/apis/prediction Tuesday, July 6, 2010
  • 140. Acknowledgement Thanks to many Googlers from their slides, most available at the Google IO 2010 website 131 Tuesday, July 6, 2010
  • 141. Thank you Read more http://code.google.com/appengine/ Contact info Patrick Chanezon Developer Advocate chanezon@google.com http://twitter.com/chanezon Questions ? 132 Tuesday, July 6, 2010