I saw an article that someone posted on digg about this. I thought it was a bad article and so did most of the people that commented. I thought I would write up a little brief about each of them.
I’d like to start off saying that Windows servers can replicate most of Linux’s functionality (like using Perl and other programs that are meant for Linux). On the other hand, Linux can’t replicate most of what’s Windows specific (Access, ASP.NET). I’m not sure if Mono can be used on Linux for ASP.NET programming on a server.
I might seem like I’m heading for Windows here, but I much rather have a Linux server. My main reason is the stability/reliability. Linux servers have been known to stay up for months without restart. Windows servers need to restart and refresh every once and a while. Another reason I like Linux hosting is that it’s dirt cheap, at least for shared hosting. It’s cheap because the data center doesn’t have to buy licenses to Windows machines. Most large hosting companies run their own flavor of Linux (or at least customized from something like Fedora or Gentoo).
When you are looking for Linux hosting, I suggest you check what the features are and up-time are. You will probably be able to tell if they’re overselling by checking their up-time *cough* DreamHost *cough*. Not just them, but other companies and other non-professionals that use their own Cable connection for a server and just got a reseller hosting package. Those hosting providers usually go out within a month or two. That’s a good reason to backup data to YOUR computer not just the server. I tend to make full backups monthly of my whole home directory and all MySQL databases.
Usual features you see with Linux hosting are, PHP, MySQL, Perl, FTP, and some type of control panel. I think cPanel is the most popular choice, but their are free options like VHCS or zPanel. Usually these control panels come with some type of statistics program, but if you don’t have one you can always buy something like Mint. If you have cPanel, I would recommend you check out if they have Fantastico. It’s an automatic script installer, but the hosting provider has to buy it. I think its worth it to check and it’s pretty easy to setup WordPress installations and many other applications.
I would really only suggest Windows for certain things. If you have enterprise solutions that need some type of premium support, I would go with Windows. Most distributions of Linux don’t come with commercial support, with some exceptions like Ubuntu. Also, if you have a need for Access or MSSQL databases, then you need Windows. This going along with ASP. I’ve gotten ASP to work with Apache through Apache::ASP, but it’s really annoying. With Windows, you are probably going to get IIS anyways, not Apache. Most of the installation of IIS and the database is automated and quick. Unlike Linux, where you have to configure a lot of stuff, which requires some experience. With Windows, you just press a couple of buttons and its up and running. I’ve gotten Apache, PHP running, MySQL, and some other programs running on Windows that are mainly for Linux, but it defeats the purpose of running Windows when you install programs that work better on Linux.
The control panel that you get with Windows servers is usually something along the lines of Plesk. That’s the only one I’ve ever used for Windows. Although there is a cPanel version for Windows coming soon, I doubt that because it’s been “coming soon” for a couple of years. It’s rich with features and it’s easy to do administrative tasks.
So, if you are looking for servers, I would recommend Linux if you’re looking for cheap and reliable hosting. If you are looking for ease of use and enterprise-level support, I would go with Windows. The decision is ultimately up to you (or your employer). I hope this article helped with some of the decision making.