Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

Off the top of my head, I can think of a handful of large sites which utilize the Microsoft stack

  • Microsoft.com
  • Dell
  • MySpace
  • PlentyOfFish
  • StackOverflow
  • Hotmail, Bing, WindowsLive

However, based on observation, nearly all of the top 500 sites seem to be running other platforms.What are the main reasons there's so little market penetration?

  • Cost?
  • Technology Limitations?
  • Does Microsoft cater to corporate / intranet environments more then public websites?

I'm not looking for market share, but rather large scale adoption of the MS stack.

share|improve this question
5  
Could you please add your references to studies in your questions ? –  user2567 Nov 8 '10 at 18:27
1  
@RealWorldCoder: Please state your sources, otherwise you're just guessing. –  JBRWilkinson Nov 8 '10 at 18:34
4  
Closing a question based on what it might lead to? It's a valid and interesting question imo. –  Lars A. Brekken Nov 8 '10 at 22:10
5  
@Pierre: You didn't seem to mind leaving it open long enough to get an answer in there. –  Josh K Nov 8 '10 at 22:25
2  
Reopen is great, it prove it worth enought for the community –  user2567 Nov 9 '10 at 6:18
show 8 more comments

10 Answers

up vote 33 down vote accepted

I'll posit that it's because most of the "big websites" started out small. Google, youtube, facebook, et al. were all at one time single-server sites that someone built as a hobby. They used LAMP-like stacks because: 1) they're cheap and the devs were poor and often 2) because they were at a university and university environments tend to favor OSS.

After the sites started growing, the developers just stuck to what they knew. In the early years, there wouldn't be enough time or money to do a big system rewrite. When, and if, that ever became an option, why switch to an entirely different base?

So I'm saying it's because that's just what they knew and had when they started. SO isn't any different if I recall that story correctly. The SO Founders knew MS stack, and had access to the tools/liscenses/etc to start using it, and so that's what they used!

