您好,歡迎來電子發(fā)燒友網(wǎng)! ,新用戶?[免費注冊]

您的位置:電子發(fā)燒友網(wǎng)>源碼下載>數(shù)值算法/人工智能>

容器與虛擬機對比

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

非常好我支持^.^

(0) 0%

不好我反對

(0) 0%

      發(fā)表評論

      用戶評論
      評價:好評中評差評

      發(fā)表評論,獲取積分! 請遵守相關規(guī)定!

      ?