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

I'm trying to get a general understanding of the difference between Linux hosting and Windows hosting. Everything I've read so far appears to be extremely biased towards either Windows or Linux, without providing - or addressing - claims that the other side of the argument seems to use in their argument.

So far what I've gathered that seems to be concrete is Linux is more stable/can run longer without needing a complete restart, but Windows has more 'support' for any problems you may run into.

I'm not looking for opinion, but rather concrete reasons, with the intent to compile a list to compare the two. Apologies if this is a duplicate, in my search I only found comparisons of actual development under Windows/Linux rather than a hosting comparison.

Edit

I'm not really looking for a specific scenario in question, such as "If hosting a small project, x is better, otherwise y is better". If such restrictions exist I was hoping for more something like "x excels at smaller projects because reasons, however if approaching a large scall project, it is best to use y as it offers reasons"

Edit 2

I'm looking for things like memory usage, stability, maintenance time/requirement. Just form a general standpoint. If examples are needed to elaborate than give examples, but I'm trying to get a general idea if Windows or Linux is better, or if they're equal. The main purpose of this curiosity is, well, I hate everything Microsoft, and I'm just wondering if there's any real benefit Windows has, or if Linux has clear advantages...

share|improve this question

migrated from stackoverflow.com Oct 6 '10 at 14:48

This question came from our site for professional and enthusiast programmers.

1  
When you say "hosting" will you be hosting the servers yourself or with a hosting company? –  Jaydee Oct 6 '10 at 14:37
1  
Despite your desire to avoid looking at specific scenarios to make the comparison... you really MUST. Both Operating systems have their strong points & weak points. A big portion of these points rely on what you are planning on putting on them. I.e. if you're wanting to deploy a .net application to a web server, It's all about Microsoft. If you are more geared towards php & mysql... Linux. Java seems split down the middle until you consider the database back-end. Plus, who is doing the admin of that box is a big concern. –  TheCompWiz Oct 6 '10 at 16:25
    
Some take it to the extreme and it quickly becomes the ford/chevy debate. But when you look at the pieces to the puzzle... (i.e. you have a ford engine) that really adds a huge bias to the overall answer. (i.e. ford engines are designed to go into ford vehicles) –  TheCompWiz Oct 6 '10 at 16:29
add comment

8 Answers 8

Familiarity is a big one.

  • If you are familiar with Windows, licensing considerations, phoning for support, working in a GUI - then use windows

  • If you are more familiar with opensource values, using forums and wikis for support, working at a command line console - then use Linux.

share|improve this answer
1  
I'm going to second this: your companies resources will probably determine more about your hosting than anything else. If you have a Windows culture with VB and C# programming skills, then hosting on Windows is going to be the default unless you have something massive that the alternative brings to the table. The contrary case is true as well: if you have a high level of open source programming talent, it would be hard to understand why you would avoid the cost savings that they can bring to the table on the licensing front. We have systems running on both, usually because of available talent. –  Godeke Oct 6 '10 at 22:22
add comment

In general:

  • Linux doesn't have to run a GUI. This is a major resource saver. However, some versions of Windows run without GUI overhead (check out Windows Server Core 2008).

  • Linux is the dominant hosting platform. Just as Windows rules the desktop and therefore has many apps for it, Linux has many apps, support communities and documentation targeted for it.

  • Linux has proven its stability as a mission critical server solution overtime. Windows can be stable too but it isn't free which leads to...

  • Linux is cost effective. Need to scale out? With Windows solutions you'll need to expand the budget much more due to additional licensing costs. However, Linux can incur support costs if in-house knowledge, communities, books and other documentation resources fall short of solving administration problems.

  • Linux's ease of maintenance has improved drastically over the years with things like packages and yum.

share|improve this answer
    
Note that Windows Server Core 2008 has now removed the GUI as well. Everything is done via PowerShell. –  Brent Oct 8 '10 at 12:56
    
Note also that while licensing costs are higher for windows, support and consultation costs can be much higher and harder to find for linux if you don't have the expertise in-house. –  Brent Oct 8 '10 at 12:58
    
Thanks for the additional info, Brent. I've incorporated it into the answer. –  webbiedave Oct 8 '10 at 19:18
    
