33

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.

Josh K
  • 23,029
  • 10
  • 67
  • 100

10 Answers10

40

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/licenses/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.)

Farhan
  • 103
  • 6
CodexArcanum
  • 3,461
26

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 - $$$
Josh K
  • 23,029
  • 10
  • 67
  • 100
25

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.

user281377
  • 28,434
20

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.

hasen
  • 1,369
19

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.

3

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.

fjxx
  • 827
2

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.

aufather
  • 4,427
2

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.

TMN
  • 11,383
2

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.

1

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

maniargaurav
  • 119
  • 2