Google App Engine - Java Style
Upcoming SlideShare
Loading in...5
×
 

Google App Engine - Java Style

on

  • 5,578 views

Overview of Google App Engine Java version. Presented at Stockholm Google Technology Usergroup (GTUG) 2010-01-14

Overview of Google App Engine Java version. Presented at Stockholm Google Technology Usergroup (GTUG) 2010-01-14

Statistics

Views

Total Views
5,578
Slideshare-icon Views on SlideShare
5,504
Embed Views
74

Actions

Likes
5
Downloads
129
Comments
0

4 Embeds 74

http://www.slideshare.net 39
http://www.techiegyan.com 31
http://www.linkedin.com 2
https://www.linkedin.com 2

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

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

    Google App Engine - Java Style Google App Engine - Java Style Presentation Transcript

    • Google App Engine Java style Peter Sönnergren Lind GTUG Stockholm 2010-01-14
    • whoami
      • Java dev since like 1999
      • Ruby enthusiast
      • Consultant @ Devoteam Quaint
      • Owner and CTO @ Pockus
        • A book club that doesn't suck
        • http://www.pockus.se
    • App Engine 101
      • Googles Cloud offering
      • Run your web apps on Google's infrastructure
      • Platform As A Service
      • Unique Selling Point - Scalability on demand
        • Instances are added when needed
      • Two flavors
        • Python since spring 2008
        • Java since spring 2009
      • Technology preview :S
    • The first hit is always free
      • App quotas
        • Free to start, 5 million pageviews/month
        • 10 apps per user
        • Can enable billing
        • AdWords payment model
        • $32 worth of resources/month
      • http://yourapp.appspot.com
      • http://www.yourapp.com using Google Apps for Domains
    • GAE/J in a nutshell
      • A place to run Java Servlets (2.5 API)
      • Meaning support for
        • Servlets/JSP
        • Web Frameworks (Spring MVC/Wicket/Tapestry/Struts ...)
      • In a sandbox
        • All apps in isolation
        • Subset of the JRE
      • Jetty customized
        • Don't use the Jetty features, this might change
    • Limitations
      • JRE White List
      • No threads
        • Cron jobs
        • Task queues
      • No outgoing connections (except mail/http/xmpp)
      • Read-only FS
      • 30 second request limit, no push (upcoming?)
      • App spin-up time
      • No SLA available
    • Datastore - BigTable
      • NoSQL
      • Stores “entities”
      • Parent-Child relationships
      • Add “properties” at will (beware of restrictions in queries)
      • GQL to query
      • Transactions – but not global like in databases
      • != for one column only
      • Max number of entities returned is 1000
    • Services – using standard APIs
      • Datastore (BigTable)
        • JDO
        • JPA
      • Memcache – javax.cache
      • URL Fetch – java.net
      • Mail – javax.mail
      • Low-level APIs are available
    • Services – Google APIs
      • Google Accounts
      • XMPP
      • Image manipulation
      • Task Queues
      • Blobstore
      • Cron jobs
    • Teh awesome
      • Scalability is job #1
        • On demand
      • Easy to get started
      • No sysadm work needed
      • An App Engine app is built to scale
        • No long running requests
        • NoSQL
        • Move processing out of persistence layer
    • Getting started
      • Sign up using phone nr (for verification sms)
      • Create app id
      • Download Eclipse plugin
      • Or use SDK with scripts
      • Generate app
      • Push to cloud
    • Development
      • dev_appserver.sh
        • User service
        • Datastore
        • Et al, but no cron or tasks
        • Generates indexes for Datastore
      • Blacklist/whitelist emulation
      • Eclipse plugin (official)
        • Netbeans, IntelliJ
      • Support for mocking the environment for testing
    • Administration
      • https://appengine.google.com
      • One app can have several developers
      • Concurrent versions
        • http://<version>.latest.appspot.com
      • Manage billing settings
        • Bandwidth/CPU time/storage/mail
      • Logs
      • Datastore viewer
    • Language support
      • App Engine accepts Java byte code, not source code
      • Permissive with reflection magic, creating classloaders etc
      • App Engine team works together with JVM Lang implementors
      • http://lotrepls.appspot.com/
        • beanshell, clojure, groovy, javascript, jython, jruby, scala, scheme
      • PHP through Caucho/Quercus
    • Vendor lock-in?
      • Use standard Java APIs
      • Demoed on IBM Websphere
      • http://code.google.com/p/appscale/
      • http://code.google.com/p/typhoonae/
        • Python only
      • http://arachnid.github.com/bdbdatastore/
        • Use dev_appserver with alternative datastore
    • Demo Your first cloud application in a few minutes!
    • Resources
      • http://code.google.com/appengine/
      • http://googleappengine.blogspot.com/
      • Programming Google App Engine
        • On O'Reilly
        • Written by a Googler
      • Google Groups
        • http://code.google.com/appengine/community.html
    • Contact
      • mailto:peter@lind.be
      • http://github.com/peterlind
      • http://twitter.com/peter_lind