容器和虛擬機誰會是未來雲計算的方向?

  近日CNCF 會在華首秀,吸引國內無數的雲原生技術粉的會聚一堂。雲原生被喻爲未來架構,在CNCF (雲原生計算基金會)的推動下,以Kubernetes 爲代表容器工具得到了迅速的發展,很多人都相信容器纔是雲計算的未來。那曾經奠基雲計算平臺的虛擬化技術是否就真的會成爲過去時?

  容器與虛擬機誰會是未來雲計算的方向?在分析這個問題之前我們可以先從思想層面上來重解什麼是雲原生;有人堅信雲原生(Cloud Native)是一種文化,更是一種潮流,它是雲計算的一個必然導向,是讓雲成爲雲化戰略成功的基石。

  原生的對立面當然是非原生(虛擬化),即使是在CPU 和操作系統內核支持的情況下虛擬機上的操作系統及業務系統所使用硬件資源仍然不直接尋址的。一個基於虛擬機運行的業務系統與原生操作系統中間隔着一個虛擬系統,有如人與人之間隔閡,不僅會損失硬件性能還會讓多可以直接尋址的接口操作都需要驅動級的映射才能完成,兼容性的問題有時也困擾運維人員。而容器技術越發成熟之後各個沙盒間的相互獨立互不影響,卻能直接使用原生系統的資源。硬件資源的利用率更高。而且容器的創建與維護比虛擬機更簡單,一個業務系統在虛擬機上交付,需要有足夠的資源來創建虛擬機,然後爲虛擬機安裝操作系統、部署業務系統所需的各種支持環境。如果多個業務系統所需要支持環境依賴庫間有衝突互斥你則需要新建更多的虛擬機。反之對於容器而言只需要再開一個鏡像即可。

  雲原生更節省物理服務器的硬件資源;更易於業務系統的快速交付。是微服務架構、無服務器架構的時代這項技術更爲雲平臺服務提供了基礎支撐,在虛擬化時代一個開發人員爲了發佈自己的應用,需要去租用一個雲主機或VPS ,自由的按需配置管理雲主機的操作系統與支持環境配置及參數,然後發佈自己業務和WEB應用。在採用無服務架構在模式下,你可能根本不需要一臺服務器,更不用去關於如何去配置服務器,需要只是服務本身,雲端的容器中的WEB 服務或數據庫服務會提供接口給開發者,開發者只用關心程序的實現,不用折騰服務器與環境的配置。

  上述說了這麼多雲原生,那虛擬機真的就無用了嗎?當然不是虛擬機至今仍然有着不可取代的獨立性。目前公有云Docker 倉庫中的應用畢竟是有限的,特別是我們是租客身份時版本、參數、配置的可選擇性也只能在可選的套餐之中。但是雲主機(虛擬機)則不同, 你得到是一臺無異於真機的計算機,你可以對系統做任意的配置設置、安裝自己所需要應用軟件配置自己源,不用束縛於倉庫。在虛擬機算力允許的情況下,你可以在租用雲主機上安裝Kubernetes 來編排容器,最大化的發揮虛擬機的價值,而只需要支付這一臺雲主機的租金。

  因此,在未來很多時間內虛擬機仍然會是雲計算交付方式不可缺少的基礎,或者說容器與虛擬機從來也不矛盾。畢竟虛擬機之上難以再開虛擬機,但是虛擬機運行容器卻是一種非常低成本高效率的混合交付模式。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章