App engine cloud_comp_expo_nyc

45
Building Applications with Google App Engine Chris Schalk Developer Advocate http://twitter.com/cschalk Cloud Computing Expo 2010, New York, NY

description

This is a presentation on building apps with Google App Engine. It was given on April 19th in NYC at the Cloud Computing Expo 2010.

Transcript of App engine cloud_comp_expo_nyc

Page 1: App engine cloud_comp_expo_nyc

Building Applications with Google App Engine

Chris SchalkDeveloper Advocatehttp://twitter.com/cschalk

Cloud Computing Expo 2010, New York, NY

Page 2: App engine cloud_comp_expo_nyc

What iscloud

computing?

Page 3: App engine cloud_comp_expo_nyc

IaaS

APaaS

SaaS

Source: Gartner AADI Summit Dec 2009

Cloud Computing Defined

Page 4: App engine cloud_comp_expo_nyc

IaaS value proposition…

Page 5: App engine cloud_comp_expo_nyc

APaaS value proposition…

Page 6: App engine cloud_comp_expo_nyc

APaaS value proposition…

Page 7: App engine cloud_comp_expo_nyc

Google App Engine

Easy to buildEasy to maintainEasy to scale

Page 8: App engine cloud_comp_expo_nyc

By the numbers

Page 9: App engine cloud_comp_expo_nyc

By the numbers

Page 10: App engine cloud_comp_expo_nyc

By the numbers

250,000+ Developers

Page 11: App engine cloud_comp_expo_nyc

By the numbers

100,000+ Apps

Page 12: App engine cloud_comp_expo_nyc

By the numbers

250M+daily

Pageviews

Page 13: App engine cloud_comp_expo_nyc

In a word… via Wordle

Word source: http://en.wikipedia.org/wiki/App_Engine

Page 14: App engine cloud_comp_expo_nyc

Some App Engine Partners

Page 15: App engine cloud_comp_expo_nyc

Socialwok

Page 16: App engine cloud_comp_expo_nyc

Social networking at scale

>62M Users

Page 17: App engine cloud_comp_expo_nyc

gigy Socialize

Page 18: App engine cloud_comp_expo_nyc

gigy Socialize

"Although we typically host all our services in-house, on our own infrastructure, we felt that GAE would be a better fit

for the live chat feature because of its unique traffic pattern, which is characterized by very low traffic most of the time with very high

bursts during high profile events."

Raviv Pavel, Gigya VP of Research and Development

http://googleappengine.blogspot.com/2010/02/scalability-means-flexibility.html#links

Flexible Scalability

Page 19: App engine cloud_comp_expo_nyc

Why App Engine?

Page 20: App engine cloud_comp_expo_nyc

Managing Everything is Hard

Page 21: App engine cloud_comp_expo_nyc
Page 22: App engine cloud_comp_expo_nyc

DIY Hosting means hidden costs

Idle capacitySoftware patches & upgradesLicense feesLots of maintenanceTraffic & utilization forecastingUpgrades

Page 23: App engine cloud_comp_expo_nyc

Cloud development in a boxSDK & “The Cloud”HardwareNetworkingOperating systemApplication runtime

Java, PythonStatic file servingServicesFault toleranceLoad balancing

Page 24: App engine cloud_comp_expo_nyc

App Engine Details

Page 25: App engine cloud_comp_expo_nyc

Specialized Services

BlobstoreImages

Mail XMPP Task Queue

Memcache Datastore URL Fetch

User Service

Page 26: App engine cloud_comp_expo_nyc

Specialized Services

BlobstoreImages

Mail XMPP Task Queue

Memcache Datastore URL Fetch

User Service

Page 27: App engine cloud_comp_expo_nyc

Language runtimes

Duke, the Java mascotCopyright © Sun Microsystems Inc., all rights reserved.

Page 28: App engine cloud_comp_expo_nyc

Ensuring Portability

Page 29: App engine cloud_comp_expo_nyc

Extended Language support through JVM

JavaScalaJRuby (Ruby)GroovyQuercus (PHP)Rhino (JavaScript)Jython (Python)

Duke, the Java mascotCopyright © Sun Microsystems Inc., all rights reserved.

Page 30: App engine cloud_comp_expo_nyc

Always free to get started

-~5M pageviews/month6.5 CPU hrs/day1 GB storage650K URL Fetch calls/day2,000 recipients emailed1 GB/day bandwidth100,000 tasks enqueued650K XMPP messages/day

Page 31: App engine cloud_comp_expo_nyc

Application Platform Management

Page 32: App engine cloud_comp_expo_nyc

App Engine Dashboard

Page 33: App engine cloud_comp_expo_nyc

App Engine Health History

Page 34: App engine cloud_comp_expo_nyc

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

20+ months in review

Page 35: App engine cloud_comp_expo_nyc

Happy Birthday App Engine!

Two years old as of Wed April 7th!Vibrant community of over 250k developersOver 250 million pageviewshttp://googleappengine.blogspot.com/2010/04/happy-birthday.html

Page 36: App engine cloud_comp_expo_nyc

Development Tools for App Engine

Page 37: App engine cloud_comp_expo_nyc

Google App Engine Launcher

Page 38: App engine cloud_comp_expo_nyc

SDK Console

Page 39: App engine cloud_comp_expo_nyc

Google Plugin for Eclipse

Page 40: App engine cloud_comp_expo_nyc

AppStats

@app_engine#coolappstats

Win a T-shirt

Upload before/after screenshots and link them on Twitter before May 2nd

Page 41: App engine cloud_comp_expo_nyc

Demo time!

Page 42: App engine cloud_comp_expo_nyc

Wall demo App

http://cloudexpowall.appspot.com

An adaption of the "Guest Book"Tutorial ApplicationUses:

Datastore for comments/blobsBlobstore for initial image uploadImage api for thumbnail creationXMPP - for chatbot access

Also uses Maps API for geofeatures

Post a comment at:

Page 43: App engine cloud_comp_expo_nyc

Wall demo App Architecture

Page 44: App engine cloud_comp_expo_nyc

http://code.google.com/appengine

More Info on App Engine:

http://googleappengine.blogspot.com/

http://gae-java-persistence.blogspot.com/http://bit.ly/gcodelabs

Page 45: App engine cloud_comp_expo_nyc

Q & A

Chris SchalkDeveloper Advocatehttp://twitter.com/[email protected]

Contact info: