容器并不僅僅是虛擬化應用的另外一個概念,它還改變了創(chuàng)建、開發(fā)和維護應用的方式。傳統(tǒng)的應用業(yè)務趨向于一個整體,構成整體的所有代碼、組件和服務都被完整地打包成一個程序來進行開發(fā)、部署和安裝。
容器是云計算和DevOps環(huán)境的完美補充,它可以讓虛擬實例快速增加——通常還是很大量的——而且可以在計算負載或者需求改變時再次減少。操作系統(tǒng)廠家例如微軟正在悄悄地認識到大規(guī)模、復雜的平臺,例如傳統(tǒng)的Windows Server并不適合作為專業(yè)的容器或者云計算環(huán)境,相反需要的是啟動或重啟更快的精簡型、輕量級OS,它們會使用更少的計算資源并且需要更少的破壞性的修補。
容器還能將復雜的應用分割成組成部件,然后將每個部件(例如Web服務器或者數(shù)據(jù)庫)安裝到不同的容器中去。這些容器可以鏈接到一起形成一個完整的應用。這就是微服務的概念,這樣子每個組件升級或者打補丁的時候并不會對其他相關聯(lián)的容器產(chǎn)生影響。
這種以微服務為基礎的應用架構還帶來了更好的功能擴展性。當一個傳統(tǒng)的業(yè)務達到了它實際的性能極限時,整個應用(以及它的所有組件)需要重新部署——還有整個相關的計算資源。如果將相關的應用組件都放置到容器中,那么增加更多容器來解決瓶頸問題將會變得非常簡單。舉個例子,如果一個以微服務為基礎的應用發(fā)現(xiàn)Web服務器容器是它的性能瓶頸,我們可以很容易地通過增加額外的Web服務器容器來增加它的功能性。這樣也允許了使用最小的計算資源來做擴展。
微軟Windows Server 2016版本的Nano Server滿足了這些需求。Nano Server著重于運行容器,而且報告稱它的體積只有一個完整OS部署的5%。它通過去除了GUI、32位系統(tǒng)支持、遠程桌面支持、Microsoft Windows Installer和其他遠程云計算基礎架構不需要的輔助性服務來節(jié)省計算資源。Nano Server可以通過PowerShell和Windows Management Instrumentation來進行管理。