微軟的 Web 伺服器為何能屹立不倒?李遙2014-07-10 14:07:26

答案略有修改

——

除了程式設計師圈子,IT的外圍從業人員對微軟品牌的認可度是非常高的。微軟在他們心中的形象就是“民用級最知名的一攬子軟體系統提供商”,很符合中小微企業/機構使用者的心理期待

尤其的,當領導要求有技術支援保證的時候,中小微企業的非程式設計師IT主管基本上都不考慮開源軟體了,因為採用微軟平臺+找個乙方二次開發看起來是更保險的組合。那麼,要不要採用IBM和Oracle的平臺呢,一般他們也不考慮。因為“中小企業用微軟,大款企業用IBM/Oracle”的刻板印象在人民群眾心中也是很根深蒂固的

微軟的 Web 伺服器為何能屹立不倒?ltye2014-07-10 20:49:46

很簡單,有商業支援的成熟產品裡最便宜的就是微軟,幹甲方專案經理後才體會到微軟業界真良心~ 特別是算上作業系統、資料庫一條龍下來成本拉的更低了,維護也很省心。

什麼?你說apache跟tomcat?我就呵呵了,等安全team漏洞掃描掃出高危漏洞要求限期整改,你能做的就是:

1。有補丁,提心吊膽的自己幹活升級,沒有商業支援,萬一升級失敗影響業務連續性等著挨抽吧

2。我們是開源社群,你不付錢我們沒有義務給你釋出補丁…

以上第二點是我們上半年漏掃整改遇到的真實情況,銀行科技部被做過漏掃的兄弟們應該都有體會。

做執行維護要的是100%的保障能力~ 我再舉兩種很常見的情況:

1。國內安全機構認定高危漏洞,國外開源社群觀點不同,不給補丁。

2。 必須跨大版本升級才能解決漏洞,商業軟體不存在這種情況但是開源很多見。跨大版本升級對於運維來講是last choice,沒逼到最後誰也不願意做,而且另外一個實際的栗子是我們升級了apache解決了一箇中危漏洞,但是又帶來了幾個高危漏洞還沒補丁,最後付出了很大的精力和人力成本才降級回去的。

至於weblogic、websphere那6位數的報價、還是按cpu核數算的咱就不提了…

微軟的 Web 伺服器為何能屹立不倒?富察2014-07-11 12:07:43

在S&P500和中小企業都工作過,這些企業所有的軟體都是微軟的Stack,所以沒辦法,必須用IIS

我問過幾個老闆為什麼不用linux,答案都是:“你走了誰會用?”

微軟的 Web 伺服器為何能屹立不倒?yousong fang2014-07-11 22:09:34

先說web伺服器效能,iis的網路通訊部分是在核心層由http。sys實現的,採用最高效能的iocp模型,而且是微軟的戰略產品。盲目的崇拜nginx所謂的效能怪獸,那是病,得治。iis也有很成熟的叢集機制,並且是與作業系統緊密整合的,因為作業系統和web伺服器是出自同門,微軟可以把它做得效能足夠好。

在windows上面跑的web伺服器,iis說第一,沒人敢說第二。

其次,作業系統本身,幾十年了,很多人還停留在大型用unix,pc用windows。這種慣性思維已經太out了。現代作業系統的理論和各種不同實現,殊途同歸,linux,unix,和windows在核心上都已做到極致,後面拼的都是生態,不存在windows效能不行的問題。

其三,就是各位談到的簡單性與維護性的問題。我同意。

最後,由於微軟是閉源,而linux是開源時間,很自然擁有強大技術實力的網際網路公司,希望能命運自己掌控自己,自己研究linux核心原始碼,nginx,apache原始碼,甚至根據自己的需求進行定製,使之達到最優。是非常合理的。

使用者型別不同,各取所需,反問:為什麼iis就必須是不行的呢?

微軟的 Web 伺服器為何能屹立不倒?黃珏珅2014-07-12 14:53:16

不邀自答。

部分反對排名第一的答案:確實有很多人不熟悉Linux平臺以及相關的Web伺服器技術(apache,nginx,lighttpd等),這是造成IIS市場佔有率高的非常重要的原因但不是全部。