(I've also heard that they also wanted to prove that MS stack was just as good as LAMP for big sites, but that may be apocryphal.)

share|improve this answer
8  
I think you hit the nail on the head with "starting out small". The companies that try to start big websites almost always fail. It's the little guys who've been innovators on the web, for the most part. –  EricBoersma Nov 8 '10 at 20:15
1  
There may also be a selective bias effect going on here too. A lot of social networking sites started as small experiments, an ideal project for a cheap and easy Linux-based stack. A lot of big MS shops though, doing internal IT work or consulting in specific industries, will use MS technologies. So there's a lot of MS stacks, they're just not as visible to such a wide variety of people. There's plenty of LAMP stacks in that crowd too. I've got no numbers, but I know that all the big name technologies get some play, and plenty of the small name stuff too. –  CodexArcanum Nov 8 '10 at 21:21
    
It's not like they would love to move to windows but it's too late. They most likely don't ever want to move. The only reason people move from Linux to Windows is to play video games because video card drivers for Linux suck. –  hasenj Dec 31 '10 at 6:13
    
hasen j: Not because drives suck, but because most of the games are released of Windows than for GNU/Linux. –  kadaj Dec 31 '10 at 7:24
1  
I don't think Google was a single-server system ever. The whole point of its super search algorithm (map reduce) is that it is distributed over many nodes. I also really doubt Youtube ever thought they could stream video to their intended target audience using 1 single server! Facebook on the other hand... –  gbjbaanb Aug 9 '11 at 16:37
show 2 more comments

Cost

That's what I'm placing my money on. Facebook has 60k servers, what's the license cost on that vs. Linux?

Look at the "open stack" as we can call it:

  • Apache – Free
  • PHP - Free
  • MySQL - Free
  • Linux - Free

Contrast to the MS stack:

  • IIS - $$$
  • Visual Studio - $$$ (but it's great)
  • OS - $$$
  • SQL Server - $$$
share|improve this answer
8  
JoskK: you know just like me that Linux, PHP, MySql and Apache are not free. They are FAR from being free. –  user2567 Nov 8 '10 at 18:48
9  
@Pierre: Um, it's all gratis software, there are no direct costs associated with using those. Although MySQL does have commercial implications. Apache, Ubuntu, PHP, all free. –  Josh K Nov 8 '10 at 18:52
8  
@Pierre you have a valid point, but you need sys admins either way. –  Fosco Nov 8 '10 at 18:59
8  
@Pierre: You have to pay for admins no matter what platform you choose! Do you think MS server admins are cheaper then Linux admins? –  Josh K Nov 8 '10 at 19:01
13  
Cost may indeed be the reason, but you bullet list of Microsoft technologies that cost money is wrong: .NET is free, Visual Studio is free (there are paid version too, just like there are paid version of PHP IDEs), SQL Server Express is free (again, there are paid version too), and IIS is an operating system component which is included for free with the OS. Also, you don't have to run the Microsoft stack (just call it by its name: ASP.NET) on Windows/IIS, it can run on Linux/Apache too (with Mono). –  Allon Guralnek Nov 8 '10 at 21:06
show 22 more comments

So few? I don't think 34% market share is few.

http://w3techs.com/technologies/overview/operating_system/all

It's the study with the lowest result for Windows I've found.

There are others studies that grant Windows revenue based market share weight more than 60%.

Few is definitely not the good word to use.

More studies:

Reuters: http://www.reuters.com/article/idUSN2748543820080228

Netcraft: https://ssl.netcraft.com/ssl-sample-report//CMatch/osdv_all

Wikipedia: http://en.wikipedia.org/wiki/Usage_share_of_operating_systems#Servers

Does Microsoft technologies based websites can actually scale?

www.live.com (5th Alexa), www.msn.com (11th Alexa), www.microsoft.com (21th Alexa) or www.bing.com (25th Alexa) webmasters ;)

MySpace is also windows based.

share|improve this answer
6  
I am not talking about overall market share.I'm talking about properly large websites. Think Facebook, Twitter, YouTube, Google. –  realworldcoder Nov 8 '10 at 18:36
2  
If you want the proof Microsoft technologies scale, just check hotmail.com, windowslive.com, office.com, bing.com, microsoft.com. Most of them are even in the TOP 25 of Alexa in term of traffic. –  user2567 Nov 8 '10 at 18:43
3  
@Pierre: See my answer, I don't think it's about ability to scale, I think it's about raw cost. Microsoft owns all those sites, they don't have to pay licensing fees. ;) –  Josh K Nov 8 '10 at 18:46
2  
@JoshK: his question starts with "Off the top of my head, I can think of a handful of large sites which prove that .NET and SQL can actually scale:" –  user2567 Nov 8 '10 at 18:54
2  
In terms of adoption, the "properly large" websites are inherently not representative (with the obvious exception of Stackoverflow (-:) - firstly they seldom set out to be huge and secondly once you get to that scale you almost start creating your own platform if you haven't already (facebook have had to, google had already). –  Murph Nov 8 '10 at 19:46
show 14 more comments

I don't think cost is the primary reason, but sites like Google need a high level of control over what runs on their servers. They don't use a default installation of Ubuntu on their servers. Managing thousands of servers means that an awful lot of administration tasks must be automated. Command line oriented, modular open source operating systems like Linux or *BSD are probably better suited for the amount of customization a site like Google requires.

EDIT: And let's not forget that many of those top500 sites compete in one or more ways with Microsoft, so they probably don't want to rely on the technology of a competitor if they can avoid it.

share|improve this answer
add comment

Culture

Great hackers demand control. Great hackers share stuff.

All the cool toys come from great hackers, and they end up sharing and improving on each other.

Think of all the cool shiny stuff that's been coming out recently: Python, Ruby, Rails, Django, Flask, Node.js, etc.

All of them come from people who use a Unix system (Linux or Mac).

Unix systems offer a great platform and great tools for serious programmers to do their work.

Windows systems and Visual Studio tend to be used more by people who just want to "get things done" in the established way and earn some living.

It's not just because they start small as CodexArcanum's answer suggests. It's not like "oh they would love to move to windows but it's too late". They probably don't want to move to windows. It's severely lacking in terms of tools and power for the kinds of things involved in running a web startup.

For starters, most new shiny OSS projects use git for version control, and probably have their official code repository at github or something like that.

To quote Paul Graham:

What do hackers want? Like all craftsmen, hackers like good tools. In fact, that's an understatement. Good hackers find it unbearable to use bad tools. They'll simply refuse to work on projects with the wrong infrastructure.

(.....)

A couple years ago a venture capitalist friend told me about a new startup he was involved with. It sounded promising. But the next time I talked to him, he said they'd decided to build their software on Windows NT, and had just hired a very experienced NT developer to be their chief technical officer. When I heard this, I thought, these guys are doomed. One, the CTO couldn't be a first rate hacker, because to become an eminent NT developer he would have had to use NT voluntarily, multiple times, and I couldn't imagine a great hacker doing that; and two, even if he was good, he'd have a hard time hiring anyone good to work for him if the project had to be built on NT.

share|improve this answer
    
+1 hasen j for culture. I don't think that's always the case though - cost is a really important factor too. –  talonx Dec 31 '10 at 6:52
1  
Many people get windows for free. Specially the programmers/geeky types who can easily find a torrent for it. Also, many hacker types get Macs, which is rather expensive. As for the tools, well, the free Unix tools are available for windows too, and windows has its own free tools that are not available for Unix. –  hasenj Dec 31 '10 at 10:44
    
+1. Just look at academia. Almost everything interesting is done in Unix. –  syrion Mar 7 '11 at 15:13
    
What point are you trying to make by pointing out that most OSS projects use GIT for source control? –  MattDavey Oct 21 '11 at 11:27
    
+1 for citing "Good hackers find it unbearable to use bad tools". –  Giorgio Nov 20 '12 at 10:39
show 1 more comment

The (web) start-up world is heavily open-source based because of cost and prevalence of excellent tools such as memcache, noSQL databases such as Cassandra, MongoDB etc and large-scale data processing tools such as Hadoop/MapReduce. Until recently Microsoft hadn't paid much lip service to budding start-up enthusiasts and only recently started their "web developer" program to support start-ups. Also, their large scale data processing efforts have been a bit slow...Dryad/DryadLINQ, their alternative to MapReduce, has not seen the level of adoption they would like (its still limited to research schools outside Microsoft) and things have suddenly gone quiet on their (experimental) database system Hyder which supposedly allows scaling databases without partitioning. All this time Google has been giving excess to world class tools such as Dremel, Sawzall, etc to allow competitive advantage on the web and Amazon keeps making their web services and cloud computing services more easily accessible to the average start-up.

This also ties in with a question I asked a while ago: apart from Microsoft, all other web companies such as Google, Amazon, Yahoo, Facebook, Ebay, etc post job openings where they specifically list the LAMP stack as the tech stack required for their software engineer positions. Clearly people well versed in the LAMP stack have an advantage at many startups and big web companies while the .NET stack seems to be mostly reserved for corporate environments.

share|improve this answer
add comment

Cost factor definitely contributes to initial adoption of open source technologies.

But even when they grow really really big, they stick to open source stuff. If you have seen videos explaining scale at facebook or google, they invest lot of engineering effort in bettering the technologies they use (unladen swallow for python, hiphop for php). Also if they find there is a need for something completely new or a better implementation (thrift, protocol buffers, cassandra, big table), they not only create it, they open source it too.

I think the reason is control and minimizing risk because you do not have to depend upon a vendor to provide a solution for you.

share|improve this answer
add comment

I am particularly interested in this question, and find the answers above to be very thought-provoking. I have specific experience with management of Windows servers.

I will say that the comment about command-line tools is a little bit off the mark: Command-line tools are just as common when administering Windows servers as they are when administering Unix. The tools of choice would be OpenSSH for Windows, psexec in a pinch, WMI tools and more recently powershell with remoting. Windows 2003 Enterprise came with an SMS-ish management system called ADS. Once of the primary features of ADS that made it useable was the command-line interface to managing remote jobs.

As for the control over what runs in the OS: Yes, absolutely. Microsoft is only just getting the point recently, with Windows 2008 Server having a stripped-down (such as it is) flavor which has many fewer services/features. This is also been a continuum -- you could see the direction MSFT was going with 2003 Server shipping with many of its services off by default.

Cost is the most interesting factor. Licensing fees for Windows server is the #1 difference between the LAMP solution and a Windows ASP.NET solution. The birth of so many startups from academia is another big reason for the use of LAMP.

Conversion of large sites from LAMP to Windows ASP.NET can be done -- But it requires a tremendous amount of effort. Often times the conversion does not really happen until the next major version of the website is written from scratch, at which point it is written in Windows. The company with the most experience doing these conversions is Microsoft. Hotmail, WebTV, and Tellme are three examples.

I started this post by saying that I am particularly interesting in this question. The reason I am so interested in the use of Windows in Websites is because I am a Microsoft employee working on a major website. And I have to say I'm a little disappointed to realize just how few career options I have in terms of non-Microsoft Windows-based websites that I could move to.

share|improve this answer
    
its not just cost (thought the cost of a SA licence will be millions per year for facebook!) but stability. If you have 60k servers, Patch Tuesday and rebooting after a Windows update is not looked kindly upon. You have more control over Linux services in this respect to Windows. Still, learn some Linux tech - its not difficult and is really refreshing to see how modular it all is. –  gbjbaanb Aug 9 '11 at 16:34
add comment

Are you talking about Microsoft Platform or IIS Platform?. Many third party web servers are running on it. Like Apache does also run on windows platform. There are many public facing banking sites like citibank.com and etc using Java as platform. There is some technological limitation. Running Java on IIS is big hard task but IIS is improving and it is now scalable for larger organization. PHP on IIS is working perfectly fine now with Fastcgi support it is faster. With IIS 7/7.5 SEO friendly and open source software like PHP running website is possible.

If you check While Microsoft dominates 34% of total Web Server operating system which compares to Unix is half but they have improved a lot compare to past years and you can see that IIS is improving a lot. You can check following URL:

http://w3techs.com/technologies/overview/web_server/all

Cost?

Yes, Microsoft License is costly compare to NIX environment but if you compare but TCO on linux is higher. Normal System Administrator on Liux cost much more compare to Windows System Administrator.

Technology Limitations?

Till now, MS has technological limitation for large scale organization also Java works very well in enterprise and financial sector website but after IIS 7/IIS 7.5 scenario is changing with Web development environment like .Net framework and Portal like Share Point Portal Microsoft is improving a lot.

Does Microsoft cater to corporate / intranet environments more then public websites?

Yes, with newer version of Windows and IIS Microsoft is catering public websites and they will surely do well in future.

Gaurav Maniar MCP | MCSE | MCST | MCITP | ITILv3 Certified

share|improve this answer
    
TCO for Linux may be higher or lower, depending on your environment and requirements. Slapping something together may be cheaper with MS, but quality administration will be expensive on either. –  David Thornley Nov 29 '10 at 20:53
add comment

I'll throw in a vote for "tradition". During the whole dot-com run-up, "everybody knew" you had to have a big Sun or HP server running Apache, so that's what people bought. And when start-ups tried to emulate the successful companies, they used the same stuff. And since IIS didn't really offer any compelling features (unless you consider Front Page extensions...) there really wasn't any reason for anyone to consider a MS stack. Especially when you could run Apache and/or Perl CGI scripts on a 4-CPU Sun box, while dual-core Pentium II Windows boxes were fairly exotic. Now that the hardware is no longer a barrier, we're seeing more large sites on the MS stack, but I think that for most there's still no compelling reason to switch to (or start with) it.

share|improve this answer
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.