Skip to main content

It is a Platform or a Religion?

Blog posts like this annoy me. "Anyone who was ever fool enough to believe that Microsoft software was good enough to be used for a mission-critical operation..."

I’m annoyed enough to keep that link in my ‘ToBlog’ notebook for over a year. That’s annoyed, ‘eh?

Apparently the system failed and the blogger decided that all failed systems that happen to be running on Windows fail because they run on windows.

A word from the blind.

I've been known as 'anti-Microsoft', having had a strong preference for Netware and Solaris on the server side and OS/2 & Solaris on desktops. At home I went for half to a decade without an MS product anywhere in the house. Solaris on SunRays with Star Office made for great low energy, low maintenance home desktops that ran forever.

My anti-Microsoft attitude changed a bit with NT4 SP3, which even though it had a badly crippled UI, was robust enough to replace my OS/2 desktop at work. My real work still got done on Solaris though. On the server side, I didn't see much to like about Windows, using it only where there were no other choices.

Windows 2003 finally changed my mind. After running W2k3 and SQL Server 2000 'at scale' on a large mission critical on line application, and after having badly abused it by foisting upon it a poorly written turd of an application, and after further compounding the abuse by my own lack of Windows and SQL experience, I had to conclude that one couldn't simply declare that Windows was inferior, or that it didn't scale, or that is wasn't secure. If you wanted to bash Microsoft and still be honest, you'd have to qualify your bashing, hedge it a bit, and perhaps even provide specific details on what you are bashing.

It was after a few months of running a large MS/SQL stack that I was quoted as follows:

'It has display an unexpected level of robustness'


'It doesn't suck as bad as I thought it would'.

Now days I'm pretty close to being platform neutral. I have preferences, but they are not religious.

For any application that can run on up to 32 cores, SQL server works. Period. It might work on larger installs, but I don't have experience with them, so I can't comment on them.

Microsoft SQL server has a cost advantage over Oracle, so for any application that doesn't need Oracle Streams, Partitioning RAC or other advanced features, SQL Server tends to be the default. It certainly is far cheaper to meet a typical availability requirement with SQL server than Oracle, so for any application with an availability requirement that allows for an occasional 3 minute downtime (the time it takes for a database cluster to fail over), the Microsoft stack is a viable choice. My experience is that unplanned cluster failovers are rare enough that active/passive failover makes our customers happy.

For applications than can be load balanced, the Microsoft stack can be made as reliable as any other. Load balancing also mitigates the monthly patching that Microsoft requires.

For what it’s worth, the vendor of the ‘turd’  has improved the application to the point where it is a very well written, scalable, robust application running on a very, very robust database and operating system (Server 2008, SQL 2008).

It’s a platform, not a religion, so I reserve the right to change my dogma and preach to a different choir as systems evolve and circumstances change.

FWIW – I really, really liked OS/2’s Workplace Shell. I wish that Apple and Microsoft would figure out how to build a desktop like that.

Yeh, I’m still cleaning out my ToBlog queue.


  1. I too used to be anti-MS, namely for reasons to do with manageability and performance, and I like scripting - but I've mellowed over the years. I still work primarily with UNIX, but as an engineer you have to focus on what solves the problem best and sometimes Windows works.

  2. That's really the major downs side to MS Windows. It's much harder to manage in a scripted, change managed environment.

    And it doesn't have something the equivalent of sudo.


Post a Comment

Popular posts from this blog

Cargo Cult System Administration

“imitate the superficial exterior of a process or system without having any understanding of the underlying substance” --Wikipedia During and after WWII, some native south pacific islanders erroneously associated the presence of war related technology with the delivery of highly desirable cargo. When the war ended and the cargo stopped showing up, they built crude facsimiles of runways, control towers, and airplanes in the belief that the presence of war technology caused the delivery of desirable cargo. From our point of view, it looks pretty amusing to see people build fake airplanes, runways and control towers  and wait for cargo to fall from the sky.The question is, how amusing are we?We have cargo cult science[1], cargo cult management[2], cargo cult programming[3], how about cargo cult system management?Here’s some common system administration failures that might be ‘cargo cult’:Failing to understand the difference between necessary and sufficient. A daily backup is necessary, b…

Ad-Hoc Verses Structured System Management

Structured system management is a concept that covers the fundamentals of building, securing, deploying, monitoring, logging, alerting, and documenting networks, servers and applications. Structured system management implies that you have those fundamentals in place, you execute them consistently, and you know all cases where you are inconsistent. The converse of structured system management is what I call ad hoc system management, where every system has it own plan, undocumented and inconsistent, and you don't know how inconsistent they are, because you've never looked.

In previous posts (here and here) I implied that structured system management was an integral part of improving system availability. Having inherited several platforms that had, at best, ad hoc system management, and having moved the platforms to something resembling structured system management, I've concluded that implementing basic structure around system management will be the best and fastest path to …

The Cloud – Provider Failure Modes

In The Cloud - Outsourcing Moved up the Stack[1] I compared the outsourcing that we do routinely (wide area networks) with the outsourcing of the higher layers of the application stack (processor, memory, storage). Conceptually they are similar:
In both cases you’ve entrusted your bits to someone else, you’ve shared physical and logical resources with others, you’ve disassociated physical devices (circuits or servers) from logical devices (virtual circuits, virtual severs), and in exchange for what is hopefully better, faster, cheaper service, you give up visibility, manageability and control to a provider. There are differences though. In the case of networking, your cloud provider is only entrusted with your bits for the time it takes for those bits to cross the providers network, and the loss of a few bits is not catastrophic. For providers of higher layer services, the bits are entrusted to the provider for the life of the bits, and the loss of a few bits is a major problem. The…