IBM’s Gamble on Grid Computing
Just when we thought we at ZapThink had Web Services pretty much figured out, we met with IBM and took a peek into their long-term server strategy. Today, Big Blue is working on a relatively new kind of computing known as Grid Computing. In a nutshell, Grid Computing allows multiple computers over a distributed network (in particular, the Internet) to act as though they were one large computer — or even a supercomputer. What’s particularly interesting from our point of view about IBM’s Grid strategy is how they are leveraging both the technology and the vision of Web Services in their Grid architecture. Fundamentally, IBM has seen the future of Web Services and it is Grid Computing.
The most familiar application of Grid Computing in common use is the SETI At Home project. SETI — the Search for Extraterrestrial Intelligence — is a scientific effort that requires immense amounts of computing power. Users are able to go to the SETI Web site and download a special screensaver. Running this screensaver essentially volunteers your computer to be a participant in a worldwide supercomputer Grid consisting of thousands of such volunteer processors. SETI’s systems then parcel out bits of number crunching for your computer to chew on, as it displays a futuristic screensaver for you to enjoy.
Grid Computing has come a long way since the early days of SETI At Home. While that project shared computing resources for a particular, narrow purpose, the long-term vision of Grid Computing is for computers to offer their processor and storage resources for any purpose the Grid might be called upon to provide. For example, today’s scientific and educational worlds are building immense Grids to work on tough problems like those in genomics and weather prediction. IBM, of course, is a leader in these current efforts, but it is their cutting-edge work that will be the most relevant to the business world a few years down the road.
The groundwork for IBM’s Grid efforts lies in its self-managing server initiative, called eLiza. The idea behind eLiza is to put all the code necessary to manage the hardware and software in a server into a coordinated package, affording the boxes some measure of ‘self-healing’ capability. This autonomous management has clear short-term benefits for the enterprises that take advantage of it. However, eLiza offers a critical building block to IBM’s Grid Software effort, as well: for servers to participate in a Grid network, self-management is a critical enabling technology. You see, the only way to set up a Grid today is to spend an enormous amount of time and resources configuring each individual server. Only after the Grid has been set up can it actually be used. With eLiza technologies, however, IBM hopes to enable servers to join Grids on the fly, using the just-in-time integration techniques that Web Services enable.
So, Web Services finally enter this story. Just-in-time integration constitutes the most advanced type of Web Services integration. The easiest form of integration enabled by Web Services is hardwired at design time. Next comes dynamic binding to static Services at runtime. Only after the Web Services technologies mature, and enterprises have Service-oriented architectures in place will they hope to be able to discover and bind to dynamic services at runtime, which is what we call just-in-time integration. And that is the capability that IBM is combining with eLiza to build the dynamic Grid Computing infrastructure of the future.
IBM’s vision for this global Grid infrastructure positions computing power as a utility, along the lines of electrical power or city water supplies. Need computing power or additional disk storage? The Grid automatically finds the power you need, behind the scenes, without the need for you to pay attention to how or where it’s coming from. Likewise, if you wish to make a server available to the Grid, simply set it to offer this capability as a Web Service. The Grid will take care of the rest.
So, will IBM’s vision come to pass? We believe that it is possible, but IBM has some enormous problems to solve first, and there’s no guarantee that they will be able to solve them. They intend eLiza to provide self-management capabilities to any computer anywhere (not just IBM brand, not just Intel, not just Windows or Unix). And as usual, the devil is in the details. If a system is 98% self-manageable, that remaining 2% will keep the whole autonomic management infrastructure from working. And for computers to participate on the fly in the Grid, the details will all have to be worked out.
Furthermore, IBM is saddled with its ‘big company’ culture. They are an enormous firm offering world-class enterprise solutions to the worlds largest companies. Their entire approach to building solutions, therefore, must keep in mind the needs, desires, and cultures of the large companies it serves. A contrary vision of Grid Computing, and actually Web Services in general, is a far more egalitarian, grass roots approach to distributed computing. Which will make more sense: big Grids made by big companies using IBM technology, or computers around the world loosely associating themselves into Grids on the fly, with no single organizing force? Well, the big money is on the former, but the popular vote is firmly in the camp of the latter.