容器與虛擬機(jī)對比
大?。?/span>0.33 MB 人氣: 2017-10-12 需要積分:1
標(biāo)簽:容器(21808)虛擬機(jī)(27096)
容器和虛擬機(jī)某種程度上解決的是相似的問題,兩者間也有不少相似之處。但就像會種菜未必是好廚子,容器和虛擬機(jī)到底是兩種不同工具而且有著各自適用的情況。作為技術(shù)人員我們應(yīng)該清楚地了解不同工具各自的優(yōu)勢和劣勢并根據(jù)使用情況的不同挑選合適的工具。還有一點(diǎn)我們要在這里討論一下:技術(shù)的成熟度。從2001年VMware推出GSX和ESX開始,x86架構(gòu)上的服務(wù)器虛擬化一直是業(yè)界的主流。不過其實(shí)虛擬化的概念在六十年代末期就被提出來了,而且七十年代就已經(jīng)開始了實(shí)踐。這么長時間的發(fā)展使得虛擬化技術(shù)的成熟度較好,生態(tài)系統(tǒng)也發(fā)展地很完善。2005年起VMware已經(jīng)收購了20多家企業(yè)來填補(bǔ)自己技術(shù)上的不足。
不過說歷史的話其實(shí)早在VMware成立之前容器技術(shù)就已經(jīng)有了,不過一直都是非主流。直到最近容器技術(shù)才有了實(shí)質(zhì)性的進(jìn)展,第一代工具也剛剛普及。各家企業(yè)為了卡位也開始大打收購戰(zhàn)。
我想澄清一點(diǎn)就是進(jìn)行比較并不意味著對某種工具的抬高或者貶低。作為技術(shù)人員我們各種工具都要有所了解,這樣才能避免隨大流。
這里我們進(jìn)行三個方面的比較:狀態(tài)管理、網(wǎng)絡(luò)和蔓延。
容器比虛擬機(jī)更容易產(chǎn)生蔓延現(xiàn)象。
服務(wù)器蔓延聽起來不是個什么好事,因?yàn)樗鼤觿〖軜?gòu)的復(fù)雜程度,不過如果仔細(xì)規(guī)劃和管理的話蔓延也未必就一定不好。降低系統(tǒng)的耦合程度以及系統(tǒng)的模塊化有助于提高系統(tǒng)的擴(kuò)展性和部署速度。因?yàn)槿魏胃淖兌加酗L(fēng)險,但是一定是越分散風(fēng)險越小因?yàn)轳詈隙鹊捅容^容易恢復(fù)。風(fēng)險低的話就可以加快部署的頻率從而加快了交付的速度。交付速度快肯定是好事因?yàn)橛脩艨梢愿煊蒙闲绿匦浴?br /> 配合虛擬機(jī)使用的管理工具花了相當(dāng)?shù)臅r間才達(dá)到企業(yè)級應(yīng)用的水平。對于容器來說也要經(jīng)歷類似的過程,不過肯定比虛擬機(jī)花的時間少,因?yàn)楹芏嗵摂M機(jī)的管理模式都可以直接套用在容器上?,F(xiàn)在已經(jīng)有一些解決方案可用了,比如Docker的Universal Control Plane和它最近收購的Tutum,當(dāng)然還有Kubernetes和Rancher這兩個編排工具。我猜以后還會有更多的工具冒出來。
虛擬機(jī)的網(wǎng)絡(luò)功能更為強(qiáng)大。
容器技術(shù)正在網(wǎng)絡(luò)這方面猛追。去年三月Docker就通過收購SocketPlane來試圖加強(qiáng)在網(wǎng)絡(luò)方面的能力。最好能搞出一個支持?jǐn)U展的解決方案來。我曾經(jīng)聽過SocketPlane人的幾場講座,感覺他們還都挺機(jī)靈的,創(chuàng)新的速度也快。Docker 1.9中就加入了Overlay網(wǎng)絡(luò)的支持,雖然遠(yuǎn)非完美,但快速的迭代使得容器與虛擬機(jī)在網(wǎng)絡(luò)功能上的差距越來越小。
容器技術(shù)無法實(shí)現(xiàn)狀態(tài)管理。
對于虛擬機(jī)來說我們可以隨時掛起,不過容器不行。容器,尤其是Docker容器,是為無狀態(tài)stateless應(yīng)用所設(shè)計(jì)的。不過調(diào)查顯示多達(dá)四分之三的受訪IT從業(yè)人員都想在Docker容器中運(yùn)行stateful應(yīng)用。Docker 1.9中引入了對第三方存儲的支持,開源項(xiàng)目Flocker則為Docker提供了數(shù)據(jù)管理器的功能。我想說的是既然有運(yùn)行stateful應(yīng)用的需求那么企業(yè)級的應(yīng)用應(yīng)該也是指日可待了。
虛擬機(jī)沒有完全取代裸機(jī)部署,我也不認(rèn)為容器能夠完全取代虛擬機(jī),因?yàn)槲覀兂3?吹饺萜鞅徊渴鹪谔摂M機(jī)上。容器和虛擬機(jī)兩者并不是互斥的關(guān)系,使用上還是要根據(jù)自己的情況來選擇合適的工具。
?
非常好我支持^.^
(0) 0%
不好我反對
(0) 0%