My recent post debating the merits of Windows Compute Cluster Server as an operating system concentrated on cost and ease of use. However, the concentration on those two factors to the exclusion of other, often more important, factors was unfortunate.
Because for most of our customers, neither cost nor ease of use is what's driving their platform choice.
Robert Anderson alluded to this as he yawned about my post: "And Dan doesn’t even mention the developer-productivity story..."
Rob hints one of the major reasons that makes our customers choose this platform: Microsoft has a cutting-edge platform of development tools, and they are continuing to add and innovate. In fact, in this arena, it feels like their rate of innovation is increasing. .NET continues to improve with .NET 3 out (with WCF, WPF, and Windows Workflow) and .NET 3.5 on the way. Visual Studio 2008 will be out this year, and they're also doing great things with Iron Python (open sourced, I might add) and PLINQ.
The other major reason has less to do with the current state of the art as the history: many of our customers have a huge code base that runs on Windows. Especially in finance, these guys have been buying and developing software on this platform for at least a decade and a half. And, like many enterprise customers, they're still running some pretty darn old code. And, like many enterprise customers, they use many third party applications and libraries.
So when it comes time for them to buy a cluster, the cost in changing operating system for a new cluster is much larger than the cost of the OS, the cost of installing that OS, and the cost of managing that OS.
The much, much larger cost would be to change those back-end systems, to rewrite or port a generation's worth of code, and to retrain new developers.
So when I hear people say things like "ISVs aren't sure about clusters of Windows machines, so they're not porting yet" I can tell immediately that the person is talking about the traditional HPC world. A world where clusters were UNIX and are now Linux, and the software that runs on them the same.
That's a different world than where I come from--an enterprise software world, where most applications are running on Windows, where the most common application of all is Excel, and where it would require a port to move to another OS.
As always, I'm not criticizing either world. They just are. Lots of people are developing in .NET, lots of people have loads of COM applications, and with ever increasing data volumes they need distributed computing to do it. Compute Cluster Server is one thing that's helping them get it done.
Photo credit: rosevita via MorgueFile