为什么这么少的大型网站运行Microsoft堆栈?[关闭]


33

我脑海中浮现出一些利用Microsoft堆栈的大型网站

  • Microsoft.com
  • 戴尔电脑
  • 我的空间
  • 好多鱼
  • 堆栈溢出
  • Hotmail,必应,WindowsLive

但是,根据观察结果,排名前500位的站点几乎都在运行其他平台,那么市场渗透率如此之低的主要原因是什么?

  • 成本?
  • 技术局限性?
  • 与公共网站相比,Microsoft是否更适合企业/ Intranet环境?

我不是在寻找市场份额,而是在大规模采用MS堆栈。


5
您能否在您的问题中添加对研究的引用?

1
@RealWorldCoder:请说明您的来源,否则您只是在猜测。
JBR威尔金森(JBRWilkinson),2010年

4
根据可能导致的问题结束问题?这是一个有效而有趣的问题。
拉尔斯·布雷肯

5
@Pierre:您似乎并不介意将其打开足够长的时间以得到答案。
乔什(Josh K)2010年

2
重新开放很棒,它证明了它对社区来说足够值得

Answers:


39

我认为这是因为大多数“大网站”都是从小开始的。Google,Youtube,Facebook等。一次都只是某人的爱好而建立的单服务器站点。他们之所以使用类似LAMP的协议栈,是因为:1)它们很便宜,开发人员很穷,而且经常2)因为它们在大学里,大学环境倾向于OSS

网站开始发展之后,开发人员只是坚持自己所知道的。在最初的几年中,没有足够的时间或金钱来进行大型系统重写。什么时候,如果有的话,为什么要改用完全不同的基础呢?

所以我说这是因为这就是他们刚开始时所知道和拥有的。如果我能正确地回忆起这个故事,那也没有什么不同。SO创始人知道MS堆栈,并可以使用工具/许可证/等来开始使用它,所以这就是他们所使用的!

(我也听说他们也想证明MS堆栈在大型站点上与LAMP一样好,但这可能是伪造的。)


10
我认为您以“从小开始”打在了头上。尝试建立大型网站的公司几乎总是失败。大多数情况下,都是网络创新者是小家伙。
EricBoersma 2010年

1
这里也可能会发生选择性偏见效应。许多社交网站都是从小型实验开始的,这是基于廉价和便捷的Linux堆栈的理想项目。不过,许多大型MS商店在内部IT工作或在特定行业中进行咨询时,都会使用MS技术。因此,有很多MS堆栈,但对于许多人来说却不那么可见。那群人中也有很多LAMP堆栈。我没有数字,但是我知道所有大牌技术都可以发挥作用,还有很多小牌产品。
CodexArcanum 2010年

2
并不是说他们愿意搬到窗户,但为时已晚。他们很可能永远不想搬家。人们从Linux迁移到Windows的唯一原因是玩视频游戏,因为Linux的视频卡驱动程序很烂。
哈森

1
hasen j:不是因为驱动器很烂,而是因为大多数游戏是Windows发行的,而不是GNU / Linux发行的。

2
我认为Google从来都不是单服务器系统。其超级搜索算法(映射归约)的全部要点是它分布在许多节点上。我也真的很怀疑Youtube 是否曾经想到过他们可以使用1台单一服务器将视频流传输给目标受众!另一方面,Facebook ...
gbjbaanb

26

成本

那就是我要投入的钱。Facebook有6万台服务器,与Linux相比,该服务器的许可费用是多少?

看一下“开放堆栈”,我们可以这样称呼它:

  • Apache – 免费
  • PHP- 免费
  • MySQL- 免费
  • Linux- 免费

与MS堆栈相反:

  • IIS- $$$
  • Visual Studio- $$$(但很棒)
  • 操作系统- $$$
  • SQL Server- $$$

8
JoskK:您和我一样知道Linux,PHP,MySql和Apache不是免费的。他们远离自由。

10
@Pierre:嗯,这都是免费的软件,使用这些软件没有直接的成本。尽管MySQL确实具有商业意义。Apache,Ubuntu,PHP,全部免费。
乔什·K

