Grid Computing: Modular Architecture
After I wrote yesterdays post Software: Module Architecture, I realized that I had more to say about modular architecture and how it relates to the Digipede Network. I could get on a soap box for hours and pontificate about the value of using modular (Lego) architectural concepts. One of my huge pet peeves about the software industry is how people continue to create products not using this methodology.
So how does this relate to the Digipede Network? The Digipede Network was created and built using these concepts. I would like to say that I was a part of that process but I didn’t join the company until just before the first release. My only contributions were to the documentation and the samples. I’ve gushed on Robert Anderson several times because he did things right. I think I’ve embarrassed him a time or two. I’m just so used to coming into a company and seeing totally screwed up software. (I would like to add that WildPackets has done a great job with their software as well. Two companies in a row...could things be improving?) But that’s all the internally facing architecture.
Because I’m externally facing now I am very interested in how the API works within my mental framework of how software should be built. It should be easy to use someone else’s toolkit and the Digipede Framework does that. It passes all my tests. Crafting a task for distribution and remote execution can be done in 20 lines of code. The Task object is derived from a Digipede class that does all the work of setting up the job. The class can be as simple or as sophisticated as you need. And there in lies one of the great advantages to using internal architectural standards. Scalability of complexity, where the user controls the complexity.
I wish I could say that anyone who develops on Windows using .NET or COM should consider the Digipede Network but let’s be realistic-not every application needs to be able to scale-out or distribute computations. But for those that do you will find the Digipede Network easy to install and to work with. If you’re one of the lucky folks whose software is well architected you will find it extremely easy to interface with the Digipede Network. Those of you who are not so fortunate will find that the hard part is refactoring your code. Sorry.
So here’s the gist of how I feel about the Digipede Network – it’s the best designed product I’ve seen in years.