The following is imported from a now effectively defunct weblog of mine called ITLOG at TechRepublic. It is reproduced here with some modifications.
Any time you’re looking at your network and thinking “Woah, this kinda sucks,” you’re going to start thinking about changes. Such changes might involve altering trouble ticketing procedures in a business environment, hardware upgrades, new projects for a home-based network, tightened system security profiles, or even migrating to a new operating system for many, if not all, of your herd of boxen. Having been following the news lately (You have been following IT news, right?), you might have noted that people are talking quite a lot about Linux as a viable replacement for Windows in anything and everything up to the server infrastructure in a medium-sized enterprise (since nobody in his right mind runs Windows as the primary server infrastructure in the biggest enterprise networks).
Maybe Linux is for you. After all, if GM, Autozone, the city of Munich, Industrial Light and Magic, Ernie Ball, and countless others can have staggering successes and make large-scale migrations, it stands to reason that you sure as heck can. Even better, Linux is free!
Wait a minute. Hold on there, Tex. What you do on your home network is on you, but if you’re the IT manager and you’re looking at a Windows network and thinking “This all has to go,” you may be right — or you may be stepping off the edge into a deep, dark hole, out of which your career may never climb. There’s a lot to consider in planning a platform migration in a network, even if it’s a small one. In fact, even stand-alone systems can provide significant challenges in moving from one OS to another, regardless of the OSes involved.
First of all, you need to examine your network or system needs and determine whether any migration at all is a good idea. A number of important factors come to light. For instance, if you are doing a lot of computer gaming and aren’t interested in spending time figuring out how to make World of Warcraft work beyond putting the CD in the drive and clicking on “OK” a couple dozen times, you should stick with Windows for that. While pretty much any application or server available on Windows has a counterpart (or two, or fifty) that runs like gangbusters on Linux, the applications are often different from those available for Windows. While this isn’t in and of itself a reason to discard Linux as an OS migration target, you need to be aware of the features and functionality provided by the applications you’re currently using, and how they stack up against those of similar applications on the platform to which you’re migrating. Even if it has more features and functionality, there’s no guarantee that the same type of application on Linux will have all the same features and functionality of a Windows counterpart as part of its own list of characteristics, and if some feature is business-critical (such as compatibility with a particular customer’s or upstream distributor’s software), you might want to rethink abandoning the Windows platform.
For about 98% of networks, however, this isn’t really a concern: most people don’t use anything in Windows that can’t be done with the lineup of freely available software in Linux. Even games are becoming increasingly portable between OSes, thanks to the efforts of the developers for projects like WINE and Cedega. Also, even if you cannot completely abandon Windows, you very well might realize significant benefits by a partial migration.
Another important point to consider, of course, is support costs. The Microsoft marketing department is always happy to point out that Linux has higher support costs than Windows. Sadly, they’re full of it, but that doesn’t mean that you shouldn’t look into support costs for the Linux systems as a possible sticking point. Increased cost is the exception, and not the rule, but that doesn’t mean it’s not possible. Keep in mind that Linux systems do still need to be managed by a competent administrator, just as Windows systems (and Solaris systems and OS/400 systems and OS/2 systems and BeOS systems and MacOS X systems and so on) do. Typically, you’ll need fewer admins for a Linux network than a Windows network, in part because of reduced administrative overhead and in part because it’s often the case that fewer systems are required for the same operations and network size, but that number of needed administrators never quite hits zero. There’s also the simple fact that if you’re a Windows guy who knows nothing about Linux he didn’t read in a trade rag, you’ll have to learn a lot more before it’s a good idea to migrate everything to Linux in a production environment, particularly if you’re the only administrator — or you’ll have to hire someone else to manage your network, which might mean one more employee than you had before.
It’s not nearly as difficult to find affordable Linux sysadmins as some (such as Microsoft) would have you believe. Take heart. If you need someone that can competently manage a Linux network, though, you need to adjust your hiring expectations slightly. If you want someone with Windows credibility on his resume, it’s a simple task to find one in the CS department of the local university. Just walk into some of the senior-level undergraduate CompSci classes and swing a dead cat: you’ll hit about thirty or so. The reason for this is that most of these guys aren’t actually competent sysadmins, even with Windows, regardless of their resume filler. These are people whose only credible sysadmin knowledge usually comes from formal education. There are exceptions, but Microsoft certifications aren’t a reliable indicator either (take it from me: I have two MS certs, and they’re not the reason I’m a good Windows admin). If you want someone good at the job of system administration, you need someone who’s enthusiastic, and there’s nowhere better on the planet (as far as I’m aware) to find enthusiastic sysadmins than at a good Linux User Group meeting, and you might even be surprised by the people you find at a LUG meeting who are not only competent Linux sysadmins, but competent Windows sysadmins as well, whether they have degrees or not (and many do). So, be aware that you may have to hire someone new, and/or you may have to learn new skills, but you don’t necessarily have to have a hard time finding this hypothetical new employee for a reasonable salary or wage.
It used to be true that between Linux and Windows there was a huge gap in quality of hardware support with Windows as the clear winner. That’s no longer the case. In some ways, Windows hardware support is better, and in some ways Linux hardware support is better. We’re unlikely to see either become a clear winner in that arena again, unless Windows goes the way of the dodo due to market realities or open source software development ends up getting outlawed at the behest of lobbyists for the proprietary software vendors. You still need to consider hardware compatibility issues when you deliberate over whether to migrate from Windows to Linux, however.
Test Linux on the hardware you intend to use before committing to using it. You’ll have to ensure you iron out any wrinkles in your understanding of how Linux and Windows hardware compatibility differ from one another, and you’ll want to be sure that Linux supports everything fully. Windows support for some hardware is effectively nonexistent, as anyone doing the sort of consulting work I’ve done for a few years should know quite well, and Linux can have such hardware support issues as well — though Linux can still get something of an unfairly won bad reputation when people try installing it on a system they bought with Windows pre-loaded. Clearly, if you’re buying a system with an OS already installed on it, the hardware vendor is unlikely to have sold you a system that your OS won’t support, but if you then go installing a completely different OS on it you might have severe problems. For example, Linux support for Mac hardware is not as good as that of MacOS X, but it’s a darn sight better than Windows support for that hardware. In short, the moral of the story is that you have to ensure you’ve got the right hardware for your OS before you rely on that OS working properly on that hardware. Double-check that and, if there are problems, you need to decide whether you can “fix” them, whether you can afford to replace the offending hardware, and whether you might rather just stay with Windows.
Consider who you’re employing (or who is getting employed alongside you), and for what purposes you’re thinking of using Linux. Linux on the desktop has come a long way, and is usually every bit as good as Windows as a desktop system. Sometimes it falls well short of Windows, and sometimes it makes Windows look like a child’s broken toy. It all depends on who’s using the computer, and for what purposes they’re using it. If you’re putting computers in front of accountants, you should really consider sticking with Windows (at least for the bean-counters), particularly if you have a high turnover rate for accountants. There is good desktop accounting software for Linux, but it’s one area in which Linux-compatible software can lag, and it’s definitely an area where the people with the skills you need are almost invariably going to be permanently wedded to their Windows-based applications (at least for the time being). On the other hand, if you’re dealing with engineers in bleeding-edge industries, you’re probably going to see a lot of people who refuse to use Windows, which just won’t compare favorably with the various workstation-level unices available.
Finally — and I can’t stress this enough — if you are, yourself, not conversant enough in Linux to find this explanation to be completely unnecessary, because you already know all of it and already have the necessary calculations and resources in place, you need someone to help you analyze the situation and make decisions. Make sure it’s someone that knows both Linux and Windows, and that it’s someone that doesn’t have any short-term vested financial interest in either platform. Conflicts of interest are suboptimal, at best.