9
@Pierre,您有一个正确的观点,但是无论哪种方式,您都需要系统管理员。
Fosco 2010年

8
@Pierre:无论您选择哪种平台,都必须为管理员付费!您认为MS服务器管理员比Linux管理员便宜吗?
乔什(Josh K)2010年

21
成本确实是原因,但是您花钱买的Microsoft技术的清单是错误的:.NET是免费的,Visual Studio是免费的(也有付费版本,就像有PHP IDE的付费版本一样),SQL Server Express是免费的(同样,也有付费版本),而IIS是操作系统组件,它随操作系统免费提供。另外,您不必在Windows / IIS上运行Microsoft堆栈(只需将其命名为:ASP.NET),它也可以在Linux / Apache(使用Mono)上运行。
Allon Guralnek,2010年

25

我不认为成本是主要原因,但是Google之类的网站需要对其服务器上运行的内容进行高度控制。他们不在服务器上使用Ubuntu的默认安装。管理数千台服务器意味着必须自动执行很多管理任务。像Linux或* BSD这样的面向命令行的模块化开放源代码操作系统可能更适合于Google这样的网站所需要的自定义数量。

编辑:我们不要忘记,前500个站点中的许多站点都以一种或多种方式与Microsoft竞争,因此,如果可以避免,他们可能不想依靠竞争对手的技术。


20

文化

伟大的黑客要求控制。伟大的黑客共享东西。

所有很酷的玩具都来自伟大的黑客,它们最终彼此共享和改进。

想一想最近出现的所有有趣的东西:Python,Ruby,Rails,Django,Flask,Node.js等。

它们全部来自使用Unix系统(Linux或Mac)的人。

Unix系统为认真的程序员提供了一个很好的平台和工具。

Windows系统和Visual Studio倾向于被那些只希望以既定方式“完成工作”并谋生的人使用。

这不仅仅是因为它们从CodexArcanum的答案建议的开始就很小。这不是像“哦,他们想搬到窗户,但是为时已晚”。他们可能想要移动到窗口。在运行网络启动中涉及的各种工具和功能方面,它严重缺乏。

首先,大多数新的闪亮OSS项目都使用git进行版本控制,并且可能在github或类似的地方有其官方代码存储库。

引用保罗·格雷厄姆的话:

黑客想要什么?像所有工匠一样,黑客喜欢好的工具。实际上,这是一种轻描淡写的说法。好的黑客发现使用不好的工具实在难以忍受。他们只会拒绝使用错误的基础结构进行项目。

(.....)

几年前,一位风险投资家的朋友告诉我他所参与的一家新创业公司。听起来很有希望。但是,下一次我与他交谈时,他说他们决定在Windows NT上构建他们的软件,并且刚刚雇用了一位经验丰富的NT开发人员担任其首席技术官。当我听到这些消息时,我想这些家伙注定要失败。一个,CTO不可能是一流的黑客,因为要成为一名杰出的NT开发人员,他将不得不多次自愿使用NT,而我也无法想象有一个伟大的黑客会这样做。还有两个,即使他很出色,如果这个项目必须建立在新台币上,他也很难雇用任何优秀的人才为他工作。


+1 hasen j用于文化。我认为情况并非总是如此-成本也是一个非常重要的因素。
talonx

1
许多人免费获得窗户。特别是那些可以轻松找到洪流的程序员/怪异类型。另外,许多黑客类型都购买了Mac,价格昂贵。至于这些工具,免费的Unix工具也可用于Windows,而Windows具有其自己的免费工具,而这些工具不适用于Unix。
哈森

1
+1。只要看看学术界。几乎所有有趣的事情都在Unix中完成。
asthasr 2011年

1
@MattDavey一旦习惯git了版本控制,就很可能会拒绝使用诸如svn自尊之类的东西。真的好多了。恰恰是hasen在谈论的内容:真正的优秀编码人员具有很多自尊,并且不希望使用劣等工具svn。他们宁愿svn通过git svn克隆连接到存储库,因此他们至少可以使用git本地的全部功能。
cmaster

