Google Jumps Head First Into Web Services With Google App Engine
Michael Arrington
265 comments »
Our live coverage of the Google App Engine launch event is here (Update: we’ve built and launched a test application here).
Google isn’t just talking about hosting applications in the cloud any more. Tonight at 9pm PT they’re launching Google App Engine (Update: The site is live), an ambitious new project that offers a full-stack, hosted, automatically scalable web application platform. It consists of Python application servers, BigTable database access (anticipated here and here) and GFS data store services.
At first blush this is a full on competitor to the suite of web services offered by Amazon, including S3 (storage), EC2 (virtual servers) and SimpleDB (database).
Unlike Amazon Web Services’ loosely coupled architecture, which consists of several essentially independent services that can optionally be tied together by developers, Google’s architecture is more unified but less flexible. For example, it is possible with Amazon to use their storage service S3 independently of any other services, while with Google using their BigTable service will require writing and deploying a Python script to their app servers, one that creates a web-accessible interface to BigTable.
What this all means: Google App Engine is designed for developers who want to run their entire application stack, soup to nuts, on Google resources. Amazon, by contrast, offers more of an a la carte offering with which developers can pick and choose what resources they want to use.
Google Product Manager Tom Stocky described the new service to me in an interview today. Developers simply upload their Python code to Google, launch the application, and can monitor usage and other metrics via a multi-platform desktop application.
More details from Google:
Today we’re announcing a preview release of Google App Engine, an application-hosting tool that developers can use to build scalable web apps on top of Google’s infrastructure. The goal is to make it easier for web developers to build and scale applications, instead of focusing on system administration and maintenance.
Leveraging Google App Engine, developers can:
Google App Engine: The Limitations
The service is launching in beta and has a number of limitations.
First, only the first 10,000 developers to sign up for the beta will be allowed to deploy applications.
The service is completely free during the beta period, but there are ceilings on usage. Applications cannot use more than 500 MB of total storage, 200 million megacycles/day CPU time, and 10 GB bandwidth (both ways) per day. We’re told this equates to about 5M pageviews/mo for the typical web app. After the beta period, those ceilings will be removed, but developers will need to pay for any overage. Google has not yet set pricing for the service.
One current limitation is a requirement that applications be written in Python, a popular scripting language for building modern web apps (Ruby and PHP are among others widely used). Google says that Python is just the first supported language, and that the entire infrastructure is designed to be language neutral. Google’s initial focus on Python makes sense because they use Python internally as their scripting language (and they hired Python creator Guido van Rossum in 2005).
Update: Here is Guido van Rossum at the launch event talking about App Engine:

