|
The Anthropology of Software |
|
|
|
April 14, 2008 Google App Engine is a Micro ISV Dream
A key to Microsoft's success in the 80s and 90s was that software enterpreneurs could easily develop for MS-DOS and Windows and get in front of their customers, and that in turn strengthened Microsoft. Allowing entrepreneurs to make money by building on top of your platform cements your platform's place in computing. Google has released a few small APIs and Google Gadgets, but never attempted to introduce a major platform. Since the days when GMail alerted everyone that Google was more than just Internet search, Google seems to have branched into a dizzying array of software niches, rarely throwing a knockout punch though. Google Docs is still a very weak product and Froogle was dropped in favor of Product Search, but in general their products are fast and have a lot of potential. BigTableWhen Google started talking to techies about BigTable some 2.5 years ago, my mind registered the first faint murmurs of something revolutionary, actually something long overdue. While other companies focused on the same difficult problems with the same old legacy based database infrastructures, Google quietly went and applied its search engine know-how to the problem of productizing a fast, scalable and reliable storage technology on its signature clusters of cheap Linux boxes. No doubt there is a lot of money for Oracle, Microsoft and their partners in putting developers through the same old paces with databases, configuration, clustering, load balancing, expensive RAID systems, yada yada yada. It seems like their solutions are always a matter of trying harder at the same old techniques rather than developing a technology that is better suited to the problem. But the revolution is fast approaching, and BigTable has the necessary ingredients. Every database these days touts itself as scalable, but the fact is that every large web site whether on Unix or Windows has jerry-rigged its data infrastructure in many stressful iterations during periods of exponential growth. That kind of growth is a nice problem to have, but do we really have to believe it must come with huge technical growing pains in scalability and availability? Along comes Google App Engine. Google realized that truly solving the pain involved a compromise which makes the Google App Engine datastore different from normal databases and inappropriate for some kinds of applications. But actually it is likely to be great wherever there are potentially huge data needs. The Google App Engine datastore is based on BigTable and has 2 chief advantages over traditional database technologies like Oracle and SQL Server: It is unavoidable that the transition from traditional databases will slow adoption of Google App Engine, even though its better-suited features are sure to eventually replace those of traditional databases in web development. Inside GoogleOne of the barriers faced by a web-based micro ISV or startup is getting customers to create yet another account. Microsoft tried valiantly with its "passport" technology (now Live ID) to get web sites to re-use a Microsoft managed account, but there are inherent challenges in the external integration. Google offers a refreshingly simple answer through Google App Engine that needs no explanation: have all the apps that use Google accounts run inside Google! Why not? Actually, except for the Orwellian connotations, running your application from inside Google offers a lot of benefits to small entrepreneurs who through economies of scale can cheaply have as good an infrastructure as the big leaguers (maybe better): That means no scrambling to amp up your servers the day you make the front page of the journal all your customers read. They just need good execution...This is all very promising but of course Google can still mess it up if it does not focus on maturing its app engine platform so developers can build complex applications. This doesn't mean babying customers with all the languages and frameworks they are requesting, but rather exposing all of the capabilities of a web server within the necessary confines of the sandbox and keeping it secure and reliable. Currently their Python SDK works very well, however it remains to be seen how development of complex applications goes and when the first large scale GAE apps come out. I started this blog 2.5 years ago in the wake of Hurricane Katrina with an article about Google Earth which is a product that remains singularly amazing. Now, Google App Engine is positioned to change web development and the Internet. Good going google! The breath-taking simplicity of this new paradigm makes current web platform and database options look antiquated. I predict that in five years Google will be dominant in web application hosting and in just 10 short years their BigTable based datastore will eclipse the Oracles and SQL Servers.
note by original poster Ben Bryant, 15 Apr 2008 08:40:00 -0500
|
|