Choosing Between Windows & Linux for Workstation & Servers: Rationale & ExperienceBy Angsuman Chakraborty, Gaea News Network
Saturday, February 17, 2007
Traditionally companies choose Windows as their desktop environment and often for their intranet servers too. Windows is generally perceived as being easier to use and administer and mostly with good reason. And yet I selected Linux as the desktop and server platform for our massive (by our scale) infrastructure upgrade. In the following paragraphs I will explain the rationale for the decision and will also document our subsequent experience moving forward.
Linux versus Windows as Server Machines
We have embarked on a massive upgrade of our infrastructure with the addition of several 24/7 servers with RAID 1, QA automation machines, order processing machine and redundant internet connections. Each server machine will have RAID 1 and also have hot backup. The choice was between Windows server and Linux. I choose Linux for our server machines for the following reasons:
1. Our web server runs on Linux for strategic and security reasons. It only makes sense to have the same server operating system and environment here to simplify maintenance.
2. We will be dedicating two machine (one for hot backup) to provide internet connection. The same machine will also host DNS server, Web server and database (for our applications). In short I intend to make it a near (explained below) duplicate of our web server machine. The idea is to be able to use this machine to act as a emergency backup of our live server(s). Both the machines (files and database) will be synched several times a day. This machine can also act as backup DNS provider. However this cannot be used to distribute load under normal situations because the upload bandwidth is low as is normal in ADSL and Cable connections. Even then this should provide me with some peace of mind. It only makes sense to have similar configurations in this machine as our current web server machine(s).
3. High cost of Windows server machines for multiple licenses and complicated licensing schemes. The cost of procuring and ensuring that we are compliant is very high for our small organization, not simply in dollar value but also in terms of resource allocation. We will use commodity hardware and I anticipate that we will have to replace them from time to time. With Linux I can keep several hot backups and not worry about breaking their licenses. In intend to use Fedora Core as our experience with them has been very positive.
4. RAID 1 support.
Both Windows 2003 server and Linux provide software RAID 1 support and also other RAID levels. Unfortunately Windows XP Pro or Windows 2000 do not provide RAID 1 support (mirrored). You must purchase the server version. Both operating system also work with hardware RAID 1. However at this time I have decided to choose the software route as it fits well with our strategy of using commodity hardware and having spare backup machines; also it is cheaper without compromising data integrity and availability. I am not particularly concerned about performance of intranet servers. Generally in software RAID the performance is expected to be lower. Also in Windows RAID support you will first have to install the oprating system on a non-RAID device before RAID can be enabled. I haven’t explored the Linux document in details but they provide all the RAID support through software and for free. Their RAID support appears more configurable and all encompassing.
5. Our server applications like Apache HTTP server, Subversion, MySQL, DNS Server runs equally well on both platforms.
Linux versus Windows as Workstations
Development & QA Automation Machines
These need to be high end machine. We use a code editor for php and Eclipse IDE for Java. Both of them are available in Linux as well as Windows XP. Linux comes with Bash shell which is significantly superior to cmd prompt in terms of scripting and task automation.
Java and PHP work in Linux as well as on Windows platform.
As a blogger we simply need a web browser and a convenient feed reader. There are several PHP-MySQL based feed readers which will suitably serve our requirements. Firefox works fine with Linux as well as Windows. So frankly Windows do not have any advantage here.
Any machines require email access. In my experiments Thunderbird came slightly ahead of Microsoft Outlook for pure email purposes especially due to built in Naive Bayesian filter and close integration with Firefox, our web browser. For additional requirements like Calendar, Sunbird is a good choice.
Linux is traditionally ahead of Windows in terms of security. We can get a reasonable protection with iptables alone. ClamAV serves as a decent anti-virus solution for Linux among others. Frankly Internet Explorer will not be missed.
Office Productivity Suite
Star Office competes well against Microsoft Office in this department.
Overall I didn’t find significant disadvantage of using Linux both as Workstation and Server in a software development company. Linux lacks behind in ease of use and requires more upfront training. However the increased security, availability of software RAID 1 (mirroring) and lack of licensing hassles give it a strong advantage over Microsoft Windows in my humble opinion for a software development company.
I will update from time to time about our experience in going 100% Linux in the coming months.
Tags: eclipse, Subversion