Thursday, August 02, 2007

The many faces of a Cloud OS

Dare posted an interesting rumination about the term "Cloud OS".  This has also been on my mind recently, although my approach has been different.  I am an engineer at heart, and have been wondering what it takes to build these things.  I've been pondering Google world dominance, while I read up on building fancy Web 2.0 applications, possibly with something like Amazon's EC2/S3 services.  Dare's post crystallized an idea that was floating, untethered, through my pondering.

This mythical Cloud OS, as with many myths, is multifaceted.  The key facets that people are self-organizing around at the client platform and the server platform.  This is really just an evolution of the traditional 2 tier enterprise architecture.

When talking about a user-facing Cloud OS, such as Jason Kottke's "GooOS, the Google Operating System", we are talking about a platform of Javascript and web-services.  This is really just an evolution of the desktop app that talks to network file stores, and remote databases.  Microsoft Windows has been replaced by a Browser, and the back-end services are much richer, but the abstract model is the same.  This is what terrified Microsoft back in the erra of the original Browser Wars, and why they fought so hard to 'win' and then abandoned Internet Explorer development.

The flip side, the back-end platform that is needed to support this new client platform, is also sometimes referred to Cloud OS.  From the client's perspective, this is actually the Cloud Database.  This Cloud Database is not like any traditional database though, and itself requires a new underlying platform.  Cloud Database has to scale in ways that traditional database systems can not.  It needs to be built on scalable clusters of machines.  It needs to be flexible and extensible.  As mentioned in the interview with Paul Buchheit in Founders at Work, GMail has very different requirements from Google Search.  This scalable platform of meta-services is also called Cloud OS.

Amazon's AWS services are a baby-step toward a platform for building the Cloud DB.  Google's BigTable/GFS/MapReduce, as well as Hadoop/FaceBook (and others I'm unaware of), are the pre Cloud-DB.  The single-machine OS has become a commodity.  The evolution is now about this new server platform.

The client side is even more fragmented.  There are new Ajax-y Javascript toolkits announced almost daily.  There is no consistency between Google/Yahoo/Amazon/Microsoft/FaceBook client api/platfroms.  The core data-models for such concepts are your contacts/friends list, email, spreadsheets, etc are different for every storage platform.  This is data lock-in like we haven't had since the 80s.  This side of Cloud OS is even less clearly understood than the Could DB.

We are in for some fun times folks.


Post a Comment

<< Home