container

一:什麼是container?服務器

  • 經過Image建立的
  • 在Image layer之上創建一個container layer(可讀寫)
  • 類比面向對象,類和實例,容器就是實例,Image就是類
  • Image負責application的存儲和分發,Container負責運行app

二.container的優勢:架構

1.敏捷地應用建立和部署,增長了容器鏡像建立的效率;app

二、持續開發,集成和部署,經過快速的回滾操做提供可靠容器鏡像的建立和部署;微服務

三、開發和運行相分離,在build或者release 的階段使應用和基礎設施解耦;性能

四、開發,測試和生產環境的持續;測試

五、雲和操做系統版本的可移植性,能夠運行在 Ubuntu, RHEL, CoreOS, on-prem, Google Container Engine和任何其它的運行環境中;優化

六、提高了虛擬化的層次,從虛擬硬件上運行操做系統的抽象到操做系統中應用邏輯資源的虛擬。ui

三.container發展願景:spa

截至目前(2016年1月),整個技術行業已經愈來愈多地將軟件應用程序部署基礎由虛擬機轉移向容器。之因此出現這種趨勢,一大重要緣由在於容器可以提供遠優於虛擬機的靈活性與使用成本。谷歌公司多年來一直在利用Borg and Omega容器集羣管理平臺等容器技術以實現各種谷歌應用的規模化運行。更重要的是,谷歌公司還經過實現cgroups以及參與libcontainer項目等方式爲容器技術的發展作出了突出貢獻。谷歌方面在過去幾年當中已經利用容器技術實現了可觀的性能提高、資源利用率改善以及總體執行效率優化。就在最近,微軟公司這位從未將任何操做系統層級虛擬化機制引入Windows平臺的軟件巨頭亦快速在Windows Server上實現了原生容器支持能力。操作系統

Docker、Rocket以及其它容器平臺都沒法運行在生產環境中的單一主機之上,這是由於它們都存在着單點故障隱患。儘管一整套容器集合可以運行在單一主機上,然而一旦該主機發生故障,全部運行於其上的容器也將全面癱瘓。谷歌公司在這方面搶先一步,憑藉從Borg項目中積累到的經驗打造出名爲Kubernetes的開源容器集羣管理系統。Docker公司也針對這一難題開發出了Docker Swarm解決方案。目前,這些解決方案尚處於早期發展階段,並且可能還須要數月甚至一年才能真正具有完整的功能集,從而以穩定及普遍的方式被引入容器行業的生產環境當中。

微服務則是另外一項突破性技術成果,而不只僅是一套利用容器機制實現自身部署的軟件架構。雖然微服務的概念算不上什麼新鮮事物,但這種Web服務的輕量化實現機制確實可以提供遠超過標準Web服務的啓動速度。之因此可以實現這項目標,是由於其將一整套功能單元以打包方式(可能包括單一服務/API方法)整合在一項服務當中,再將服務嵌入一套輕量化Web服務器二進制文件。

考慮到以上背景信息,咱們能夠預測在將來幾年當中,容器技術將逐步取代虛擬機甚至可以在必定程度上完全佔據其適用環境。去年,我曾經幫助多家企業立足於POC層級部署基於容器的解決方案。當時他們幾乎還都不想把容器引入生產環境。然而這種情況可能隨着容器集羣管理系統的逐步成熟而快速獲得扭轉。

本文部分轉自:http://cloud.51cto.com/art/201602/505113.htm

相關文章
相關標籤/搜索