2
@cmaster是的,我明白您的意思-在过去4年中发生了很多变化,这些天我的行为完全符合您的描述。实际上,在我当前的合同中,我使用git-svn连接到svn仓库,因为我拒绝仅限于svn。4年前,我还是git的初学者。
MattDavey 2015年

19

这么?我认为34%的市场份额很少

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

我发现这是Windows最低的研究。

还有其他研究表明,基于Windows收入的市场份额超过60%

很少有绝对不是好词的使用。

更多研究

路透社:http : //www.reuters.com/article/idUSN2748543820080228

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

维基百科:http//en.wikipedia.org/wiki/Usage_share_of_operating_systems#Servers

基于Microsoft技术的网站是否可以实际扩展?

www.live.com(第5 Alexa),www.msn.com(第11 Alexa),www.microsoft.com(第21 Alexa)或www.bing.com(第25 Alexa)网站管理员;)

MySpace也是基于Windows的。


6
我不是在谈论整体市场份额,而是在谈论适当的大型网站。想想Facebook,Twitter,YouTube,Google。
realworldcoder

2
如果要证明Microsoft技术可以扩展,只需检查hotmail.com,windowslive.com,office.com,bing.com,microsoft.com。就流量而言,其中大多数甚至都位于Alexa的TOP 25中。

3
@Pierre:看我的回答,我认为这与扩展能力无关,我认为与原始成本有关。微软拥有所有这些站点,它们不必支付许可费用。;)
Josh K 2010年

2
@JoshK:他的问题始于“我的头上,我可以想到一些大型站点,这些站点证明了.NET和SQL确实可以扩展:”

