微软技术在networking行业的地位?

我已经看到很多大型网站运行在Windows Server,IIS,ASP.NET,SQL Server等微软技术上,举例来说,所有“大牌”已知网站(Google,Facebook,Twitter,Youtube)都是如此运行(有时修改)的Linux,所以我问为什么看到这样的大型网站在Windows上运行是非常罕见的?

这是一个许可费用问题? 如果他们不得不购买所有的许可证,我们可以说Facebook,Twitter,Google,Youtube永远不会这样发展吗? 或者这是关于扩大问题的东西?

当然,微软提供了一些非常好的技术,比如.NET,IIS7,SQL Server,Smooth Streaming,ASP.Net,但是许可证的成本是多less呢?

你怎么看待这件事? 微软在networking技术上的地位如何? 未来呢?

我真的很喜欢微软的产品,但我有点害怕成本…

相对而言,看到在MS工具上运行的网站是相当罕见的。 其部分是一个历史的事情 – 即“事实上”的webapps标准是* nix系统,这意味着大多数新的webapps是为* nix系统编写的。 这与桌面应用程序是为Windows编写的相同,因为大多数桌面都是Windows。

除了历史,IIS非常差,安全logging很差,并且被locking在Windows语言(即ASP或ISAPI中的VBScript)(尽pipe你可以运行CGI应用程序),事情现在已经有些改善,因为语言像PHP一样已经被移植到了Windows上,并得到了很多支持。

尽pipe如此,由于大多数网站仍然是基于nix的,所以你不仅可以更容易地从nix人那里获得web技术,还可以find更多关于基于* nix系统。

可扩展性。 TPC基准testing总是显示出Windows系统的扩展能力,但是您需要大量的Windows服务器来获得与单个Sun或IBM“大型机”相同的优势。 那些“盒子”和“一个群集”现在结束的令人兴奋的日子 – 今天没有人真正关心,服务器变得更加强大,因此差异减less了。 也就是说, 目前排名前十的TPC-C基准testing都显示* nix系统,TPC-H基准testing显示微软系统在小端testing中performance良好,但在高端testing中却被打败。

但是,一个重要的因素是维护成本。 更多的服务器=更麻烦=更多的时间花在保持运行。 这可能意味着更昂贵的员工。

然而,即使是SO,与slashdot相比也是一个小窍门,而当你得到一个拥有这么多用户的网站,你的网站名称就成了拒绝服务攻击的代名词时,你需要有一些严肃的负载平衡和架构选项。 * nix系统有这个,他们是众所周知的,并广泛支持(事实上,系统可以用来负载平衡的Windows系统,因为他们作为独立的服务器,运行Linux或BSD操作系统),但这意味着你需要为了充分发挥他们的技能 – 如果你只有Windows技能,那么你必须学习一些技巧。 你不如节省自己的时间,只是学习1操作系统!

许可证:MS在为networking提供廉价操作系统方面做得越来越好,Windows Server Web版本比普通的Windows要便宜很多,但是如果你正在运行一个大型的网站,那么你将要把它升级到Enterprise甚至是数据中心版本,这些宝贝都不便宜。 你会想要运行几个实例。 如果你完全是微软,那么毫无疑问,你将会使用其他微软产品,像Sharepoint或者Biztalk或者Commerce Server或者SQL Server这样的Office工具。 而且那些也不便宜。

与* nix解决scheme比较,你可以保证他们是免费的。 好的,你可以运行Oracle数据库,但即使如此,这比整个MS堆栈便宜。 在这个大计划中可能并不重要,但是如果你是一个有自主select的小型创业公司,那么免费胜过任何代价。 如果你是一个庞大的slashdottypes的网站,免费胜出非常昂贵。

最终,免费工具是相当不错的 – 所有这些网站都使用它们。 MS可能会生产很多很酷的玩具,但是它们更像MS世界的Java,如果你要运行内存匮乏的应用程序,那么不妨使用Java。 如果你想继续创build一个站点,python或者perl或者php或者ruby都可以在你的免费系统上使用。

微软的Web技术受到过去的声誉的阻碍。 早期的IIS版本(早期我的意思是早期的NT4.0和早期的.NET 1.0)并没有把它放在与Apache有关的层次上,这有助于巩固networking应用程序devise师的观点,认为它不适合扩展。 Apache是Internet应用程序的常见configuration,IIS是Intranet应用程序。 这是开始改变,而StackOverflow实际上是一个很好的例子(至less核心是微软,不知道边缘)。

微软不太擅长的一个领域是HugeSitepipe理的数据包挖掘部分。 这些是networking负载平衡器,地理平衡器,caching层等的层次。 为此,您仍然可以findLinuxes,硬件设备(可能在内部运行Linux),或者现在运行一天的多云东西,谁知道什么。

至于HugeSite的应用程序逻辑和数据库层,它可以作为StackOverflow等。 人。 certificate。

至于许可,如果您需要支持合同,Linux等许可也可能会变得昂贵。 当然,如果你足够大,推出自己的Linux版本,这是一个有争议的问题。 但是如果你处在共享主机或者VPS之间,而且足够大,可以推出自己的产品,那么一个支持Linux的产品(RedHat,SLES等)就有其优点了。 特别是如果有钱赚的话。

主要是这是一个分心的事情。 总是需要时间来改变。

是的,它主要是成本 – 但也有其他的考虑。

将单片微软产品与其他产品集成比在Unix环境下发展起来的软件要困难得多。

虽然微软在性能,可扩展性和可靠性方面正在变得越来越好,但他们在这些领域并没有很好的发展历史。

道路规划:虽然开放源代码项目往往没有提供未来方向的细节,但硬件的另一面是商业软件是关于向你推销下一件大事的 – 所以他们今天销售的产品不会在5年内只能是多余的 – 它们会被不同的和不相容的东西所取代。

C。

我想说这是一个许可成本,可靠性和安全性的混合体。 早期的IIS版本有一些主要的安全隐患,当Apache(例如)被certificate是有效的时候,certificate许可成本并不值得。

不是我。

我猜测其中一个原因就是MS产品并没有真正的扩展。

看看http://searchdns.netcraft.com/?host=.microsoft.com看起来微软的可扩展性大部分来自其他人。

由操作系统 – 由* .microsoft.com网站计数,它看起来像:

  • 思杰netscaler – 24
  • f5 big-ip – 27
  • Linux – 19
  • linux – redhat – 2
  • 未知 – 17
  • Windows Server 2003 – 29
  • Windows Server 2008 – 26