作為一個被各平臺都深度蹂躪過的苦逼,這裡要為IIS說句公道話:成功的產品不是偶然。

易用性

對比其他平臺只能透過配置檔案+查手冊的方式來管理你的Web服務,IIS同時支援本機圖形化管理、遠端圖形化管理、透過web。config配置檔案進行管理,操作上的便捷程度,絕對不是開源產品能夠媲美的。

同時,微軟專賣設計了Microsoft Web Platform工具,用圖形化嚮導的方式幫助你部署應用程式和元件。

功能和效能

Apache和nginx相比,前者功能豐富,後者效能強勁;而IIS是兩者兼備的典範。

很多人(特別是開源社群或者是盲目崇拜開源的人)對微軟產品有著刻板印象,認為他們必然是臃腫、緩慢的,但是如果你的英語不差的話可以看一下這篇Benchmark:

What is the Fastest Webserver?

IIS的效能要比所有的開源解決方案都好……

====題外話開始====

很多人對Linux Kernel很崇拜,覺得epoll牛逼,覺得tickless scheduler牛逼

但是你要知道,和epoll具有對應關係的技術iocp可是從nt3。5核心時代就有的啊

順便吐槽一下linux下的驅動程式。你造嗎,linux下的驅動程式大多數是以原始碼形式釋出的,有時核心一個小版本的升級就會導致原來的驅動程式不可用,必須使用核心的原始碼重新編譯。驅動程式的二進位制相容性在Linux上基本就是個笑話。對比一下Windows,都Windows 8。1了,還能用很多xp時代的驅動程式,這是多麼業界良心的事情啊!!

===引用評論中 @alex chen 的文字:===

iocp 模型實際上要比 epoll 更”現代“。iocp 是目前成熟的 io 模型裡最接近非同步模型的,而 epoll 還是隻同步模型。一個顯而易見的效能差距,如 epoll 模型處理資料時免不了更多的核心態/使用者態切換,降低了效能。

===引用結束===

====題外話結束====

服務和支援

眾所周知,最為開源軟體,除非我們付錢給指定的公司(有些技術付錢都找不到技術支援啊),我們是完全沒有技術支援的。基本上我們得依靠Google大法,然後再配合Stackoverflow上的問答,才能把環境搭建起來。然而,悲催的是,再不同的Linux髮型版上搭建對應的伺服器環境也可能是完全不同的兩件事情。

反觀微軟,如果您是花了軟妹幣買的正版的Windows,是可以直接打電話給微軟要求技術支援的,有一幫微軟亞太技術支援中心的苦逼高薪工程師會為你服務到底,解決問題的。本身配置就很簡單了,同時還有那麼好的技術支援,簡直是喪xi心wen病le狂jian啊!

安全性

微軟每個月的第二個週二是Patch Tuesday,會固定的釋出系統補丁,只要你伺服器配置的合理(比如配置成每天夜裡3點自動下載安裝補丁(通常是預設配置)),你的伺服器永遠是安裝了最新安全補丁的系統,受到0Day漏洞攻擊的機率,也遠比開源伺服器的低。

而微軟的應急響應機制也是非常可靠有效的,當出現緊急漏洞時,通常1~3個工作日內就完成補丁的製作和推送了,這是開源軟體所無法做到的。

想想OpenSSL的漏洞吧,想想Python、PHP、ruby的hash碰撞漏洞吧,開源社群花了多久才完成的修復和新版本的釋出;由於Linux伺服器通常沒有或沒有啟用自動更新機制,你的伺服器得到這些更新的時間往往是1周之後了,駭客該黑的早黑完了。

產品的支援週期,微軟更是完勝所有競爭對手,你去看看有哪個開源系統承諾,單一版本的作業系統給予15年以上的技術支援。微軟就是這麼支援Windows XP的啊。

成本

這是老生常談的問題了。成本不能光看軟體授權費用,同時還要考慮到你後期維護的成本。你去對比一下微軟的Windows Server的價格以及包含的服務,以及Redhat Enterprise Linux的價格,就會明白,微軟的價格真的很便宜啊,

====結論分割線====

勿存偏見、平心而論:微軟的IIS確實是非常優秀且有競爭力的產品。