A review and update presentation on Google App Engine's latest features up through version 1.5.3 and including new experimental features. This presentation was given to the San Diego GTUG on Aug 26, 2011.
2. Agenda
β What is App Engine?
β Part I: App Engine Production Updates
β Growth trajectory
β App Engine Success so far
β A Big Production Update: App Engine Leaving
Preview
β Part II: App Engine Technical Updates
β Go Runtime, Backends, Channel API, FTS,
Mapreduce
3. What is App Engine?
Build and run your web apps on Googleβs infrastructure
β Easy to build
β Easy to maintain
β Easy to scale
Focus on building your app, let us wear the pagers!
4. Cloud landscape as Gartner Sees It
SaaS
PaaS
IaaS
Source: Gartner AADI Summit Dec 2009
5. What is App Engine?
PaaS Development Platform in a Box
β Downloadable SDK
β Application runtimes
β Java, Python, Go
β Local development tools
β Eclipse plugin
β Specialized api services
β Cloud based dashboard
β Automatically scales
β Built in fault tolerance, load
balancing
β Continuously evolving...
8. Agenda
β What is App Engine?
β Part I: App Engine Production Updates
β Growth trajectory
β App Engine Success so far
β A Big Production Update: App Engine Leaving
Preview
β Part II: App Engine Technical Updates
β Go Runtime, Backends, Channel API, FTS,
Mapreduce
9. App Engine Evolution Through The Years
2008 2009 2010 2011
App Engine Batch write/read Java Task Queues Blobstore Multitenancy Hi-Replication
Launch Https DB Import XMPP Appstats Instance Console Datastore
Python Status- cron incoming email cursors Always On Channel API
Datastore Dashboard Mapper hi-perf imag Files API
Memcache 10 min tasks Remote API
logs export Prosp Search
10. App Engine - By the Numbers
100,000+
Active developers per Month
200,000+
Active apps per week
1.5B+
Pageviews per day
12. Royal Wedding - Scalability Success
Official Royal Wedding blog
on App Engine
On Wedding day, served:
β Up to 32k requests per second
β 37.7 million pageviews
β 13.7 million visitors
http://goo.gl/F1SGc
15. WebFilings Financial SaaS on App Engine
Enterprise customers:
β Procter & Gamble
β Delta Airlines
β Valero Energy
β Sprint/Nextel
β eBay
β United Airlines
β Dish Network
β ...
Recently signed:
β One of the world's largest
banks
β The world's largest retailer
β One of the largest US
auto manufacturers
http://www.webfilings.com/customers/valued_customers
16. App Engine: Certified Security
App Engine is now fully SAS70/SSAE16/ISAE
3402 Certified!
17. One Big Production Update...
.... App Engine is coming out of preview!
β http://googleappengine.blogspot.com/2011/05/year-ahead-for-
google-app-engine.html
18. Production App Engine Features
App Engine Leaving Preview in 2011!
β Full Google Product - 3 year deprecation support
β 99.95% SLA for all paid users
β Operational and Developer Support available
β Billing via invoice
β Ongoing feature delivery: custom domain
SSL, MapReduce, etc..
19. What Does Leaving Preview Mean?
β Long-term committment by Google to App Engine
β Long-term committment by App Engine to users!
β It's a real product now, Enterprises can trust in it!
β http://googleappengine.blogspot.com/2011/05/year-
ahead-for-google-app-engine.html
20. Production App Engine Pricing
β Usage types:
β Free - similar to today
β Paid - $9/app/mo (+ usage) including SLA
β Premier - $500/account/mo (+ usage) including operational
support
β Add-on fee for special services
β For example: SSL for custom domains will be available for
monthly fee
21. Production App Engine Further Details
β Instance based charging
β CPU-hours replaced by Instance Hours (IH)
β 1 instance running for 1 hour
β Similar to instances in admin console today
β APIs
β Currently charged per CPU-hour
β Will be charged per operation
β FAQ
β https://groups.google.com/group/google-
appengine/browse_thread/thread/a1bfa432e0c002a7
β https://groups.google.com/group/google-
appengine/browse_thread/thread/1e5ba8835fdade7e
22. Agenda
β What is App Engine?
β Part I: App Engine Production Updates
β Growth trajectory
β App Engine Success so far
β A Big Production Update: App Engine Leaving
Preview
β Part II: App Engine Technical Updates
β Go Runtime, Backends, Pull Queues, Channel
API, FTS, MapReduce
23. App Engine 1.5 Updates
β Introduced at Google IO, May 2011
24. 'Go' added as third language runtime
β Released SDK for Mac & Linux
β Windows port in the works
β Uses tweaked Python SDK tools
β Launched for production 1.5.2 (Jul 2011)
β http://blog.golang.org/2011/05/go-and-google-app-engine.html
25. High Replication Datastore now default
β Master/Slave (M/S) original App Engine datastore
β High Replication Datastore (HRD) uses Paxos algorithm
β Was originally 3x the cost of M/S*
β Slightly slower (distributed writes)
β Queries eventually consistent
β Well-received
β http://googleappengine.blogspot.com/2011/03/high-
replication-datastore-solid-choice.html
26. HRD as default - cont.
β *Price reduction to discourage M/S (no longer 3x)
β Has Delivered ~99.999% uptime since launch in January
β M/S price increases when App Engine leaves Preview
β Working on better tools
β To make migration easier
β To estimate updated cost
27. Backends feature introduced
β Long-running servers
β No more 30s or 10m deadline
β Fully configurable instances with options:
β RAM: 128MB to 1GB
β CPU: 600MHz to 4.8GHz no request deadlines
β Can run indefinitely
β Resident or Dynamic - Public or Private
β Automatic restarts
β Easy to configure (backends.yaml, backends.xml)
β (Demo)
β http://www.google.com/events/io/2011/sessions/app-engine-
backends.html
28. "Pull Queues" introduced
β A new alternative to previous Task Queues,
now referred to as "Push Queues"
β Lets users decide when to execute tasks
β Uses a REST API
β Allows external access
30. "Pull Queues" introduced
β A new alternative to previous Task Queues, now
referred to as "Push Queues"
β Task is merely data, no longer a web request
β Workers can pull (lease) tasks from queue
β Uses a REST API
β https://www.googleapis.com/taskqueue/myappid/taskqueues/myqueue
β Can configure ACLs for external access
β http://www.google.com/events/io/2011/sessions/putting-
task-queues-to-work.html
31. Pull Queues vs. (Push)Task Queues
β Push Task Queues take & execute work
β Tasks are "pushed" to application
β Execute at a given rate
β Pull queues offer more flexibility
β Workers can pull (lease) tasks when
appropriate
32. Other App Engine 1.5.(0) Features
β Mail API updates
β Reduced free recipients from 2000 to 100 for new apps
β ...
β Source code downloading
β Now Owner and Uploader can download
β http://googleappengine.blogspot.
com/2011/05/app-engine-150-release.html
33. App Engine 1.5.1 Features
β Geolocation header
β X-AppEngine-country - can customize web pages based on
location
β Presence support in Channel API
β Can take action when user connects/disconnects (demo)
β WebP support in Images API
β WebP 39% smaller than JPEG!
β Create RPC services with ProtoRPC
β Now part of App Engine
β http://googleappengine.blogspot.
com/2011/06/app-engine-151-release.html
34. App Engine 1.5.2 Features
β Production: adjustable scheduler parameters
β Able to set the minimum pending latency and maximum
number of idle instances
β Namespaced datastore statistics
β New option to query datastore stats per namespace
β Tasks
β New Task Queue details page
β Pull Queue task size bump to 1MB
β Pull Queue task lease extensions
β http://googleappengine.blogspot.com/2011/07/app-
engine-152-sdk-released.html
35. App Engine 1.5.3 Features
β Blobstore file uploads no longer limited
β Allows you to serve much larger files: images, videos etc.
β Datastore Admin now easily enable via 1-click
β No longer have to update app.yaml, and java developers
don't have to upload a python version of their app
β New HRD migration tool trusted tester program
β Download App
β Can now download any files that were uploaded into your war
directory
β http://googleappengine.blogspot.com/2011/08/app-engine-153-
sdk-released.html
36. Experimental feature updates
β Introduced at Google I/O 2011 talks
β Full-text Search
β Full-text search service coming to App Engine
β Other queries: numeric, geo, date search capabilities, etc.
β http://www.google.com/events/io/2011/sessions/full-text-
search.html
β MapReduce
β Part 1: Mapper has been available for awhile
β Work is ongoing for shuffle and reduce
β http://www.google.com/events/io/2011/sessions/app-engine-
mapreduce.html
β http://www.youtube.com/watch?v=EIxelKcyCC0