容器技術(shù),比如Docker,正在云供應(yīng)商和企業(yè)間越來越流行。但是對于企業(yè)而言,容器技術(shù)是不是正確的選擇呢?
容器技術(shù)正在強(qiáng)有力地占領(lǐng)云市場,隨著供應(yīng)商繼續(xù)深入擁抱Docker,CoreOS,其他企業(yè)也在嘗試進(jìn)入該領(lǐng)域。但是在企業(yè)云戰(zhàn)略包含進(jìn)容器時,很有必要理解該技術(shù)是如何工作的,以及它是否滿足了企業(yè)的需求。
容器提供了服務(wù)器虛擬化的替代方案,首先安裝一個主機(jī)操作系統(tǒng)(OS),而不需要安裝hypervisor。然后,安裝虛擬化層,應(yīng)用就好像運(yùn)行在底層操作系統(tǒng)上一樣。虛擬層創(chuàng)建出隔離的客戶虛擬機(jī)(VM),稱為容器。每個容器都可以運(yùn)行自己的應(yīng)用——或者某個相同應(yīng)用程序的副本——但是所有容器共享同一個OS內(nèi)核。
對于單個OS的依賴使得基于容器的虛擬化比起傳統(tǒng)的基于hypervisor的虛擬化來說,沒有那么通用。比如,因?yàn)槿萜鞅仨氁苿拥綆в屑嫒軴S內(nèi)核的服務(wù)器上,所以容器的遷移要求更多的考量和計(jì)劃。另一方面,傳統(tǒng)VM則能夠遷移到任何帶有合適hypervisor的地方,不管OS是什么。
但是,因?yàn)槿萜鞴蚕韱蝹€OS內(nèi)核,它們可以降低OS許可證的費(fèi)用,提高性能,無需運(yùn)行多個OS版本所需要的那么多內(nèi)存和處理器的資源。
容器技術(shù)能夠從多個方面利好云環(huán)境。和輕量級VM相比,容器是輕量級組件化環(huán)境,無需大量的重復(fù)工作,應(yīng)用就可以在云間移動。容器能夠適應(yīng)平臺差異,而不會影響其中運(yùn)行的應(yīng)用,這很有益于DevOps和軟件開發(fā)人員。
另外,容器減少了每個虛擬實(shí)例所需的冗余資源,比起VM而言,同一臺服務(wù)器能夠托管更多的容器——這大幅改進(jìn)了云的可擴(kuò)展性和性能。
因此,對于你的企業(yè)和云戰(zhàn)略而言,容器是否是正確的選擇?容器對于要求擴(kuò)展性以及共享核心組件的環(huán)境而言是非常契合的。比如,如果你需要啟動并部署相同工作負(fù)載和OS的100個副本,使用容器,比起傳統(tǒng)基于hypervisor的VM,要更加高效并且劃算。
要求最佳的工作負(fù)載普適度和隔離性的數(shù)據(jù)中心應(yīng)該繼續(xù)使用基于hypervisor的VM。但是,這兩種方案并不是互斥的。兩者可以并存來滿足特定的業(yè)務(wù)計(jì)算需求。容器技術(shù)的確非常值得企業(yè)研究和投資。