Google App Engine - i

Download Report

Transcript Google App Engine - i

Google App Engine
What is it?
Cloud Service with a difference
Rather than just give you a blank machine to
work
Google hosts the app directly, provides
environment, data layer, scaling, service APIs
All you worry about is your application logic
and its presentation
A Bit Like Maven
Like Maven Google have made a lot of
decisions about how to structure things
Mightn't be exactly the way you would have
done it but it takes the burden of those
decisions away
From my meagre experience (both in building
apps and google app engine) they haven't
done anything drastically annoying
Some Details
5 millions clicks for free
python 2.6 with some restrictions
api for google users, images, datastore, mail,
others...
you get to use google's infrastructure, ever
notice a significant page load on a google
search
Development Env
Pydev, Eclipse Plugin, missing features, active
community
Google SDK, full mocked out server env.
Command-Line tool to upload your project directly
SDK recompiles code automatically never a need for
a server reload, very fast feedback cycle
gaeUnit, unit testing framework, launching from
browser, couldn't get it to run personally
Datastore
Object Oriented Design, no need for a
mapping xml file or annotations
define a entity class with properties
call put on this object to store it
call fetch on this object with GQL to filter
Scales as impressively as page loading
Expando objects, dynamic properties, each
instance can have different properties
Some Drawbacks
Currently only supports a subset of python 2.6
Doesn't support a lot of system calls, can't sniff what
hardware you're running on
Doesn't support the any python library that has
compiled c code which is most of them
If you're lucky enough to get 5 million clicks a month
it can be a bit flaky in how it cuts you off
A web request can only take around 8 seconds
Patriot Act 1 and 2
High cost to migration
On the other hand
On October 18th in a Google Conference java support
announced but no official word since.
5 million clicks for free, looks like each million after will be
$40 a month.
Some effort to make useful python libraries gae friendly
When running out of quotas, exception thrown which you
can catch to explain to user what’s happened
Has been hinted 8-10 second limit will be extended when
billing comes around
What google app engine
offers
Great dashboard system, similar to google analytics
Good local dev environment and upload tools
Google probably handle more web requests than any
other single organization, if you can't hit google its
probably a problem with your dns
Google takes on the burden of deployment, scaling and
security. Unlike Amazon's service which gives you a
blank machine where you're left with all those decisions
Not a silver buffet
In my humble opinion, its really only good for small quick
applications that don't need to do anything out of the
ordinary.
Its not good if your application will need to:
Think about anything for longer than 10 seconds
Need to use fancy 3rd party libraries
contain sensitive data
Topicvote
Simple app I made to play with google app engine
http://topicvote.appspot.com
allows people to add topics and vote for them
Someone really likes eliminating waste
spent about a week learning the basics of python
Topicvote 2
From when I downloaded the sdk I had an basic app
written and deployed in 4 hours
another 4 hours to flesh it out
This is particularly impressive if you knew of my track
record on deployment stories
Can you think of any other tech stack were you take a
complete newbie, give them the sdk and they'll have
something ready for heavy load in 4 hours?
That last awkward slide
Questions, Discussion, look at the code?