Several times in the past, I've blogged about my annoyance at some people's inability to take the .NET platform seriously for enterprise computing. Whether it's competitors, VCs, potential customers, or just blogs I read, there is an attitude out there among some people that "real computing doesn't happen on Windows."
Those people are still living in the 20th century (ok, maybe early 21st). Microsoft has had made great strides at every level in their stack: OS, web server, database, and with .NET.
eWeek's July 10th article ought to change a few minds. (Yeah, I know, I should have written about this earlier. As Albert Ganz said in 48 Hours: "I've been busy!")
As part of eWeek's "eWeek Labs Bakeoff" series, they did "Open Source Versus .Net Stacks." Their definition of a stack: OS, web server, a database, and a scripting or development language. There are certainly those out there who will scream "LAMP!" and stop reading. There are others who will show their Linux/J2EE tattoos and head for the door. But for those enough brave enough...
As it turns out, the .NET stack did well. Very well. As in, it beat the LAMP and Linux/J2EE stack in nearly every category they measured. In transactions per second, average throughput, average page download time, and average document download time, the .NET stack beat every combination of Linux-based stacks. The only category where any Linux stack beat .NET was in average hits per second, where Linux/J2EE had about a 20% advantage over .NET (a paltry difference, seeing as the Windows solutions were often several times or even an order of magnitude better than the Linux solutions in the other categories).
Now, eWeek did something else very interesting. They did a bunch of mix-and-match stacks as well: WAMP, JBOSS running on both Linux and Windows, Python on both OSs, etc. And they found that in almost every case in almost every category, the solution running on Windows was better.
Microsoft's .Net stack performed very well in our tests, clearly showing the benefits of the tight integration among each of the stack components.Bear in mind, they didn't do tons of tuning. As Steven Vaughan-Nichols points out over on Linux Watch, everyone knows that any stack needs to be tuned to work well, and he thinks that all stacks involved would benefit from some expert tuning. But he goes on...
You know what, though? I think the tests were perfectly fair.
Many, perhaps most, IT departments really don't know how to get the most from their software stacks. Oh, they always claim that they know Windows, Linux, or whatever best, and that's why they can't switch to something new. But, when you actually look at what the staff does -- as I have -- you'll find that their expertise is really little more than knowing how to use the most popular, automated scripts.
For all practical purposes, many production systems do end up running on their default settings.
He also rightly points out that the most interesting thing was how well the open-source tools worked on top of Windows--those produced some of the most impressive numbers. And, of course, that all of that Windows stuff costs money.
Bear in mind, I'm not trying to say that everyone should be working in Windows, and I'm not trying to tell everyone to drop Linux like it's hot.
But for those of you who think that the Microsoft stack just can't compete with the Linux/Java/Open Source solutions out there: Welcome to 2006.