解讀容器化技術本質

容器化真正的本質是將分布式系統對主機、虛擬機的管理轉而直接對分布式環境中大量的進程進行管理,簡化了對應用運行時環境額外的管控開銷,提升了系統的運行效率。

容器的內涵

  • 容器包含兩個內涵,一個是操作系統的隔離特性,一個是在容器內運行時的鏡像物件。<b>本質還是對應用運行時全棧的抽象(應用本身的組成結構 + 運行時資源依賴)。</b>
  • 其中對于操作系統的資源,包括存儲、網絡、進程命名空間等的隔離,是對應用享有完整運行時依賴(資源)的抽象,目的是為了讓一個host上的os以及相關資源能夠共享同時每個應用本身又能達到獨享的效果,從這個維度看,難點在于對資源的抽象,迄今為止,這個抽象尚且沒有哪個容器技術做到完全抽象,都存在一定共享的資源,比如存儲。隔離性的抽象程度決定了鏡像物件的形態。
  • 容器另外一個內涵是鏡像物件,是一個應用能夠在主機操作系統之上運行時完全“自包含”的所有軟件構件(應用自身、運行時平臺如jvm、系統的庫等),鏡像“自包含”的程度決定了鏡像本身的構成穩定性,如多個鏡像共享一個基礎鏡像,那基礎鏡像的穩定性決定了所有依賴它的鏡像的穩定性。通過一系列技術來驅動“自包含”鏡像的達成是鏡像的最佳實踐目標之一。

運行時關注點面向應用、通過容器作為載體來實現

  • 傳統的運行時架構關注應用本身 + 運行時平臺(如JVM)+ 系統平臺(如Linux、存儲、網絡等等),為了讓一個應用穩定可靠運行,關注點較多且分離。通過容器來對以上運行時平臺和系統平臺進行抽象承載,我們將應用和容器支撐服務(健康檢查、存儲策略等)合并,使我們只需要關注應用這一個中心點即可把控應用運行時所有的關注點,極大提升了效率。
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • Spring Cloud為開發人員提供了快速構建分布式系統中一些常見模式的工具(例如配置管理,服務發現,斷路器,智...
    卡卡羅2017閱讀 134,991評論 19 139
  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 173,552評論 25 708
  • Docker — 云時代的程序分發方式 要說最近一年云計算業界有什么大事件?Google Compute Engi...
    ahohoho閱讀 15,636評論 15 147
  • 最近看到一篇推薦的書單,里面首推的書是《如何閱讀一本書》。 作者是兩個人,莫提默·J. 艾德勒、查爾斯·范多倫。 ...
    月落山前閱讀 569評論 0 1
  • 瓜瓜是我大學后面兩年的班長,因為名字里有個東字,所以大家給他取了個外號叫冬瓜,后面又變成瓜瓜了。 瓜瓜長得特清秀,...
    蘭花花和澄寶閱讀 413評論 0 0