It Must Be Microsoft’s Fault

Steven J. Vaughan-Nichols unleashes a scathing attack on Microsoft following the outage suffered by the London Stock Exchange:

It should have been a great day on the London Stock Exchange.

It was, the traders got to watch funny videos on YouTube all day instead of working.

Later the LSE gave the vague explanation, that “It was software-related, a coincidence, due to two processes we couldn’t have foreseen,” and not caused by high-volume. The spokesperson added, “We’ve introduced a fix and we’re confident it will not happen again.”

Somehow “we couldn’t have foreseen” and “we’re confident it will not happen again” don’t fit very well together.

Well, they didn’t foresee it. It happened, and it crashed the system. They now know what happened, and they’ve made a fix that makes sure that bug never strikes again. Comprende?

So what really happened? I doubt we’ll ever get a detailed, nitty-gritty explanation, but I have friends in London and…

None of them talk to me any more so I had to conjure this story out of my rectum.

On top of this runs the TradElec software itself. This is a custom set of C# and .NET programs, which was created by Microsoft and Accenture, the global consulting firm. Its back-end databases, believe it or not, run on Microsoft SQL Server 2000.

Nothing wrong there, at least they aren’t using a database with it’s own host of corruption and performance issues…

The programmers and serious database administrators in the audience can already see where this is going.

Yep, a Linux fanboy with nothing better to write about is going to do another misinformed rant about Microsoft.

Sorry, Microsoft, .NET Framework is simply incapable of performing this kind of work, and SQL Server 2000, or any version of SQL Server really, can’t possibly handle the world’s number three stock exchange’s transaction load on a consistent basis.

Okay, got any evidence to back up those statements?

I’d been hearing from friends who trade on the LSE for ages about how slow the system could get. Now, I know why.

No then.

What I find really amazing is that the LSE’s software stack hadn’t blown its top earlier. Even setting aside my feelings for Linux, there’s simply no way I’d recommend Server 2003, .NET and SQL Server for a job even a tenth this size. If a customer of mine insisted that they didn’t want open source – more fool them – I’d recommended Sun Solaris, JEE (Java Enterprise Edition) and Oracle or IBM AIX or z/OS, WebSphere and DB2.

Yes yes! Anything but Microsoft! Write it in C++, no C, no Haskell, no Smalltalk, no assembly, no in direct machine code! Yes, that’s the best way to do it!

What I’d really prefer to see is RHEL (Red Hat Enterprise Linux), JBoss, and MySQL or Oracle or Novell’s SLES (SUSE Linux Enterprise Server), JEE, and, again MySQL or Oracle for the DBMS engine.

Ah good old MySQL with it’s corruption and performance issues. Yes, that’s a much better DBMS than SQL Server for crucial financial data. And I’m sure the dog bowl mess that is JBoss and J2EE will be much better to work with than .NET. Like I said, anything but Microsoft!

In any case, though, the real moral of this story is that if you really want HA (high availability) or HPC (high performance computing), Microsoft’s products should be at the bottom of your list. Unix, mainframes, and, yes Linux, are far, far better for companies that need fast and reliable computing.

No, the real moral of the story is that Linux fanboys will latch onto any story where they can falsely discredit Microsoft using lies and spin, and none of them are worth reading. This is one I’m making an example out of.

Vaughan-Nichols fails to mention (or maybe he failed to research) that the outage wasn’t the fault of the .NET application he attacks (TradeElect), but on the “trading gateway between the LSE’s Extranex private network (linking the exchange and clients) and the TradElect electronic trading platform”.

Warning: require_once(/nfs/c02/h05/mnt/20370/domains/ [function.require-once]: failed to open stream: No such file or directory in /nfs/c02/h09/mnt/20370/domains/ on line 22

Fatal error: require_once() [function.require]: Failed opening required '/nfs/c02/h05/mnt/20370/domains/' (include_path='.:/usr/local/php-5.3.29/share/pear') in /nfs/c02/h09/mnt/20370/domains/ on line 22