![[image]](http://mowser.com/img?url=http%3A%2F%2Fwww.techcrunch.com%2Fwp-content%2Fgoogle_appengine.png)

![[image]](http://mowser.com/img?url=http%3A%2F%2Fwww.techcrunch.com%2Fwp-content%2Fthemes%2Ftechcrunch%2Fimages%2Frss.png)
wow - completely free. Very Googly!
dang
the Python only limitation is killer
I know a whole lot of people (myself included) who have been debating getting our hands dirty with Python. I guess now’s as good a time as any…
Yet another language to learn, though? Sure we can do it, but what’s the percentage of Python programmers vs. other languages out there.
Not really impressed.
What makes Amazon such a powerful concept is the flexibility. I can configure my own solution using my own platform and using my existing webhost (if I want to). What Google’s done is to essentially invent an inferior webhost.
Its Geocities 2.0, now with Python!
For what kind of self-respecting developer is the requirement that they use python a “non-starter?”
Python-only = FAIL!
It’s a non-starter for a lot of folks who are already comfortably using S3. More about efficiency than self-respect, I’d say.
As a current Django user I couldn’t be happier that they are using python. Would love to see a functional comparison.
python as an option = cool
pythin as the only option = strange restriction
Other than not wanting to port their APIs to other languages, why would they limit to python, and not also support Ruby, PHP, and any scripting language.
Sounds like hosting as it should be.
However hosting 3d pary apps means support…
Google support won’t be cheap meaning that the price could get too high to compete. Python usage makes it suitable only for projects that require hard Database usage as getting the software developers that can code on Python is much more expencive.
So i think the project could be great for serious apps (if the price isn’t too high) but useless for 99% of websites.
@Guido (?)-
For all the developers who have already written their apps, it’s not great news. If you’re starting from scratch, you can probably learn Python fairly quickly, but I’d think plenty of developers who would like to use this service have already written substantial amounts of code in other languages such as Rails.
It’s not so much that anything is bad about Python as that locking developers - who are essentially looking for a beefy webhost - into one language is a bad idea.
I’d be interested to see how this scales compared to something like MediaTemple’s GridServer.
Until I can use BigTable w/ my self hosted PHP app, it’s far from an AWS killer. Good start but they’ve still got a ways to go.
That’s cool, they released a product that was released years ago by Amazon.
good job
@DaveS, I disagree. The low entry barrier level on PHP has caused most PHP developers to lack understanding, where-as I’m yet to meet a Python developer who isn’t insanely smart & with a high understanding of technical concepts.
Sure, it’ll put some people off, but really if a developer is scared off by learning a new programming language should it solve the problem well I’d argue the developer isn’t much of a developer in the first place.
Funny how many people are passing judgments over its flexibility and scalability without using it…
Er, to clarify, I meant that I wonder at what point someone would outgrow MT’s GS product (or similar) and need the scalability of Google App Engine. I’m sure GAE scales farther than almost any other similar product, but I’d like to know for how many companies that’s relevant.
@Gleb - Since when do webhosts support 3rd-party apps? The hosts I’ve worked with are good at killing borked processes from 3rd-party apps, but that’s about it.
Didn’t you see where it said “python is the _first_ supported language”?
They said they can support any language, and will add new ones later.
I have programmed in PHP, Python, C#, Java… by far the easiest to learn and most powerful is Python / flexible.
Guido is right, if you are a serious developer the restriction to Python is a non-issue.
Geektronica - if you already have written the app, then why would you use the Google App Engine? You have most likely already tried to solve the problems Google is assisting with.
yawn.
way to be quick with the language, mike… nothing against you in the least.
but as for Google.. yawn.
@#11 Google releasing anything remotely close to supporting PHP would be like Duncan Riley saying something nice about America… it just aint gonna happen (see: Elitist).
A consideration that may be overlooked in some of the comments comparing Amazon and MT is the fact they are offering this for free to developers (up to ~5m pv/mo)..
That, along with the full suite of service APIs (access/identity, etc) seems ideal for a “Startup Weekend” project to further reduce the barrier to entry while building once to scale.
Python just the first supporting language. Google says others will follow
I wish it were Ruby based. Python? I like the AWS agnostic approach..
I’m psyched on it. I just wish it came with a framework like django, then it’d be just like Heroku.
does the google stuff use virtualization? i would like to see a head to head performance comparison, since one of the big AWS complaints is that the virtualization knocks about 30% off performance right out of the gate…and is this going to be one of those cheese-fest interfaces where you upload your code from a webpage and have to monitor it from a webpage? or do you get root? or how’s that work? anybody got any damn scoop around here?!?
I guess it’s time to learn python
@ Henry: Exactly.. The point is the field they are starting to get into - whether it was python, php, or RoR, people would be upset if it didn’t include their language of choice. Who cares - any smart developer can deal with the tools they have at their disposal.
As long as they add other languages, don’t feel like learning python lol.
Please check out my blog for ways to make money online http://mikesmoneyclub.blogspot.com
I think most people are missing the point of the “PREVIEW RELEASE” tag. It’s an early release used to solicit feedback from a limited number of poeple, so there is no need to put in the extra work required to support more than Python.
They will obviously support a multitude of languages when they launch this publicly (if anybody wants to bet me, I will happily take your money), much as any library supports a multitude of language bindings.
This is going to rock!
Python only does kind of suck as a limitation, but it’s not that hard to learn.
Personally, I think Python > PHP, especially in the readability department. Grow some bollocks, guys.
Nice, really.
From the way I understand it (I’m watchin a live feed) Google will have access to a COMPLETE SOURCE CODE of your application!
When you thought that Python only was bad, things get really bad when your potential competitor has access to your source code as well!
On the surface, it does look like a competitor to Amazon’s S3 service. They both offer scalable infrastructure, database access and storage. The direct comparisons seem to end there. Google is offering more of a web interface to the software you develop, as opposed to Amazon’s storage buckets and desktop based apps.
The Google App Engine seems quite proprietary in nature and only uses Python - at least at first - as the scripting language. S3 on the other hand has all sorts of third party apps out there, and it’s even integrated into some popular FTP software packages.
Amazon S3 has the early lead, with many software titles available. Strange though, as it never felt like they got any real traction. In fact, few people I talk to have even heard of S3.
Both Amazon’s S3 and Google’s App Engine will reduce system administration, maintenance, bandwidth and hosting costs. But if programmers embrace Google’s Python only playground while it’s still early in the game, the public’s on-going love affair with the big G, may let it zoom right past contestant number S3.
Python will be a deal breaker for many…
I find it interesting that Google is the one that opted for a tightly-coupled design, while Amazon choose loosely-coupled. Very cool!
For early stage startups betting on being acquired by the GOOG developing on the Google stack from day 1 is at least one big step towards their dream.
#6 @Tom, #15 @Matt: this is very different from what Amazon is providing, and there are markets for both.
Amazon’s services make it possible for developers not to worry about physical provisioning and deployment of machines; provides raw compute power, storage, and bandwidth essentially on-demand, an improvement over more basic web hosting, at the expense of some loss of “flexibility” (you can’t choose your storage technology, choose AMD vs. Intel, etc.)
As described, GAE is at an even higher level of abstraction, where developers focus on the business logic, with infrastructure/backend services like authentication, storage, and other Google services, already built-in and accessible within the Google network infrastructure via APIs. There is some additional loss of “flexibility” (can’t configure your own binaries) but the simplicity is a great productivity gain for many.
Related, Michael’s note re. “Google App Engine is designed for developers who want to run their entire application stack, soup to nuts, on Google resources” can be easily misread—it’s not that the target developer pool want to run their entire app stack on Google per se. It’s that they want the simplicity.
@Chris - if you’re a small developer who’s written an app, scalable, hassle-free hosting is never a problem that’s completely solved when you run your own hardware. I thought GAE was targeted at people who need scalable app hosting; if so, making them use Python is a barrier for a lot of them, not because they can’t learn Python, but because they may not have been using it up to this point in their dev process.
If it’s a temporary limitation, though, great. Exciting to see what comes next. But let’s remember that Gmail is still in beta.
@33: Your tinfoil hat is too small.
P Y T H O N is only to begin with ! Other languages will also be supported ! Read to the end of the article !
…. so, they already have your search, your email, your ads, your website metrics, your cookies etc - and now you’re being silly enough to let them have your source/project. I just can’t comprehend why? Because it’s Google and it’s free!? People, WTF!
@42: Careful man, they can hear you through the radios in your fillings.
This is the right idea. You see, websites are like TV shows- they last for 2-5 years and go out of fashion. It is wasteful to build up a hardware infrastructure to host a disposable (possibly junk) show- Myspace, Friendster, facebook. After all, TV stations do not buy hardware and TV towers to specifically host say Baywatch. So this is a right move for Google and Amazon, to build up this hardware so that this disposable worthless junk can just change smoothly, but still run on the same servers.
C’mon Google, this is just like a hosted version of ‘facebook apps’ on google. It is apparent that Opensocial isn’t picking up as quickly as facebook apps. iGoogle is also uninteresting. I feel Google is very much following the same proprietary approach of the Apple iPhone SDK. This is not even comparable to Amazon’s computing cloud .
@Evan (40, 42): Dude, its amazing how fast you’re at responding to legitimate privacy concerns with your half-baked, slashdot-esque “tinfoil hat” & “radio filling” bullshit arguments!
it a very good product.
its post 9PM PST and the link is still dead!
The link is http://appengine.google.com/
And it is LIVE now.
Anyone manage to get in right away or are they waitlisting everybody?
Live and some of their other links inside it are broken (or were a moment ago).
I’m on the “waiting list”. Let’s see what it can do if I can get in. Gives me reason to play with Python more.
Did they really hit 10k that fast??????
Argh, no way it hit 10k that fast.
/me blames this articles wrong link.
I was in at 9:09 and got waitlisted.
Anyone confirmed in?
Python only. What a weird decision. Not business and community-friendly at all.
I just think that Python should be a start. If it is not the case, I can say that poor Google
Nice move TechCrunch for giving the wrong url.
All of the content on TechCrunch has as much truth to it
as the the link you had??????
Whow It’s like reading something on the m$ website…
Good to see the Python expertise is on tap, anyway — having the BDFL on board will likely ensure compatibility with best Python practice. A drift away from standard usage could have horrible after effects.
I wonder if they’re planning a UDDI interface; could resurrect this part of the original web services spec and give peeps a smart link to the WS provider’s info.
Guido + the ultimate botnet. Interesting possibilities. Rossum’s Universal Robots perhaps?
kinda bumbed there was not more to this - its a another me to from Big G - of course we have to wait and see, maybe there some killer features like in gMail - but I seem to feel like yawning at most google news these days. The product does have lots of potential and is a space i can see google being very strong in, but as of now, it seems rather restrictive instead of empowering.
High hope that the App Engine will turn out to be a good one… :p
Also, since Google App Engine doesn’t support writing to disk, some libraries that support this and other functionalities are only partially enabled.
Has anyone gotten in yet?! This is the important thing for me haha.
* Libraries that maintain databases on disk are not enabled in Python for Google App Engine
* Sockets are disabled with Google App Engine
* The system does not allow you to invoke subprocesses, as a result some os module methods are disabled
* Threading is not available
*
* For security reasons, most C-based modules are disabled
* Other features that are limited:
o marshal is disabled
o cPickle is aliased to pickle
o System calls have been disabled
Please keep in mind that third party packages which use any of the above features will not function with Google App Engine (packages such as mysql, postgresql, etc).
with all these limitations this is definitely not for startups, but for fun projects which u can develop and hope something comes out of it(just like FB applications)
This is really going to drive up adoption of python:
http://blog.blist.com/index.ph.....es-python/
Sweet. Got this response to a post about accounts on the AppEngine forum:
The 10k limit has not been reached yet. Everyone gets the wait-list
message when they sign up and we’ll be enabling accounts on a rolling basis.
Tom
Product Manager, Google
Nik: nice find.
I signed up at 9:10 pm PST, and I was wait listed. Grrrr…
OMG ERROR LOOOL …
Traceback (most recent call last):
File “/base/python_lib/versions/1/google/appengine/ext/webapp/__init__.py”, line 484, in __call__
handler.get(*groups)
File “/base/data/home/apps/appgallery/1.8/appgallery.py”, line 90, in get
app = db_models.Applications.get(self.request.get(’app_id’))
File “/base/python_lib/versions/1/google/appengine/ext/db/__init__.py”, line 720, in get
results = get(keys)
File “/base/python_lib/versions/1/google/appengine/ext/db/__init__.py”, line 945, in get
keys, multiple = datastore.NormalizeAndTypeCheckKeys(keys)
File “/base/python_lib/versions/1/google/appengine/api/datastore.py”, line 117, in NormalizeAndTypeCheckKeys
keys = [_GetCompleteKeyOrError(key) for key in keys]
File “/base/python_lib/versions/1/google/appengine/api/datastore.py”, line 1431, in _GetCompleteKeyOrError
key = Key(arg)
File “/base/python_lib/versions/1/google/appengine/api/datastore_types.py”, line 145, in __init__
raise datastore_errors.BadKeyError(’Invalid string key %s.’ % encoded)
BadKeyError: Invalid string key .
Whew! Thanks Nik! I was waitlisted and I thought - WTF??? They just *can’t* have got 10k users when it’s only just 10!!!!
Now I know, I may have a chance to get in!!!!
btw, anyone know what the time is now? I live in AU and don’t know what america / google runs on.
Thanks!
Google in essence has made another play for web monopoly. Not only does Google want to own your content, now they wish to own your content, code, logs, hosting.. You’re to tie your application to a proprietary API with Google-only solution. It’s a fully locked in solution with the only benefit as not having to do it yourself. Really absolutely nothing for a startup or the real developer, by the way they deleted my last comment because I guess they felt I was trolling. But I seriously don’t think any serious developer would consider such a badly locked in solution seriously. It’s just another attempt to expand their monopoly, does it add some benefit, yes, but the detriment of increasing the Google monopoly far outweighs the little benefit this this stack provides. The only way I would even consider using it would be if Google was to Open Source the stack, seeing as they are not, I really can’t consider using this as a serious web developer.
This is great news for a lot of startups; one less thing to worry about. It’s almost becoming possible to launch an ambitious web service with zero capital.
And the other great thing is, maybe now Microsoft will try to enter in this space as well, which would create some healthy competition. Commodification of web hardware/infrastructure was a long time coming.
I got waitlisted and it said it was full. Nik says that’s not the case. It would be much better if there was more clarity on the limit. Is that because Google wants to vette the developers to make sure they have a python app ready to go?…Mine is in php…where does the php line start?:)
Well … let it mature for a few years and then we will see. I think that lack of flexibility will be the adoption killer. I am hopeful that Google will evolve this into a full blown “real” cloud.
Yes it is a pity it’s not OSS, but we can’t have everything. The one thing that makes this worthwhile, is that google has a track record of reliability - both honesty and scalability - which means they’re unlikely to suddenly become unavailable when you need the service. And Python *is* OSS!
p.s. Anyone have the info on whether this thing is accepting regos yet?
Just got an invite…
@David Webb: Yes, so far of its 3 years life as a public company it has such a track record — though one which has plenty of little blemishes. As the company matures and opportunities are harder to come by, I’ll wait and see if anything changes. It’s true that python is open source, but if you write any app for this platform, you will have to make significant changes to deploy it elsewhere. Also, the limitations will force developers to plug it in to existing Google infrastructure, further making it more difficult to deploy it elsewhere. Someone would have to spend considerable effort to make sure their code was portable. So all-in-all for any serious business or startup that wishes to make real money, such a solution really doesn’t make any sense. Will Google buy you if you build on their platform, I seriously doubt it considering that they already have your code, and your user base already. Yeah, all the naive developers that only think in code might buy-in, but any serious business person would think about 10 times before agreeing to such a locked in offer. What Amazon is offering right now is much more useful to real developers than this little toy that Google has offered. Yeah the bandwidth is free, but if you can’t store files, I don’t see the point, considering how little bandwidth small websites take to serve… If it’s serious business you can afford the few thousand it costs to host with a real host.
oops, Rails derailed by goog
I’m confirmed. Write to me if you’re a Python dev and want to help:)
No way I’m giving my users to Google by requiring my users to use Google accounts!
I am really amazed to read so many mixed reactions.:) Anyways I am trying it out. Hopefully It fulfills my expectation.
@GQ: Yes, I do see your point. Personally, I’ll enjoy playing around with the service, but as of yet I’m not quite sure how useful it would be to my business anyway. Google, actually, as part of it’s reputation, has a record of releasing products “half-baked” - that is, stable, reliable, and useless. I hope this will see an increase of features, but right now I’d say it’s a great hobby tool - if I ever get my hands on an account!
@all the python-as-non-starter commentators: Did you catch the following sentenance in the last paragraph:
“Google says that Python is just the first supported language, and that the entire infrastructure is designed to be language neutral.”
Definitely agree with GQ. Google is at the checkpoints of everything online and too much power and control in one single entity ain’t good.
Hmmm…Google with Python to rule the world. We really need more flexibility. Their is a greater audience out there. Unless Google wants a small audience instead. What do I know? I am just a computer guy.
[...] Google just launched a new service, Google AppEngine. Google App Engine lets you run your web applications on Google’s infrastructure. App Engine applications are easy to build, easy to maintain, and easy to scale as your traffic and data storage needs grow [...]
Remember, this is a preview version. Don’t expect it to be all that cool, just a concept at this stage.
I just got my account!!!!
Time to start playing……
I wouldn’t personally care Google becoming monopoly(Im conerned but not that much) just like global warming.
Im more concerned about its stupid limitations(no disk write,no threading etc). Im wiling to pay more to not have these limitations. And also the fact, that using all google apis, Im tied to them and cant move elsehwere seemlessly unlike AWS. I’ll vote for AWS for now but I keep an eye on wat Google does to thier Appengine
@65 Nik - Nice find. I signed up right away and got the darned wait-list message too. Based on your message I’m hopeful we can still get in to experiment with this. It seems unlikely they would have 10K sign ups within minutes!?
I also think the Python limitation is strange. The promise that you can scale your apps up is going to attract a lot of developers though. And like @37 Daniel pointed out, startups who want to get acquired by Google might look at this as a good way to go.
Anyway, time to go read up on Python