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've seen it's quite rare to see huge websites running on Microsoft technologies like Windows Server, IIS, ASP.NET, SQL Server, take by example all the "bigs" known websites (Google, Facebook, Twitter, Youtube), they all runs a (sometime modified) Linux, so I'm asking why it's so rare to see huge websites like these run on Windows?

Is it a licences costs issue? Could we say that Facebook, Twitter, Google, Youtube would never grow like this if they had to buy all the licenses? Or it's something about scaling issues?

Sure Microsoft provides some really nice technologies like .NET, IIS7, SQL Server, Smooth Streaming, ASP.Net, but what about licenses cost?

What do you think about this? What is the position of Microsoft on the web technologies? What about the future?

I really like Microsoft products, but I'm a bit scared about cost...

share|improve this question

closed as primarily opinion-based by Bryan, mdpc, voretaq7 Aug 28 '13 at 15:49

Many good questions generate some degree of opinion based on expert experience, but answers to this question will tend to be almost entirely based on opinions, rather than facts, references, or specific expertise.If this question can be reworded to fit the rules in the help center, please edit the question.

    
Hmmm... It seems to me that www.microsoft.com is one of the largest, most heavily trafficked web sites and it runs on W2K8 and IIS 7.5. –  joeqwerty Jul 19 '10 at 22:28
1  
Yes but on microsoft.com, they can use the products as they want, I don't think they pay the licences, they have all the developers and a full access to the source code of the products, so we "could" say that they have a Linux-like use of the Microsoft products. –  Kedare Jul 19 '10 at 22:39
1  
It's not quite what you are after but worth reading a bit about the Netcraft surveys (news.netcraft.com/archives/category/web-server-survey). There is some useful trend info available. –  William Jul 19 '10 at 23:13
2  
This website (Serverfault) runs on a Microsoft stack. So does Stack Overflow, Superuser and all the Stack Exchange sites. –  Mark Henderson Jul 20 '10 at 0:30
    
When you have a big site like those, the licensing cost is more than hiring developers to customize a *nix base to do what you need. Even if the MS product is superior OOB, it loses in the race to the bottom line. –  Chris S Jul 20 '10 at 12:49

5 Answers 5

up vote 4 down vote accepted

It is quite rare, relatively speaking, to see websites running on MS tools. Its partly a historical thing - ie the "de facto" standard for webapps is a *nix system, and that means that most new webapps are written for *nix systems. That's just the same as desktop apps are written for Windows simply because the majority of desktops are Windows.

Apart from the history, where IIS was pretty poor, had a poor security record and was very much locked-in to Windows langauges (ie vbscript in ASP or ISAPI)(though you could run cgi apps), things have improved somewhat nowadays as languages like PHP have been ported to Windows with a lot of support.

Still, as the majority of websites still are *nix based, so not only will you find it a lot easier to obtain web skills from *nix people, you're also going to find a lot more information on working with the tools based on *nix systems.

Scalability. The TPC benchmarks always showed Windows systems scaling well... but you needed a f***lot of Windows servers to get the same benefits as a single Sun or IBM 'mainframe'. Those heady days where the 'one box' v 'one cluster' are over now - no-one really cares today, servers have become a lot more powerful so the differences are reduced. that said, the current top 10 TPC-C benchmarks all show *nix systems, and the TPC-H benchmarks show Microsoft systems doing well at the small end, but getting beaten into submission at the top-end tests.

However, one important factor there is cost of maintenance. More servers = more trouble = more time spent keeping them running. That can mean more expensive staff.

However, even SO is a minnow compared to, say, slashdot, and when you get a site with so many subscribers that your sitename becomes synonymous with a denial-of-service 'attack' you need to have some serious load balancing and architectural options. *nix systems have this, they're well known and widely supported (in fact, said systems can be used to load balance Windows systems too as they are delivered as standalone servers, running linux or a bsd OS), but that means you need *nix skills in order to get the most out of them - which, if you've only got Windows skills, you're going to have to do some learning. You might as well save yourself time and just learn the 1 OS!