The UI is not really heavy. Seriously - on a 4gb+ server ("decent small server" the UI overhead (especially when dormant) is VERY low. –  TomTom Oct 8 '10 at 19:27
add comment

I doubt that there is a single answer to this "Linux" hosts offer a very broad range of services as do "Windows" hosts. Then you have the Apache(on windows or linux) v IIS discussion then SQL server v MySQL v Oracle (The second two on windows or linux...).

I think you need to specify your requirements/ needs / desires as precisely as you can. Eg if you think you are going to need a lot of support, look for a hosting package that offers it irrespective of the OS.

Choosing a host by the OS is like choosing a car by the make of the wheels.

share|improve this answer
add comment

When making your comparison, perhaps consider the application first. In other words, what is it that you're trying to host? There are a lot of tried-and-true combinations out there for various kinds of hosted applications.

For example, PHP & MySQL websites almost always use Apache in my experience. On a lot of Linux systems, this just works. (Making it fast and secure isn't always trivial, but it's easy to get working!)

Although I have only very limited experience with IIS, I'd assume it's the choice for .NET.

Image hosting? I hear nginx is great for that.

Anyway, tell us what you can about what your application is, and chances are a lot of people will be able to lend some more technical advice.

At any rate, good luck. :)

share|improve this answer
add comment

It depends on what software you are using. Because the windows process model does not include fork, which is used as concurrency for virtually all unix software, windows tend to be either not supported, or a second class citizen for open source software. Depending on the platform you are deploying, this could either be a non issue, or a huge issue.

Second point is linux is free, windows has a price tag.

share|improve this answer
    
The cost of the OS is inconsequential compared with the cost of the hardware or the cost of hiring a sysadmin. Even if linux just takes 1 hour more a week to maintain, the cost savings become negligible. Not having to deal with contract negotiations is priceless though... –  Dan Oct 6 '10 at 19:52
    
@Dan: Thats why I put it as the second point, and a single line. What you aren't taking into account is that if you are an early stage company, saving 1.5k / server can be a big deal. At the end of the day though, it comes down to are you deploying MS software, or anything else. If it is something else, chances are you won't get the same performance, and there will be a large percentage of devs that will just ignore issues you log. –  Matt Briggs Oct 7 '10 at 1:16
add comment

The choice has to be made thinking to technologies to put on the server.
Php <-> Linux : Performance reasons
.Net <-> Microsoft : Features reasons

Licences prices can be take in consideration too.

share|improve this answer
add comment

Linux has far richer terminal (shell) support that Windows.

This is a huge advantage for hosting because it enables a great deal of flexible and automatable control over large distances or a poor connection.

share|improve this answer
1  
It was the case before powershell. With powershell, this advantage is quite arguable :S –  Maupertuis Oct 6 '10 at 14:45
    
if only powershell was half as sane as UNIX shell... –  Hubert Kario Oct 6 '10 at 16:02
    
PowerShell is just as sane. It just works entirely differently; it's not a very fair comparison. –  Chris S Oct 6 '10 at 17:32
    
I confirm, you can access all the .NET Framework and the WMIs with powershell so you can do almost everything you want –  Kedare Oct 8 '10 at 20:59
add comment

Linux - Flexibility

Pros

  • In general free
  • Highly configurable. If there is something you want to do, given enough time it is almost - certainly possible with linux.
  • Lots of options in regard to implementation choices. (similiar to second pro)

Cons

  • Time - This is a counterbalancing consequence to the Pros. You will likely spend much longer on configuration, security, and tuning.

  • Console Based for anything beyond basic administration. - This is actually a pro if you are comfortable with command line, because it allows alot of quick implementations of customizations.

Windows - Usability

Cons

  • Costs money for pretty much everything.

Pros

  • Not as configurable and therefore saves some time.
  • Usually comes with professional support.

In general if you need alot of flexibility and can burn time use Linux. If you desire less administration needed skills, and are ok with not being able to customize every little feature use windows.

Cost-wise it's hard to say since depending on the skill of the administrator it may take more time with Linux and thus in the end cost you what you would have paid to have it put in place via a comfortable UI.

share|improve this answer
    
How does being not as configurable (a disputable point at best) save time? It normally results in needing more time to get the configuration right. –  John Gardeniers Oct 7 '10 at 11:23
    
Not being as configurable means less configuration to worry about. This is one of the differences in culture between windows and Linux. I don't understand your logic with needing more time to get a configuration right when there is less to configure. –  Joshua Enfield Oct 7 '10 at 13:56
    
I'll also throw a mention at the free software movement which is much more inherent in Linux based software (since you can find almost everything open source). This is free as in free to do what you want (implementation, configuration) not free as in free beer. Windows is closed source for most products, and therefore will probably never have the same extensibility. This is simply a trade-off, it keeps things simpler and easier at the sacrifice of Flexibility. –  Joshua Enfield Oct 7 '10 at 14:14
    
add comment

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.