![]() | ![]() | ![]() |
| Main | |
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.
BigTable
When 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 Google
One 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.
Amazon's Elastic Compute Cloud (EC2) and Simple Storage Solution (S3) are still firmly planted in current web development technologies. In the Amazon case, web apps use current databases and development technologies while shoring this up with keyed storage via the S3 webservice and hosting apps on EC2 virtual server clouds. It is a sign of the revolution, and its strength is in leveraging current technologies, but it is not a new answer to the problem like Google App Engine is.
note by original poster Ben Bryant, 15 Apr 2008 08:40:00 -0500
Hi Ben, I really enjoy your comments over at the App Engine group. With no books yet, that is the best way to learn - by reading what others are doing! Being only a hobbyist, I develop for fun, and create tools to use in my day job, which is building design and construction. However, after struggling with setting up a slice and dealing with all the database backup and security worries, I, too immediately saw the power of Google's move. Another part of the package is being in at the earliest stages of a new paradigm. Rails was a done deal when it was released, Django was developed in private, and Python is already mature, so this is a good opportunity to see how things really happen, and to influence the direction of a world-class movement. Best to you! g
submitted by G-man, 27 Jul 2008 18:26:00 -0500
| Main | |


