I saw another question today about whether a VAR should recommend D3 Windows or D3 Linux. Knowing many sites that have moved from Windows to Linux, and those that have not, I thought I’d post my thoughts on it here for a more general audience.
In short, I think it’s all techno-religion of Linux versus Windows. From a functional DBMS perspective there’s nothing different about the two platforms. Sure, D3 Windows (formerly NT) has the FSI and nt_* commands and various nuances, but these are architectural / syntactical differences, and functionally these are of no consequence.
Most people who advocate D3/Linux these days for a D3/Windows site are already biased toward Linux for various reasons. I am constantly faced with people recommending D3/Linux for D3/Windows sites when they know nothing about D3, only that they like Linux better. That’s just wrong. Changing the OS underneath a working application can be a huge deal, and unless there is a real reason for making a change like this then Do Not Do It.
BTW, I’ve also had people suggest changing the OS as part of an application development plan. No, Do Not Do It. Application development is one task. OS migration is another. Separate them. If your application mods really require a change of the OS to support them, OK, migrate the DBMS and then continue with your app development. But don’t go for both simultaneously. I’ve seen this happen so many times (resulting in disaster) that I have a name for this: The Double Whammy. Don’t Do That!
Yeah, some people are going to say “you use .NET so of course you like Windows”. I’m no bigot for or against any specific OS. I use Java and PHP for Linux – and sometimes for Windows too. I simply don’t care. They all have their problems. Windows is notorious for too many awful issues. But Linux is nowhere near the salvation that people pretend it is either. People who rave about their Linux systems generally have not tried to patch or upgrade them (and insist this is because they don’t need patches because it all works fine, yeah, right). And with all of the hullabaloo about free software, FOSS is available for both platforms, and I don’t know a single end-user site that has expressed interest in their open source code – let’s not mix words here, they just want free (beer) software and calling it Open Source makes being cheap “chic”. So, much of the pretense about which platform is “better” is more about philosophy. I’m not a shill for Microsoft, I just haven’t consumed any Linux-flavored Kool-Aid either. Not being insane about X doesn’t mean you Are insane about Y.
The real answer is – use what you know. You can’t support what you don’t know. If you Do know Windows and you can’t support it, there’s no reason to believe you’ll be able to support Linux any better given the same level of expertise.
The Better answer is : ask the end-user what THEY want. Assume that the DBMS is the same for all platforms. What resources does the end-user have? Do they already have someone to support Linux? Great, get them D3/Linux. No Linux in-house and no IT? Use D3/Windows because they certainly have Windows in-house anyway. Do they have a Linux fan internally? OK, don’t argue, but advise them properly. Install what works for them in their long-term strategy, and what can be supported.
Note that if you’re a DBMS VAR, you aren’t responsible for the OS anyway, just the DBMS. If you charge your client for facilities management, then you had better be familiar with the platform or you shouldn’t be offering those services.
Now, all that said, D3/NT v7.0 through 7.4 were awful in many respects, and earned the D3 Windows platform a very bad name. We’ll all be in recovery mode on this for years. Most of the commentary against D3/Windows v9 are really about people’s bad experience with the older platform. The question is, how much do you trust that TL has addressed those concerns? I’m waiting for TL Marketing to help with that huge elephant in the room. Are you familiar with D3v9 or the upcoming v9.1? Are there unbearable issues in That platform? If in your opinion v9 is the same as v7, then sure, go for Linux. If you’re just gun shy, then sure don’t bother with Windows, go for Linux – with consideration for all of the above.
Here’s another consideration. Assume you have a site that’s already on one platform and you want to move them to another. There’s a fee for that. Can you really justify that fee to your client/management? And if you do migrate there could be a lot of interfaces to the host OS. If you are only moving the system for your own satisfaction, conversion of this code for a different OS is going to be a cost that needs to be justified.
I know people have their anecdotes: “I had a site that had chronic issues and after I moved them to the other OS all of the problems disappeared.” You’ll find people saying the same about every OS for every DBMS platform, and you’ll find as many people saying “I dunno, I’ve never had any problems that were that bad”. I completely respect the personal experiences that people have had. I won’t argue, won’t devalue the significance of their pain. I’m just saying, unless you’re really feeling pain which will be solved by a change of the OS, simply don’t change it.
Nebula R&D now sells and supports both D3 Linux and D3 Windows, and if you do have critical issues with D3 v9 on any platform, please email me.