Licencing: MS is getting better at giving away cheap OS for the web, Windows Server Web edition is a lot cheaper than normal Windows, but if you're running a large scale site.. you're going to want to upgrade it to Enterprise or even Datacentre edition, and those babies are not cheap by any means. And you'll want several instances running. And if, you're entirely Microsoft here, no doubt you'll be using other MS products, Office tools like Sharepoint or Biztalk or Commerce Server or SQL Server or whatnot. And those are not cheap either.

Compare that with the *nix solutions, you can guarantee they're free. OK, you may run Oracle DBs, but even so, that's cheaper than the whole MS stack. it may not matter so much in the big scheme of things, but if you're a small startup with a choice, free trumps any price. If you're a huge slashdot type site, free trumps hugely expensive.

Ultimately though, the free tools are rather good - good enough that all those sites use them. MS may produce lots of cool toys, but they're more like the Java of the MS world, and if you're going to run memory-hungry apps, you might as well use Java anyway. If you want to just get on with creation of a site, python or perl or php or ruby are all available to you on the free systems.

share|improve this answer
3  
+1, Also many *nix tools being free, they're much more available to learning developers. MS has only recently 'fixed' this by releasing Express editions of most of their development technologies. –  Chris S Jul 20 '10 at 12:53
    
though the 'express' editions are often crippled, losing just those few features you're going to want (and pay for hopes MS). Personally I like the free tools because you can also tinker with them - you're not a consumer of whatever framework MS decides you're going to like, or lump. –  gbjbaanb Jul 20 '10 at 15:11

Microsoft web-technologies are hindered by past reputation. Early IIS versions (by early I mean NT4.0 early, and .NET 1.0 early) didn't put it on a level footing with Apache, which helped solidify opinion of web-app designers that it just wasn't suitable for scale. It was a common config for years that Apache was for Internet apps, and IIS was for Intranet apps. This is beginning to change, and StackOverflow is actually a good example of this (at least the core is Microsoft, not sure about the edges).

One area that Microsoft isn't very good at is the packet-shoveling part of HugeSite management. These are the layers of network load-balancers, geographic balancers, caching layers, and suchlike. For that, you'll still find either Linuxes, hardware devices (possibly running Linux internally), or now-a-days cloudy stuff that runs who knows what.

As for the application logic and database layers of a HugeSite, that it can do as StackOverflow et. al. prove.

As for licensing, Linux etc. licensing can get expensive too if you require support contracts. Sure, if you're large enough to roll your own linux versions this is kind of a moot point. But if you're in that in-between size between living on shared hosts or VPSes, and big enough to roll your own, a support-fueled Linux (RedHat, SLES, etc) has its merits; especially if there is money being made.

Primarily it's a mind-share thing. That always takes time to change.

share|improve this answer

Yes its mostly about cost - but there are other considerations too.

Integrating monolithic Microsoft products with other products is more difficult than with software which has evolved in a Unix environment.

While Microsoft are getting better about performance, scalability and reliability they don't have a good history in these areas.

Road plans: while open source projects are often slated for failing to provide details of their future directions, the flip side of the coin is that commercial software is all about selling you the next big thing - so the products they are selling to day will not only be redundant in 5 years - they'll have been replaced by something different and incompatible.

C.

share|improve this answer

I would say it is a mix of licensing costs, reliability, and security. There are some major security implications with earlier IIS versions, and when Apache (for instance) is so proven, justifying the licensing costs just is not worth it to most.

Not me.

share|improve this answer

I'd guess that one of the reasons is that the MS products don't really scale that well.

Looking at http://searchdns.netcraft.com/?host=.microsoft.com it looks like much of Microsoft's scalability is coming from some one else.

Broken out by OS - count for the *.microsoft.com sites, it looks like:

  • citrix netscaler - 24
  • f5 big-ip - 27
  • linux - 19
  • linux - redhat - 2
  • unknown - 17
  • windows server 2003 - 29
  • windows server 2008 - 26
share|improve this answer
    
big-ip and netscaler are load balancers, so we don't know what are the real front web servers behind the load balancers –  Kedare Mar 11 '11 at 22:35

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