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:
- Write code once and deploy. Provisioning and configuring multiple machines for web serving and data storage can be expensive and time consuming. Google App Engine makes it easier to deploy web applications by dynamically providing computing resources as they are needed. Developers write the code, and Google App Engine takes care of the rest.
- Absorb spikes in traffic. When a web app surges in popularity, the sudden increase in traffic can be overwhelming for applications of all sizes, from startups to large companies that find themselves rearchitecting their databases and entire systems several times a year. With automatic replication and load balancing, Google App Engine makes it easier to scale from one user to one million by taking advantage of Bigtable and other components of Google’s scalable infrastructure.
- Easily integrate with other Google services. It’s unnecessary and inefficient for developers to write components like authentication and e-mail from scratch for each new application. Developers using Google App Engine can make use of built-in components and Google’s broader library of APIs that provide plug-and-play functionality for simple but important features.
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:









wow – completely free. Very Googly!
I agree that Google App Engine has some limitations but I still believe that its a great move by the search giant.
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://mikesmon...ub.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?