Apparently, TechCrunch’s speculation that Google would be launching BigTable as a Web service was well-founded. Last night, BigTable — along with a bunch of other amenities — went live as part of Google App Engine, a service that could potentially compete with Amazon Web Services‘ EC2, S3, and SimpleDB offerings.
What happened last night was a preview launch, open to the first 10,000 developers who signed up for the service. By 09:30 (UTC), all the open slots had been taken, relegating me to the waiting list. It’s perfectly fine, because I couldn’t even start to play around with the service yet, much less use it for something practical.
The problem there is the fact that the service only supports Python as the development language right now. Google states (through the use of the word “currently” in the relevant FAQ entry and more explicitly in the documentation) that it’s only a temporary limitation and that they hope to support other languages in the future, but it means that I have to learn a whole new language if I want to play around with the service right now. (Not that I can until I get my invitation…)
The Google App Engine features are as follows:
- dynamic web serving, with full support for common web technologies
- persistent storage with queries, sorting and transactions
- automatic scaling and load balancing
- APIs for authenticating users and sending email using Google Accounts
- a fully featured local development environment that simulates Google App Engine on your computer
Contrary to what some people have thought, users of applications built on this platform do not have to use Google Account logins; it’s just another API available from the environment, and doesn’t preclude implementing a home-grown authentication system.
Google says the service should be able to absorb large traffic spikes with no trouble whatsoever. I believe it, if only because this platform is basically the same suite of tools Google uses to run its own applications.
One thing that bugs me — besides the Python-only issue — is the fact that Google App Engine uses a query language called GQL (I’m guessing the G stands for “Google”) rather than industry-standard SQL. I suppose it’s OK, though, because strictly speaking, BigTable is not a relational database. SQL-style JOIN queries are not supported, and GQL can be used with multiple types of data (it’s used for the entire data store within App Engine).
So what are the limitations on the service as it’s currently available? Well, aside from the waiting list, Google has some quite generous quotas in place (text from the Google App Engine Blog):
During this preview period, applications are limited to 500MB of storage, 200M megacycles of CPU per day, and 10GB bandwidth per day. We expect most applications will be able to serve around 5 million pageviews per month. In the future, these limited quotas will remain free, and developers will be able to purchase additional resources as needed.
500MB is about half of a free Picasa Web Albums account; for reference, I’m still using less than 170MB of my quota there, even with all the images I’ve uploaded from Picasa and Blogger. 10GB is a huge amount of bandwidth for one day. Five million pageviews a month is about ten times the popularity of Matt Cutts’ blog, and he’s fairly well-read.
So how would I use this service? I’m not sure I would right now, seeing as how I don’t have any ideas for using it. I’ve considered Amazon’s Elastic Compute Cloud (EC2) service for running my own wiki, rather than just going to a conventional host, but haven’t yet figured out how I’d do it. Google’s new offering doesn’t seem like it would work any better, and might actually be impossible for a while because MediaWiki (my preferred wiki engine) is written in PHP.
Matt Cutts thinks this new service will make it easier than ever to launch a startup; Garett Rogers is of the opinion that Google App Engine is a direct competitor to Amazon Web Services’ offerings. I agree with Matt, but disagree with Garett and the other bloggers who think Google’s service is comparable to Amazon’s services. Google App Engine is designed to be the entire app, data storage, processing, and serving; Amazon offers building blocks you can use individually through your own server or from within EC2.
I find it quite Googley that the basic plan for Google App Engine will be free to use. The current preview limitations will be free even after pricing is announced. Amazon has no free offerings (but thankfully no minimum; minimum charges are anachronisms anyway).
Haha! You can register apps that you don’t own, on App Engine. I now ‘own’ the official App Gallery and @natekoechley‘s shoutout app.
That’s rather interesting, and might highlight a security problem with Google’s newest product. I’m sure it’ll be discovered, localized, and fixed in pretty short order.
Also, Jaiku announced this morning that it will be moving to App Engine in the near future. If nothing else, it will relieve the Jaiku team of having to worry about scaling the system. Congratulations, guys!
What do you think of the new service?