There has been an enormous amount of discussion over the past two years about new technologies that are going to set a new standard in the application hosting space. But what is fact and what is fiction, and more importantly, should you care?
The first time I heard about Grid Computing I was still up at school in the late 90s which, not surprisingly, was around the same time I was engrossed in my parallel computing course. All the talk of IPC and modulo arithmetic joined in an unholy matrimony with massive amounts of Mountain Dew and 3am whiteboarding in the labs, the offspring of which was a simple understanding of why and when to use parallel computing.
Fast forward to today and Silicon Valley’s VCs have eliminated all but the most trendy of ideas to back, the recent darlings being so-called Cloud computing. So what is Cloud Computing? Supposedly The Cloud is an ultra-scalable architecture that has implicit redundancy so no one ever has to go through the painful process of upgrading hardware; is this not the panacea of Datacenter logistics – completely automated vertical scalability?
The Promise
Current providers of Cloud provisioning software, such as 3Tera, promise less cost, ease of maintenance, and simple scalability. Need a new server? Just click a few buttons and you have a new virtual server, possibly pre-configured with software and even your specific settings.
The Failure
While having a large and dynamic infrastructure is appealing, there are inherent problems with the current approaches, the most obvious of which is the lack of failure abstraction. While products like VMWare have the ability to provide fail-over automatically, the fact that offerings like Applogic and EC2 do not provide such capabilities out-of-the-box is very telling about the underlying architecture. While many can argue that Xen-based hypervisors can be instrumented to failover, the fact that the technology does not, as a matter of its DNA, provide failover is The Failure. In order to provide the promises marketing for the various grid services has suggested, not only do we need to scale easily, but we need reliability; you cannot provide one and not the other.
Commentary
We all know that technology changes rapidly, but vendors and pundits fail when they speak as if change is good just for the sake of itself. Recently we’ve seen many old architectures rehashed: mainframe dumb-terminals have become remote desktops and terminal services, talk of Ethernet’s limitations being replaced with a protocol that involves a “Token” and the new SMP craze disguised as multi-core processing. It’s time for some real progress. It may be in the same way virtualization has brought us the Cloud that the Cloud itself may be an intermediate step to something better. At the very least let’s hope that the next step on the ladder is up, not down.

