The Google App Engine (GAE) has the potential of allowing Google to further monopolize the market.
Its biggest attractions to me personally are the distributed database (aka BigTable), which removes the database bottleneck common to most centrally hosted applications, and the Google Accounts authentication service, which removes the registration step required for most applications.
However, the more developers jump on the GAE wagon the more Google will be embedded in the fabric of the web and the more power it will have.
If you’re looking for scalability on the cheap you should look into Flash 10 P2P or Java’s JXTA [P2P] framework. It’s more work for you, but it’s also more power to you; you’ll have to build a distributed DB, a distributed file system, but luckily open source frameworks exist.
Having said that, GAE and P2P are not mutually exclusive. You could leverage certain features of GAE with P2P without giving away your power. Basically, you’d want to take the bait but not fall into the trap.
As an example, you may want to use GAE to host your P2P application’s Java [signed] applet or Flash 10 SWF and then use the Google Account service (which may one day work with OpenID) but not BigTable (or storage service) because you don’t want to have your user data and user-generated content sitting on Google servers.
There is a serious issue with the Google appengine: relying on a growing and determined monopoly like Google to host your startup’s application could be very risky from a business point of view. Will Google allow you to upload obfuscated code or obfuscated Python byte code? Do they have access to your code? (yes) What if you have invested heavily in developing some commercial product that Google wants to copy or acquire? Will they have more leverage because they host your code?
I’m not saying that you shouldn’t use the Google appengine but I’m advocating that when you do you make sure not to hand too much of your power to Google. If you don’t care then chances are you’re not doing anything important, but even then you will be helping to spread the Google hegemony, so be careful how you go about it.
I would trust Amazon’s cloud service a lot more than Google’s appengine because A) Amazon does not limit you to Python (and then limit what Python can do, and trust me that’s not only for security) and B) they are not a competitor to you unless you’re in the retail business. Readers of this blog are more likely to be technologists (i.e. people who develop new technologies and applications) than retail merchants. So you’re more likely to view Google as a competitor than Amazon, and I happen to think Amazon is less arrogant than Google.
Having said that, and in general, one should generally stick to the P2P paradigm and use so-called “cloud” services very minimally and interchangeably, for coordination/orchestration, not for processing, data or content.
Related
