Thursday, July 19, 2007

Yet another poof piece


Joe Landman over at Scalability.org has another "poof" piece up about Compute Cluster Server. Why is it a poof piece? Because when you examine his logic, it goes up in smoke.

First, let me make it clear: Joe has serious chops. His company makes terrific, screamingly fast storage products. And he has vast knowledge and experience in HPC.

However, when it comes to Microsoft, he also has a chip on his shoulder the size of the Upper Peninsula--and that lets some faulty logic into his many posts he devotes to ripping on CCS.

In his latest, he compares acquisition costs of clusters with Linux and CCS (note he doesn't try to make any TCO comparisons, perhaps because he's read the independent studies that show Windows is cheaper in the long run).

Joe quite correctly notes that Windows Server is a commercial OS that costs money; no secret there--Microsoft charges money for software. I'm not sure if the $469 is correct for volume purchases, but it's probably close enough.

But then he starts adding spurious costs...

As the size of the system scales, so do per unit costs. In the case of windows, the $469/unit cost means that a moderate 16 node system + head node + file server adds another $8500 to the purchase cost. Not to mention the yearly additional costs of the OS support, the necessary per node anti-virus, the necessary per node anti-spam … That would add in another about $1500 or so. So call it an addition $10,000 per 16 node cluster.
I'm not going to debate the OS costs, but anti-spam? On a cluster?

Our customers don't let their clusters have a peep at the internet. Even within their networks, access is strictly controlled. No need to waste time and money on anti-spam on those nodes, and to pretend that they do need it is just silly. As I said before, Joe's a really smart guy: he doesn't need to fall back on specious arguments like this.

Another strange argument Joe makes is
Meanwhile we are left with the indelible impression of a small market segment (CCS) that is not growing as fast as the cluster market as a whole (which means it may be shrinking in relative terms).
It's unclear exactly what he's trying to say. Is it that Windows servers aren't selling? Unlikely, since according to Linux-Watch.com, not only is Windows server revenue triple Linux server revenue, it's also growing faster.

Maybe he was saying that the growth in HPC isn't in the small market segment...but that isn't true, either. According to IDC, the greatest growth in the HPC market is in the capacity (under $1,000,000) segment.

He goes one step further when he compares ease-of-use: he compares a one-line shell command (to list the tasks on a node) with a 30-line PowerShell script to point out how much easier Linux clusters are to manage. It's a faulty comparison, and Joe knows it. He chose a script that iterates through every node on a cluster, writing out all sorts of information about the node and the tasks currently running on it. He's comparing one apple to a bag of oranges, and complaining that the oranges are too heavy.

The fact that PowerShell is available for Compute Cluster Server is a very good thing--Windows has long lacked powerful scripting tools (I'm sure Joe will back me up on that), and PowerShell combines a good scripting tool with .NET functionality. Will it absolutely save keystrokes over comparable Linux tools? Beats me. Maybe not. But it will make it far easier to integrate CCS clusters with other .NET resources, and that's a huge thing for shops with Microsoft expertise in house.

Ah, Microsoft expertise. That's my final point.

In concentrating on acquisition cost and ignoring total cost of ownership, Joe is ignoring the thing that is selling the most CCS clusters: people who are already managing many Windows servers can easily manage CCS clusters.

The largest market for CCS is not organizations that have UNIX or Linux clusters. People who already have Linux expertise are already buying Linux clusters--Linux and UNIX have dominated the HPC space.

The people who are buying CCS clusters are people who don't have Linux experience. They've got Windows desktops. They've got Windows servers. They've got Active Directory and SharePoint and loads of .NET developers. And they want to add a cluster. What's the natural way for them to do that? Windows. I'm not going to try to pretend that CCS is objectively better than or easier than Linux--I think that depends on your personal experience and expertise. But, remember that outside of HPC, Linux's market penetration is very, very small. And not everyone finds it easy.

So for a small to medium size business (or a department within a large business looking at a cluster), add this cost in to your Linux cluster acquisition: the $100,000 you'll have to pay to hire a decent IT guy to run an OS you've never seen. Wow. TCO just got a lot higher for that cluster.

That's why CCS is valuable. Not because it's necessarily "better." Not because it's necessarily "easier."

Because it's familiar. Because it is very easy to integrate into a corporate infrastructure that already has so many Microsoft products. That's why Microsoft insists that CCS is bringing HPC to the masses.

I know Joe understands this--he's written well reasoned posts on the topic before. But when Joe starts making such specious arguments as he makes in this post, he's no better than the "marketing types" he derides.

Look, I'm not deriding Linux as an OS, or as an HPC OS. It's been very successful, and it will continue to have success. The fact is: if you're using UNIX or Linux, it probably doesn't make sense to port to Windows.

But if you're already using Windows, it certainly doesn't make sense to port to Linux.

Update 2007-07-17 4:39pm: John West at insideHPC has a much more balanced look and honest critique of the same article. I encourage you to check it out. Also, I forgot to include a link to the article Joe was writing about over at Search Data Center.


Update 2007-07-23 10:45am:
Joe responded to my post (and another at insideHPC that appeared before mine) with a three of long, well-thought out posts.

I'm updating this rather than adding a new post (because neither of us wants his blog to become a series of posts about this subject only).

First of all, I'm sorry about my "Upper Peninsula" joke, Joe. I was attempting to make a joke (and take into account your state of residence)--if it came across as an ad hominem attack, I failed in my attempt.

Secondly, Joe did a TON of research into the "independent" TCO study I linked to. As it turns out, its data gathering and data analysis methods were suspect. I admit to lazy research: I did one Google search, read the summary, and linked. Joe summed it up nicely: "Try not to buy into such studies without thoroughly understanding them, and their limitations, and their applicability to your situation. Doing otherwise will leave you with egg on your face. Lets call this one done."

Third, he spends a long time acidly agreeing that I was correct about server growth (Microsoft server sales are growing faster than Linux). Remember, Microsoft is growing faster on much larger sales, meaning their absolute growth is much larger than Linux's. Also, please remember that I'm not trying to say "Linux is dead"--I was simply trying to refute Joe's assertion that "we are left with the indelible impression of a small market segment (CCS) that is not growing as fast as the cluster market as a whole (which means it may be shrinking in relative terms)." In your words, Joe, you were "wrong, so very wrong."

Fourth, he mentions the Mono project. I love the Mono project--Miguel de Icaza has a great thing going there--and I wish it were farther along. I wish Microsoft and Novell would put their "partnership" to good work, and fund this thing to completion. Unfortunately, Microsoft hasn't stepped up to the plate (I'm sure the internal politics are huge). This is a case where I think Microsoft is missing the boat. I can't wait until they wake up and heartily endorse this thing.

Finally, apples-to-apples: Joe defends his apples-to-oranges comparison of a command line tool with a scripting tool! If you want terse command line tools to work with CCS, then use the command line tools. He seems to think that PowerShell is the only way to interact with CCS, and it's just not. And if you prefer to use a third party tool like LSF, Platform sure claims it works on CCS. This is the thing I don't get. In the sake of being unbiased, Joe did hours of valuable research into the TCO studies--then complained about how complicated PowerShell was, as if he was unaware of the existence of CCS's command-line tools and hadn't done a 2-second Google search. It gives away his bias.

Joe was obviously ticked off by this post (which he called a "fisking," a term that I wasn't familiar with). My entire point was that Windows fits well for some people, Linux for others. As outlandish as that position may be, I maintain it's true.

Photo Credit: Kenn Kiser
Technorati tags: ,