2
在采用方面,“相当大”的网站本来就不具有代表性(明显的Stackoverflow(-:)例外-首先它们很少规模庞大,其次,一旦达到如此规模,您几乎就开始创建自己的平台–如果您还没有(facebook必须这样做,google已经)
Murph 2010年

3

(网络)初创世界主要是基于开源的,这是因为出色的工具(例如内存缓存),noSQL数据库(例如Cassandra,MongoDB等)和大型数据处理工具(例如Hadoop / MapReduce)的成本和普遍性。直到最近,微软还没有为新兴的发烧友提供很多口口相传的服务,只是直到最近才启动了他们的“网络开发人员”计划来支持初创企业。而且,他们的大规模数据处理工作有点慢... Dryad / DryadLINQ是MapReduce的替代产品,尚未达到他们想要的采用水平(仍然仅限于Microsoft以外的研究学校),事情突然消失了在他们的(实验)数据库系统Hyder上保持安静,据说该系统允许在不分区的情况下扩展数据库。

这也与我前段时间提出的一个问题有关:除微软外,所有其他网络公司(例如Google,Amazon,Yahoo,Facebook,Ebay等)发布的职位空缺都将LAMP堆栈具体列为他们的软件工程师职位。显然,精通LAMP堆栈的人们在许多创业公司和大型Web公司中都具有优势,而.NET堆栈似乎主要是为公司环境保留的。


2

成本因素无疑有助于开源技术的初步采用。

但是,即使当他们变得非常大时,他们仍然坚持使用开源的东西。如果您在Facebook或Google上看到解释规模的视频,则他们会投入大量的工程工作来改善其使用的技术(Python的未吞咽,PHP的hiphop)。同样,如果他们发现需要全新的东西或更好的实现(节俭,协议缓冲区,cassandra,大表),他们不仅会创建它,还会对其开源。

我认为原因是控制和最大程度地降低了风险,因为您不必依赖供应商为您提供解决方案。


2

我将投票赞成“传统”。在整个互联网泡沫破灭期间,“每个人都知道”您必须拥有一台运行Apache的大型Sun或HP服务器,这就是人们购买的东西。当初创公司试图效仿成功的公司时,他们使用的是相同的东西。而且由于IIS并未真正提供任何引人注目的功能(除非您考虑使用FrontPage扩展...),所以没有任何理由考虑让MS堆栈。尤其是当您可以在4-CPU Sun框上运行Apache和/或Perl CGI脚本时,而双核Pentium II Windows框则颇为奇特。现在,硬件不再是障碍,我们在MS堆栈上看到了更多的大型站点,但我认为对于大多数情况,仍然没有令人信服的理由切换到(或从此开始)它。


2

我对此问题特别感兴趣,并且发现上面的答案非常发人深省。我在Windows服务器管理方面有特定经验。

我会说关于命令行工具的评论有点离题:管理Windows服务器时,命令行工具与管理Unix时一样普遍。选择的工具将是Windows的OpenSSH,紧迫的psexec,WMI工具以及最近带有远程处理功能的powershell。Windows 2003 Enterprise附带一个名为ADS的SMS ish管理系统。使ADS可用的主要功能之一是用于管理远程作业的命令行界面。

至于对操作系统运行的控制:是的,绝对可以。微软只是在最近才明白这一点,Windows 2008 Server具有精简的(如它的)风格,而服务/功能却少得多。这也是一个连续的过程-您可以看到MSFT在2003 Server出厂时默认情况下关闭了许多服务的发展方向。

成本是最有趣的因素。Windows服务器的许可费用是LAMP解决方案和Windows ASP.NET解决方案之间的第一大区别。众多来自学术界的初创公司的诞生是使用LAMP的另一个重要原因。

可以将大型站点从LAMP转换为Windows ASP.NET,但是需要大量的工作。通常,直到从头开始编写网站的下一个主要版本时,转换才真正发生,此时它是在Windows中编写的。进行这些转换方面经验最丰富的公司是Microsoft。Hotmail,WebTV和Tellme是三个示例。

我在开始这篇文章时说,我对这个问题特别感兴趣。我对在网站中使用Windows如此感兴趣的原因是因为我是在主要网站上工作的Microsoft员工。我不得不说,我对于我可以迁移到非基于Microsoft Windows的网站方面的职业选择感到非常失望。


它不仅成本高昂(认为对于Facebook,每年SA许可的成本将达到数百万美元!),而且还具有稳定性。如果您有6万台服务器,请不要在Windows更新后打补丁星期二并重新启动。在Windows方面,您可以更好地控制Linux服务。不过,请学习一些Linux技术-这并不困难,并且确实令人耳目一新,以了解它们的模块化程度。
gbjbaanb

1

您是在谈论Microsoft平台还是IIS平台?许多第三方Web服务器正在其上运行。像Apache一样也可以在Windows平台上运行。有许多面向公众的银行网站,例如citibank.com等,都使用Java作为平台。有一些技术限制。在IIS上运行Java是一项艰巨的任务,但是IIS正在改进,并且现在可以为大型组织扩展。IIS上的PHP现在可以在Fastcgi支持下正常运行,而且速度更快。使用IIS 7 / 7.5 SEO,可以运行网站的PHP这样的友好,开源软件。

如果您检查一下,尽管Microsoft占Web服务器操作系统总数的34%,而与Unix相比则是一半,但与过去几年相比,它们已经有了很大的改进,并且您可以看到IIS有了很大的改进。您可以检查以下URL:

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

成本?

是的,与NIX环境相比,Microsoft许可证的成本较高,但是如果进行比较,则Linux的TCO更高。与Windows System Administrator相比,Liux上的Normal System Administrator花费更多。

技术局限性?

到目前为止,MS对大型组织有技术限制,Java在企业和金融部门的网站中也能很好地工作,但是在IIS 7 / IIS 7.5方案随着诸如.Net framework和Share Point Portal之类的Web开发环境而改变之后,Microsoft正在改进很多。

与公共网站相比,Microsoft是否更适合企业/ Intranet环境?

是的,使用Windows和IIS的较新版本,Microsoft可以满足公共网站的需求,将来肯定会做得很好。

Gaurav Maniar MCP | MCSE | MCST | MCITP | ITILv3认证


1
Linux的总拥有成本可能更高或更低,具体取决于您的环境和要求。使用MS将某些东西放在一起可能更便宜,但是无论哪种方式,质量管理都会很昂贵。
David Thornley 2010年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.