by Greg Nawrocki

The enterprise Grid application challenge

news
May 8, 20063 mins

It’s no secret that in the commercial world — with the exception of niche vertical market examples (Monte Carlo simulations in financial services, et al.) — there are precious few ‘enterprise-class’ Grid applications to point to.

So why is it that it’s so tough to ‘Grid-enable’ transactional enterprise apps? In the words of ActiveGrid CEO, Peter Yared:

“The Grid community — before they solve world hunger with the ‘big pool of virtualized resources that you can tap into’ vision — needs to concentrate on making enterprise-class applications that can scale horizontally in their own dedicated clusters. That’s step one, because if you look at any J2EE application, it wasn’t written to scale beyond four to eight machines.

Back in the late 90’s, customers wanted to run small clusters of SMP machines. That’s why Sun made so much money. Now that Google and Yahoo! and Amazon have started running large clusters of commodity machines, everybody wants to do that. But you can’t take the software that you wrote on small clusters of SMP machines and expect it to scale horizontally to 200 or more machines in Grid environments.

When you’re running transactional applications, you typically need to run commodity machines that are identical. For example, you want them to be Linux and x86, and on one subnet or on one set of network controls. And that’s the only way it’s going to scale. So there’s the Grid vision that you can have free resource pools — of any sort of heterogeneous combinations — available to jump in on the fly. But for transactional applications, forget about it.

So that’s the fundamental application challenge that the Grid community faces — most hard core enterprise applications were simply not written to perform in scale-out, heterogeneous Grid environments.”

Yared is also a big evangelist on the benefits of integrating services on the front end, on LAMP … and he sees LAMP challenging Java and .Net as the preferred application infrastructure for running service-oriented applications.

For the Grid community’s push towards commercial adoption — I’ve often thought that a Grid-enabled version of Apache might be a step in the right direction. As an application itself, the benefits of Grid for Apache load balancing and data virtualization resonates with me. And as an application platform, Apache already has the benefit of the “P” languages as an established platform for development.

The good news is that there are indeed efforts underway in this direction such as pyGlobus, the Python interface to the Globus Toolkit. As this matures it will be interesting to see if this will be a catalyst for the development of innovative Grid applications.