撥云見日:看微軟如何開發Windows Server 2012
譯文【51CTO 9月19日外電頭條】微軟對未來下了一系列豪賭,Windows Server 2012是這方面的舉措之一,它是對該公司的服務器操作系統進行的一次重大升級——旨在改變企業建造和管理數據中心的方式。
據Windows Server 2012的首席架構師Jeffrey Snover聲稱,其想法是開發一款“最佳的云操作系統”,有別于微軟之前開發的任何操作系統以及業界之前見過的任何操作系統。
Windows Server 2012旨在改變企業建造和管理數據中心的方式
經過了三年的研發工作后,微軟在9月份初推出了服務器操作系統更新版。這款新的操作系統里面有許多方面需要這家軟件開發商搞好:從處理虛擬化、IT部門如何應對自備設備(BYOD)潮流,再到同時提供用于管理許多服務器的工具。
Snover告訴媒體,這意味著,開發過程與他之前開展的項目全然不同。Snover因發明微軟的PowerShell腳本語言而大名鼎鼎。
他說:“我們所做的第一件事是停下來。我對大家說‘把你們的筆放下來,讓我們好好考慮這個。’整整一年,所有工程師沒有編寫過一行生產代碼。”
測試和討論
相反,那頭一年花在了規劃和測試上,以及為這款服務器操作系統更新開發系統上。規劃部分意味著與硬件廠商和顧客交談,了解服務器和數據中心市場的走向到底怎樣,并且了解Snover所說的“技術團隊的心聲”。
他說:“我們走出了小隔間,與客戶交談。”他解釋,微軟想要知道公司企業希望操作系統有什么樣的功能特性。“我們的團隊花了許多時間與使用Windows運行云數據中心的人交談,詢問什么可行,什么不可行,他們關注的優先事項是什么。”
第二個部分即更新開發平臺意味著,微軟的團隊致力于開發新的代碼管理和開發工具。Snover說,這需要“良好的代碼簽入、良好的質量度量標準,構建將來需要的單元測試框架。實際上是增強我們的技術能力。”
雖然團隊中沒有哪個人編寫生產代碼,但是這并不意味著沒有人編寫代碼。工程師們用一年時間來嘗試新的想法和新的技術,熟悉當Windows Server 2012開發工作開始時需要使用的方法和一些工具,包括了解和熟悉新硬件。
處理存儲系統
根據客戶告訴自己的信息,Windows Server開發團隊列出了在下一個版本中需要考慮的幾個主要方面。據Snover聲稱,可能最重要的方面就是努力改進服務器操作系統處理存儲系統的方式,旨在幫助IT部門以更低的成本、更有效地管理存儲。
Windows Server 2012旨在成為“最佳的云操作系統”
其他重要方面是自動化、速度和虛擬化。客戶們表示,自動化特性一定要簡化和標準化,而數據中心的靈活性和業務敏捷性需要更好地支持虛擬化。至于速度,重點放在原始性能和性價比上。
接下來,團隊羅列了該操作系統需要的一系列特性,提出了需要處理的一系列重要問題。他們了解到的情況主要是,把Windows Server視作數據中心抽象層——他們拿來自NT時代以來就是Windows Server一部分的硬件抽象層這個熟悉概念,然后將其擴展到整個數據中心。
這意味著Windows Server 2012需要不僅僅能夠管理和控制計算和存儲資源,還要能夠管理和控制網絡,其手段就是支持虛擬交換機中的軟件定義網絡,以及可以動態管理大量IP地址的工具。
Snover說,微軟“需要一種標準化的方法來管理整個數據中心——數據中心里面的一切部件,又沒有廠商鎖定問題。”
再造操作系統
他補充說,與桌面端Windows 8一樣,這家軟件開發商認為Windows Server 2012是為最新硬件再造這款操作系統的大好機會。
他認為,處理器現在普遍采用多核技術,所以應用程序需要充分利用現代服務器中的處理器和內存架構。這意味著,開發團隊不得不致力于改進對非一致內存訪問(NUMA)的支持——NUMA被認為對改進虛擬化性能而言必不可少,因為它讓Windows Server 2012和Hyper-V可以把服務器當作一種計算結構(compute fabric),因而使內存使用實現自動化。
Snover說:“搞好NUMA這一塊非常難。所以,我們進行了大量的分析、測試、度量和調整,因而為我們提供了出色的NUMA擴展功能。”
團隊時時放在心上的一個方面就是持續可用性(continuous availability)這個概念——大致說來,就是把云計算引入到數據中心。持續可用性使用計算結構、存儲結構和網絡結構,讓業務系統保持運行,哪怕當應用程序、存儲系統和基礎設施出現故障時也能確保正常運行。據微軟的這位知名工程師聲稱,這改變了服務器和數據中心的設計方式。
為此,微軟采用了Snover所說的“一種非常精心設計的彈性方案”——關注如何為單一節點、多節點集群、甚至跨多個站點來實現彈性。”
Snover聲稱團隊采取的方案“沿著堆棧往上走”。這意味著,進行了文件系統和內核方面的變化,包括開發一種全新的彈性文件系統,名為ReFS。
在內核層面,微軟改變了數據刷新到磁盤上的方式,因為企業改而使用大眾化硬件意味著企業使用成本更低的消費級存儲系統。結果就是,能夠實時動態查找NTFS問題,并及時修復,不需要重啟系統(重啟會導致磁盤停運一小段時間)。
應對BYOD
除了考慮私有云外,工程師們還處理了BYOD策略。Snover表示,無人管理的設備現在是大多數企業網絡的一部分,所以必須由應用程序和設備管理向Windows Server中的用戶和信息管理轉變。這意味著,把新特性做入到操作系統中,確保它能擴展、處理數量激增的數據。
由此而來的動態訪問控制(Dynamic Access Control)增添了可以自動實施的規則,因而牢牢保護了基于訪問的角色、用戶組ID和用戶ID。
員工們現在還期望辦公工具與消費級設備一樣便于使用。Snover表示,微軟在努力加強Windows Server對虛擬桌面基礎設施(VDI)的支持,以滿足這些預期要求。
Windows Server 2008 R2引入了RemoteFX,這項技術使用遠程桌面協議(RDP),把硬件加速圖形和視頻效果帶到虛擬桌面。不過,它需要額外硬件,這意味著服務器需要有桌面圖形卡。
新的編解碼器
這方面在Windows Server 2012中有了變化,現在它有軟件圖形處理器(GPU)。據Snover聲稱,RDP協議方面也得到了改進。
他說:“我們正在運用來自微軟研究部門的許多技術。我們使用不同的編解碼器用于屏幕的不同部分——比如文本,比如視頻。”
那些新的編解碼器旨在更容易把虛擬桌面和遠程應用程序交付給在家辦公或移動辦公的員工。
Snover說:“借助新的編解碼器,效率大大提高了。你在局域網上和廣域網上都能獲得很高的效率。”
由于Windows Server 2012現在可供下載,這對微軟的開發團隊來說任務結束了,但是對全球各地的規劃服務器和數據中心升級的IT部門來說任務剛開始。
由于得到服務器、存儲系統和網絡等廠商的支持,又能夠買到預先配置的參考架構,微軟把這款Windows Server版稱為“盒子中交付云”。該操作系統如何得到部署,以及企業的IT團隊如何用它來處理像BYOD和私有云這些關鍵問題,這些都值得關注。
【編輯推薦】