Take the 2-minute tour ×
Server Fault is a question and answer site for system and network administrators. It's 100% free, no registration required.

So far I see a HUGE majority of hosts provide only Linux shared hosting, providing Windows only to VPS (or even to only dedicated servers). Why is it so? While Windows is a lot more expensive than Linux (though it depends on a lot of factors, not just initial and support license cost), it also provides ASP.NET, IIS and of course, Microsoft SQL Server. I know in the past it might have been because of cPanel being Linux only but now they have a Windows version.

But still, why is Linux predominantly used on shared hosting? PHP works on both systems. IIS can be (and probably is) faster. MySQL runs on both systems as well. cPanel has a Windows version. Python, Perl, Ruby, all run on Windows as well. You even have MS SQL Server Express, which I find more superior than MySQL in both speed and features. Access is there for low usage requirements, as is SQLite (which is so great for quick small stuff). And with PowerShell you have a good alternative to the Unix shell.

EDIT: I am looking for common reasons, I realize each hosting company (and/or it's clients) may have different needs. This becomes very important when you get to VPS or Cloud which give you a full operating system to use.

share|improve this question
3  
Why is IIS better than Apache again? And are you really trying to argue that MS SQL Server Express is superior to MySQL? –  MDMarra Feb 27 '10 at 17:18
    
No, that's not my point, though I added it as an argument. One thing I personally prefer is a very powerful GUI to configure the web server, instead of editing httpd.conf. Also see serverwatch.com/article.php/3074841 –  Mircea Chirea Feb 27 '10 at 17:21
1  
I don't need a like to serverwatch to know about the difference between Apache and IIS :) I manage a fair amount of both servers daily. The point is (and you will see if you look at the comments in the article that you linked) that one is not better than the other. IIS has much better interoperability with other MS products such as MS SQL and ASP.NET. Apache has much better integration with mySQL and PHP. The bottom line is that they each excel at different things and the "one is better than the other" tone in your question will not lend well to getting a good answer to your real question –  MDMarra Feb 27 '10 at 17:31
1  
sql server express is only faster than mysql until you need more than 1 CPU. –  SnOrfus Feb 27 '10 at 19:04
5  
@pulegium, {sarc}faster to empty your wallet.{/sarc} –  Zoredache Feb 27 '10 at 20:55

7 Answers 7

up vote 5 down vote accepted

Having worked within hosting companies that provide both Windows and Linux shared hosting platforms it is a combination of cost analysis. As mentioned the licensing costs on Windows is expensive when compared to Linux. As well the Windows servers to provide a stable hosting platform require much more resources than to run a similarly stable Linux platform. Usually required about 4x as much RAM alone to provide the same levels. Even with running Windows "core" there are limits to some of the features that can be hosted so you still can't get away with running just "core" if you want things like .NET and ASP. Another big factor is the fact that you don't have to reboot your Linux servers every "patch Tuesday" as you do with Windows.

In the end it is generally cheaper and more cost effective to run Linux hosting servers than Windows and that makes a big difference. As mentioned the biggest draw for Windows hosting are those needing to interoperate with other MS products and those that require that are willing to pay larger account fees to have that. If you look at most hosting providers you'll find they offer some form of webmail or simple IMAP/POP for email instead of Microsoft Exchange, this is also due to the licensing costs Microsoft racks up if you use it.

share|improve this answer

Four things jump immediately to mind: cost, admin, demand, support.

Cost: Not providing Windows means not having to have Windows licenses.

Admin: Even if you pass on the full cost of the Windows licenses (or even manage to make a small profit on getting some sort of full site license and renting that out enough to make the money back and more) the host has the hassle of ensuring that all the copies of Windows it is responsible for are correcly licensed (i.e. they've not sold more than they have bought).

Demand: A lot of people want Linux on their servers for a selection of reasons, or don't care either way in OS terms but find Windows plans more expensive or (in the case of people looking for cheap low-spec VMs to run very simple services on) less demanding in terms of system resources, particularly RAM and disk space (Windows 2008 "core" goes some way to redressing this difference, but you can still squeeze a functional Linux install into much less space). In large numbers you can get Windows licensing down to "very little per machine/VM", but if a host does not rent out enough Windows licenses then they can't do this so either have to eat the extra cost or pass it on the their clients.

Support: The host may specialise in one OS and not others simply due to the range of expertise they have access to for support purposes. This makes a lot less difference if they are offering only completely unmanages services, but is probably still a common consideration.

As you suggest in your question, the relative weight of these reasons (and others) will vary from host to host depending on their size, target market, and areas of expertise.

share|improve this answer
    
The host specializing in one OS (or having staff with more knowledge on one OS) falls into the special needs category, which is an obviously very strong reason and kind of out of scope of this question. About disk space, HDD are usually bought in large capacities (500GB+), which nullifies arguments, especially considering 90% of the people won't use over half their allocated space (10 GB is a LOT for a shared hosting account); HDD space is very cheap these days anyway. –  Mircea Chirea Feb 27 '10 at 17:31
4  
@iconiK - Most hosting providers do not use local disks, and instead use a shared storage solution such as a SAN. Disks for these are far more expensive than for a desktop machine. a 500GB FC disk is usually 10x or more than a standard SATA hard drives that you will find in your home. –  MDMarra Feb 27 '10 at 17:40
1  
Hosting companies don't actually buy Windows licenses. They rent them from Microsoft via a hosting provider license and simply pass that cost to the customer. –  mrdenny Feb 28 '10 at 1:50

The question is backwards, and you provided the main reason in your question. Successful companies provide what their clients want so the real question is why do clients prefer Linux over Windows. If the demand (revenue for hosting companies) for Windows exceeded the demand for Linux then we would see more hosting companies focused on Windows. Since, as you point out, that is not the case it must be that clients demand Linux more than Windows.

So, why do clients generally prefer Linux over Windows for web dev setups:

  1. Cost, you said it. Think particularly about cost sensitive clients (who isn't): young people, start-ups, education/non-profits, clients in lesser developed countries, personal websites, testing, hot spare needs, etc.
  2. No need to manage licenses. Managing licenses is a joy separate from the cost of buying licenses.
  3. Better compatibility w/ other free components of websites: LAMP, Joomla, Drupal, etc, etc.
  4. Scales up/down w/out ending up with unused licenses.
  5. Linux generally has a smaller footprint, particularly if it is optimized for CLI only build. Thus it generally runs better on lesser hardware (RAM & CPU).
  6. Standardization for development & management. There is a very high cost to switching development platforms and a very large advantage in standardizing on a management platform. If a client engages a developer that person will use her preferred platform & mgmt system unless there is an extremely important reason not to.

There are several statements in your question that are very debatable so without arguing the pros and cons I'll just say that there some very strong arguments for MySQL, Apache, PHP to be at least as good as SQL Express, IIS and ASP in many common situations. If 2 solutions work equally well and one is significantly less expensive then it will see much greater implementation, always.

The fact that you mention Access as appropriate for anything is interesting, I think there is a small minority of people who would agree with that statement.

share|improve this answer
    
I didn't say appropriate for anything, just low-usage stuff. Databases are easily managed through the GUI and do fine for low usage. –  Mircea Chirea Feb 28 '10 at 7:42
    
Thanks for clarifying, I understood what you meant but my language wasn't very clear. In my opinion, using Access for anything is a mistake. An objective evaluation of Access vs other db options will result in the choice of "other db options", some of which are MS products like SQL Express. I agree that it's easy to use, but there are other more important factors in the choice of db. –  Ed Fries Feb 28 '10 at 9:20

I'll give a word of warning that I'm not too familiar with windows in server environments, so take those biases in account.

Linux is standard. Apache was one of the reasons linux became popular on a server environment. Businesses tend to default to the option everyone else uses, regardless if it's the best or not.

Windows has a tarnished name. Just look at the desktop-variants for that perspective. Even IIS had a problematic history.

There's also something un-nerving that Microsoft's PR campaigns. See press of about godaddy to what linux.com says? Sure both sites have obvious biases, but who do you trust: someone who's trying to sell you something, or someone who is fanatical about something (both have flaws).

The ease of a GUI is great for desktop use, but most of the time servers are set up in some automated fashion. Having a GUI interface simply consumes extra system resources.

Updates. Most updates provided on linux environments can be automated to backup & update. Most updates don't require reboots. Although I definitely could be wrong on this part.

Lock-in. It's a nice feeling to know when your not reliant on a company to implement features into a language (ASP.net). At least for me. Mono is a noble project, but it'll always be behind the standard implementation from Microsoft. This also applies to Windows. If some freak security flaw occurs, who can fix it? What if it won't be fixed. Being already on a POSIX-like environment allows for quicker transitions into BSD, for example.

While Perl, Ruby, Python, etc. work on windows, but they're originally developed on posix environments. I'm not sure how most compare, but Ruby still runs faster on linux that windows.

For shared hosting environments, it's all about the cheap, not about the fastest.

These are the arguments I've come across as the most common for not using windows. It's mostly because of people's sterotypes.

share|improve this answer

This question is an invitation to explore the intersection of business and technical considerations in a particular business market (web service hosting).

The choice of offerings (OS being the primary determinant here) is fundamentally one maximizing ROI. How much does it cost for you to create an offering (capital outlay), and to provide and maintain it (unit and overhead)? How much can you charge for it? What's the market size (how many customers do you estimate are willing to pay your price)?

You only mention two offerings: MS Windows and Linux. That's almost the total market ... there are sliver thin niches offering FreeBSD, Solaris, MacOS X, etc.

As you point out most of the available vendors offer Linux and do so at a considerable discount over the available MS Windows offerings. Obviously Linux is free (no per unit capital expenditure for software licensing). Linux has become widely known among technical professionals (development and support staff are reasonably easy to find). Linux, in any competent configuration, can run with considerably less hardware overhead (further lowering capital overhead, since you have a higher capacity on comparable hardware).

Furthermore there's a huge market for Linux servers (VPS or co-located). Many popular applications (Apache and many modules, PHP, MySQL, and quite a few wiki, blog, and other offerings are readily available for it.

MS Windows is more expensive in every regard. Initial capital outlay is significantly higher since you have to create your own "dashboard" and "provisioning panel" applications ("cPanel" for Linux is commercial ... but widely understood and reasonably priced, for example; GNUpanel exists as an alternative, though I don't whether it's mature enough for most businesses). Unit costs entail licensing fees to Microsoft. Maintenance costs are higher (Linux admins tend to be marginally more expensive, but the most recent credible study I've seen suggests that reasonably competent Linux/UNIX admin can manage about four times as many servers as a comparably experienced MS Windows counterpart).

On top of that the size of the market seems to be much smaller. There are fewer customers (mostly because your offering price must be higher for the aforementioned reasons). Yes there are some ... there are developers and applications which are only supported under MS Windows based systems. There are some customers who are willing to pay a premium for MS Windows based hosting.

Mostly, however, the market is dominated by price. The number one factor for most of these hosting sites is which can offer the lowest price for an acceptable level of performance and reliability. (A few reasons why price is takes priority for so many customers: it's the one unambiguously quantifiable objective criteria they can readily find; too many vagaries affect power and 'net reliability and there isn't a widely recognized objective comparison of the other factors).

Certainly Microsoft has struggled to increase their penetration into this market. However, they have yet to find a way to gain more ground in this particular market. I've heard that they paid a number of domain hosting providers to use IIS on "parked" domains (in an effort to skew the Netcraft statistics). However, most of their efforts seem to have been focused on expanding their lock-in in the development tools chain (offering the IDEs that more developers want to use, thus locking them into .NET) and trying (in vain) to lure hardware vendors into new forms of lock-in (like the abortive "legacy-free" PC99 spec. they tried long ago, and variations on the "trusted computing platform" and so on).

Honestly I can't think of a combination that would really help them. They could offer a "free" (no-cost) starter edition just for hosting/co-lo providers of their platform and tools set ... and try to sell up from there. They could couple this with a client package (basically a buffed up Frontpage). They could offer a cPanel package to the providers for free (initial cost) and perhaps even some commission on any upsell garnered through that provider's offering. I don't know if those would be compelling enough to compete with free (libre).

(Personally it wouldn't work for me; but it might appeal to enough of a segment to be statistically significant).

share|improve this answer

i have never seen shared hosting done right on windows. maybe it's possible; but it would be hard to give each user enough control while still keeping them reasonably independent.

Unix-like systems, and apache in particular, on the other hand were pretty much designed around the assumption that different users will be each trying to get the most of the machine and it's the platform's task to serve them equally well.

share|improve this answer

Eng: Because with linux comes FREE software, more security (windows shared hosting had no way to prevent one user from reading another users files), windows is expensive if you have many servers, and cpanel for windows isn't around for a long time it's a little new.

share|improve this answer
1  
Can we leave the "free vs proprietary" ideological battle where it belongs, and just answer the question, please? –  Darth Satan Feb 27 '10 at 21:05
2  
I think you may need to read up on Windows file permissions. –  MDMarra Feb 27 '10 at 21:45
    
@MarkM Agreed I need to get my ass reading more about win (especially server editions). –  DCC Feb 27 '10 at 23:05
1  
DCC, I think your are lost in the FAT & DOS era of Windows. Also, cPanel for Windows being new is a moot argument, as are most X is new, it's not so good because it's new. I've seen new stuff being much better than older more mature stuff. –  Mircea Chirea Feb 28 '10 at 7:44

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.