兩種貨運方式的對比:
這本書的英文名稱是"The Box:How the shipping container made the world smaller and the world economy bigger"
閱讀此書的過程中,我已經(jīng)聯(lián)想到了現(xiàn)今逐漸流行也備受質(zhì)疑的以Docker為首的容器技術(shù);當(dāng)留意到container一詞出現(xiàn)在書名中時,我已經(jīng)迫不及待地把我的觀點分享給你,幫助你從一個技術(shù)圈從未提及的角度來理解容器技術(shù)。
Docker近兩年成了容器技術(shù)的代言,我們做一個集裝箱與容器的類比:
我開始懷疑,Docker公司的創(chuàng)始人讀過此書或研究過貨運業(yè)的發(fā)展歷史,并從其中汲取了靈感,其公司的Logo即是大鯨魚上拖著集裝箱。Docker的創(chuàng)始人堪稱當(dāng)代互聯(lián)網(wǎng)界的麥克萊恩[見注釋1]。
容器技術(shù)正在快速改變著公司和用戶創(chuàng)建,發(fā)布,運行分布式應(yīng)用的方式,在未來5年將給云計算行業(yè)帶來它應(yīng)有的價值,其誘人之處包括:
資源獨立、隔離
資源隔離是云計算平臺的最基本需求。Docker通過linux namespace, cgroup限制了硬件資源與軟件運行環(huán)境,與宿主機上的其他應(yīng)用實現(xiàn)了隔離,做到了互不影響。不同應(yīng)用或服務(wù)以“集裝箱”(Container)為單位裝“船”或卸“船”,“集裝箱船”(運行container的宿主機或集群 )上,數(shù)千數(shù)萬個“集裝箱”排列整齊,不同公司、不同種類的“貨物”(運行應(yīng)用所需的程序、組件、運行環(huán)境、依賴)保持獨立。
環(huán)境的一致性
開發(fā)工程師完成應(yīng)用開發(fā)后build一個docker image,基于這個image創(chuàng)建的container像是一個集裝箱,里面打包了各種“散件貨物”(運行應(yīng)用所需的程序,組件,運行環(huán)境,依賴)。無論這個集裝箱在哪里:開發(fā)環(huán)境、測試環(huán)境、生產(chǎn)環(huán)境,都可以確保集裝箱里面的“貨物”種類與個數(shù)完全相同,軟件包不會在測試環(huán)境缺失,環(huán)境變量不會在生產(chǎn)環(huán)境忘記配置,開發(fā)環(huán)境與生產(chǎn)環(huán)境不會因為安裝了不同版本的依賴導(dǎo)致應(yīng)用運行異常。這樣的一致性得益于“發(fā)貨”(build docker image)時已經(jīng)密封到”集裝箱“中,而每一個環(huán)節(jié)都是在運輸這個完整的、不需要拆分合并的”集裝箱“。
輕量化
相比傳統(tǒng)的虛擬化技術(shù)(VM),使用Docker在cpu、memory、disk IO、network IO上的性能損耗都有同樣水平甚至更優(yōu)的表現(xiàn)。Container的快速創(chuàng)建、啟動、銷毀受到很多贊譽。
Build>
容器技術(shù)標(biāo)準(zhǔn)
容器相關(guān)的技術(shù)標(biāo)準(zhǔn)的誕生將促進整個大系統(tǒng)的各方更好的協(xié)調(diào)和兼容。
云計算平臺的支持
現(xiàn)有云計算平臺要么盡快支持容器技術(shù),要么被新的支持容器的云計算平臺超越。中國香港、上海、深圳、青島、天津在上世紀(jì)60~80年代抓住了集裝箱發(fā)展的機遇,成為全球供應(yīng)鏈上的主要樞紐港,2014年仍處在全球10個最大吞吐量集裝箱港之列。
使用容器的習(xí)慣逐漸形成
培養(yǎng)應(yīng)用發(fā)布者使用容器發(fā)布應(yīng)用的習(xí)慣是非技術(shù)問題,也需要時間去沉淀。全球運輸業(yè)花了近15年培養(yǎng)出了發(fā)貨商使用集裝箱的習(xí)慣,在互聯(lián)網(wǎng)行業(yè)不需要這么慢。
行業(yè)規(guī)模
Mesos, Kubernetes等容器管理方案將助力 “巴拿馬級”,“馬六甲級”[見注釋2]的容器“輪船”。Mesos, Kubernetes等成熟通用的集群管理方案將為你做好大規(guī)模分布式容器的啟停、調(diào)度、編排、高可用。與現(xiàn)有的大部分互聯(lián)網(wǎng)服務(wù)類似,容器依賴于規(guī)模,云計算平臺服務(wù)的客戶越多,運行的容器規(guī)模越大,構(gòu)建整套容器運行體系的固定成本就被分?jǐn)偟迷奖?,客戶使用云計算服?wù)的資費就能降下來。