App Engine/GWT overview (STLIC 02-10)

42
Using App Engine and Google Web Toolkit to power your start-ups Jason Cooper Developer Programs Engineer [email protected] February 27th, 2010 St. Louis Innovation Camp

description

Google App Engine enables large and small businesses alike to host and run their web-based applications on Google's highly scalable infrastructure -- Google takes care of the maintenance, load balancing, and other server-side management tasks so you can focus on building out the core functionality of your web app. On the other end of the spectrum, Google Web Toolkit (GWT) enables developers to create rich, AJAX-enabled, web applications using a familar language (Java) and environment (Eclipse), which then get compiled to optimized JavaScript. This presentation will open with an introduction to Google's Eclipse plugin and demonstrate how to create a new servlet-based Java web application and deploy it to the cloud within 30 seconds -- all without leaving Eclipse!I'll then shift into a deep dive of both GWT and App Engine, showing how both work, how much they cost (hint: free to start!), the various features and services included for both, and more, and there should be plenty of time for Q&A afterward.You don't have to be entrenched in the Web 2.0 world to gain insight from this session. GWT makes it easy for businesses that are just starting to move their applications into the cloud, while maintaining an advanced feature set for those that have been there for years, and App Engine makes it especially easy to get your apps up and running in a scalable fashion. Whether you're just starting to investigate web development and cloud hosting providers or you are already a seasoned pro with other solutions, this session is for you.

Transcript of App Engine/GWT overview (STLIC 02-10)

Page 1: App Engine/GWT overview (STLIC 02-10)

Using App Engine and Google Web Toolkit to power your start-ups

Jason CooperDeveloper Programs Engineer

[email protected]

February 27th, 2010St. Louis Innovation Camp

Page 2: App Engine/GWT overview (STLIC 02-10)

Two* classes of apps

(* intentionally broad)

Page 3: App Engine/GWT overview (STLIC 02-10)

Apps that don't need a back-end...

Page 4: App Engine/GWT overview (STLIC 02-10)

Apps that don't need a back-end...

Page 5: App Engine/GWT overview (STLIC 02-10)

And apps that do...

All interesting applications

Page 6: App Engine/GWT overview (STLIC 02-10)
Page 7: App Engine/GWT overview (STLIC 02-10)
Page 8: App Engine/GWT overview (STLIC 02-10)

?

Page 9: App Engine/GWT overview (STLIC 02-10)

?

http://www.flickr.com/photos/befuddledsenses/CC BY 2.0

Page 10: App Engine/GWT overview (STLIC 02-10)

X

http://www.flickr.com/photos/befuddledsenses/CC BY 2.0

Page 11: App Engine/GWT overview (STLIC 02-10)

http://www.flickr.com/photos/neospire/ CC BY 2.0

Page 12: App Engine/GWT overview (STLIC 02-10)
Page 13: App Engine/GWT overview (STLIC 02-10)

Don't reinvent the wheel:leverage others' strengths

Page 14: App Engine/GWT overview (STLIC 02-10)

Enter App Engine...

Page 15: App Engine/GWT overview (STLIC 02-10)

Google App Engine pitch #1

"Run your apps on Google's scalable infrastructure"

Page 16: App Engine/GWT overview (STLIC 02-10)

Google App Engine pitch #2

"Run your apps in Google's managed cloud"

Page 17: App Engine/GWT overview (STLIC 02-10)

Google App Engine pitch #3

"Get your apps running reliably and ready to scale in

30 seconds"

Page 18: App Engine/GWT overview (STLIC 02-10)

Reliability:Building web applications is hard

Page 19: App Engine/GWT overview (STLIC 02-10)

Scalability:

...tools, platform and design don't matter too much

With just a few users...

Page 20: App Engine/GWT overview (STLIC 02-10)

Scalability:

...you must design for scalability

With lots and lots of users...

Page 21: App Engine/GWT overview (STLIC 02-10)

WhiteHouse.gov/openforquestions

Page 22: App Engine/GWT overview (STLIC 02-10)
Page 23: App Engine/GWT overview (STLIC 02-10)

Scale dynamically and automatically

User

App Engine

Frontend

App’sRuntime

Page 24: App Engine/GWT overview (STLIC 02-10)

Scale dynamically and automatically

User

App Engine

Frontend

App’sRuntime

Page 25: App Engine/GWT overview (STLIC 02-10)

Scale dynamically and automatically

User

App Engine

Frontend

App’sRuntime

User

User

User

User

Page 26: App Engine/GWT overview (STLIC 02-10)

Scale dynamically and automatically

App’sRuntime

App’sRuntime

User

App Engine

Frontend

App’sRuntime

User

User

User

User

Page 27: App Engine/GWT overview (STLIC 02-10)

Multiple versions

User

App Engine

Frontend

Version 1.1

Version 2.1

Datastore

http://2.1.fredsa.appspot.com/

http://fredsa.appspot.com/

Page 28: App Engine/GWT overview (STLIC 02-10)

Runtimes

* and other JVM-compatible languages

Page 29: App Engine/GWT overview (STLIC 02-10)

Services and APIs

Datastore URL FetchMemcacheMailXMPP ImagesGoogle AccountsBackground tasks

Page 30: App Engine/GWT overview (STLIC 02-10)

Ensuring portability

Page 31: App Engine/GWT overview (STLIC 02-10)

Administrative Console

Page 32: App Engine/GWT overview (STLIC 02-10)

Google Plugin for Eclipse

Page 33: App Engine/GWT overview (STLIC 02-10)

Google Apps + your apps

Your custom applicationsOur Google Apps

Google's scalable serving architecture

Page 34: App Engine/GWT overview (STLIC 02-10)

How much?

Page 35: App Engine/GWT overview (STLIC 02-10)

Always free to get started

Free Quota~5M pageviews/month

6.5 CPU hrs/day2,000 recipients emailed1 GB/day bandwidth

Page 36: App Engine/GWT overview (STLIC 02-10)

Purchase Additional Resources

Page 37: App Engine/GWT overview (STLIC 02-10)

App Engine in three bullets

Easy to use

Easy to scale

Easy to manage

Deploy your apps to a platform that is

Page 38: App Engine/GWT overview (STLIC 02-10)

Google Web Toolkit

Page 39: App Engine/GWT overview (STLIC 02-10)

Google Web Toolkit

Mission statement

"GWT's mission is to radically improvethe web experience for users by

enabling developers to use existingJava tools to build no-compromise

AJAX for any modern browser."

Page 40: App Engine/GWT overview (STLIC 02-10)

Google Web Toolkit

GWT is all about

Productivity for developersLanguage, IDEs, tools, librariesPeople, ecosystemPerformance

'Perfect' cachingWhole program optimizationBetter than practical hand written code

Page 41: App Engine/GWT overview (STLIC 02-10)

Google Web Toolkit

IE

Firefox

SafariChrome

Opera

Page 42: App Engine/GWT overview (STLIC 02-10)

Complete Java development stack

+