Wednesday, December 23, 2009

Can Google App Engine’s Blobstore kill Amazon S3 ?

In short – It could, it should, it might, it’s not.

The longer version:

Google announced about their latest release of App Engine SDK 1.3.0 including support for large objects – aka Blobstore. Surprisely, it comes with both Java and Phyton APIs. Cool.

The Blobstore API allows developers to create an upload/download interfaces for <50MB of any binary file.

Potentially, GAE’s new (still in “Experimental” status up to today) feature could evolve into a cheap file hosting solution that would compete directly with Google’s biggest cloud services competitor – Amazon S3.

I must admit I’m a big fan of GAE. It’s an awesome platform to develop an OS / Web servers hassle-free web services with great free quotas for beginners. It has smooth integration with other Google services, especially to the datastore, memcache, URL fetch, mail, tasks; And of course, lets not forget the interesting embracement Google has with GWT and Eclipse.

If I’d need to consider initiating a large scale web service, I would prefer GAE on Amazon on any given day, but that’s another discussion.

Lets try to point out the Amazon S3’s advantages on the GAE Blobstore:

Blob size

Amazon S3 – up to 5GB

GAE Blobstore – up to 50MB (100 times smaller)

Distribution

Amazon has a smooth integration between the S3 and their CloudFront (CDN) service + you can decide for each bucket on which regions it will be stored, none of these apply to the Blobstore.

Interface

Amazon has a standard REST and SOAP interfaces, in GAE – you need to develop a special handler to fetch an object.

Backend processing

Amazon S3 is a great platform for backend processing either by writing any code to run on an EC2 machine, or by creating an ad-hoc Hadoop cluster using their Elastic MapReduce.

Blobs in Google’s perspective, should not be part of any backend processing – as it is designated only fetching directly to the client browser.

Security

Amazon S3 comes with an out-of-the-box ACL (Access Control List) abilities to allow/disallow specific access to any object to any other AWS user or open to the public. Google allow only the hosted application a full access to the blobs.

Price

While Amazon S3 has a free inbound data transfer until June 2010 and Blobstore is still in experimental, it is too hard to estimate the costs at this point.

Conclusion

GAE latest blogstore feature - looks as if Google tried to pull out (\ experiment) a service that has great demand, but didn’t have the time to apply basic functionality to actually compete with the giants from Seattle (both of them).

Google is asking developers for feedback about this service. What is in your mind ?

further reading @ DeveloperZen