當(dāng)前位置:首頁(yè) > 工業(yè)控制 > 工業(yè)控制技術(shù)文庫(kù)
[導(dǎo)讀] 這事兒還得從上世紀(jì)60年代以前說(shuō)起。。.。。. 那時(shí),集裝箱運(yùn)輸還未被認(rèn)可,幾乎所有的貨物都是以散件方式運(yùn)輸。 以“勇士號(hào)”為例,在一次從布魯克林到不來(lái)梅的運(yùn)輸中,貨物裝卸都是由

這事兒還得從上世紀(jì)60年代以前說(shuō)起。。.。。.

那時(shí),集裝箱運(yùn)輸還未被認(rèn)可,幾乎所有的貨物都是以散件方式運(yùn)輸。

以“勇士號(hào)”為例,在一次從布魯克林到不來(lái)梅的運(yùn)輸中,貨物裝卸都是由普通的碼頭工人來(lái)完成的,它裝載了5015英噸的貨物,主要是食品、日用品、郵件、機(jī)器和車(chē)輛的零部件以及53輛車(chē)。這批貨物的數(shù)量達(dá)到了驚人的194582件,而且大小和種類(lèi)各不相同。

所有的貨物都是碼頭工人一件一件放到貨盤(pán)上,再把貨盤(pán)降到船艙中一件一件搬下來(lái)堆好。他們裝完這艘船總共用了6天時(shí)間;橫跨大西洋的航行用了10天半的時(shí)間;在不來(lái)梅港,碼頭工人是晝夜不停地干活兒,他們卸船用了4天時(shí)間。

總而言之,這次航行有一半時(shí)間都花在碼頭上了。

為什么非要裝載、卸載、轉(zhuǎn)移和再裝載那么多的散件貨物?為什么不把貨物裝進(jìn)大箱子里,然后就只裝卸和搬運(yùn)這些箱子?

集裝箱便由此誕生了。

運(yùn)輸業(yè)大量采用集裝箱后,由咖啡制造商發(fā)出的一只35噸的集裝箱,可以在馬來(lái)西亞離開(kāi)工廠,裝上一艘貨輪,經(jīng)過(guò)16天的航行到達(dá)9000營(yíng)里之外的洛杉磯。一天之后,這個(gè)集裝箱被一列火車(chē)運(yùn)到芝加哥,并被隨機(jī)轉(zhuǎn)移到了一輛開(kāi)往辛辛那提的卡車(chē)上。從離開(kāi)馬來(lái)西亞的工廠到抵達(dá)俄亥俄州的倉(cāng)庫(kù),這次11000營(yíng)里的行程可能只需要花費(fèi)22天的時(shí)間,其速度是每天500英里,而費(fèi)用比一張單程的頭等艙機(jī)票還低。另外,在這一路上,很可能沒(méi)有人碰過(guò)集裝箱里的東西,甚至根本沒(méi)有人打開(kāi)過(guò)它。同傳統(tǒng)的貨輪相比,集裝箱船的裝卸只需要大約1/6的時(shí)間和1/3的勞動(dòng)力。

今天我們要講的“容器技術(shù)”的思想正是來(lái)源于此。

集裝箱解決了什么問(wèn)題?在一艘大船上,各種類(lèi)型的貨物,小到奶粉、化妝品,大到機(jī)器設(shè)備、跑車(chē),都可以被裝箱到一個(gè)標(biāo)準(zhǔn)的集裝箱內(nèi)。托運(yùn)貨物的人只需要保證貨物在集裝箱內(nèi)的密封和固定,而無(wú)需關(guān)心集裝箱如何被擺放和運(yùn)輸。

負(fù)責(zé)運(yùn)輸?shù)娜藙t無(wú)需關(guān)心一個(gè)個(gè)集裝箱內(nèi)裝的不同貨物,只需把集裝箱當(dāng)做一個(gè)封閉、無(wú)差別的獨(dú)立個(gè)體,進(jìn)行裝載、卸貨、堆放、運(yùn)輸,整個(gè)過(guò)程中集裝箱保持封閉狀態(tài)直到被運(yùn)送到目的地。從輪船到火車(chē),再到卡車(chē)運(yùn)輸,都可以利用起重機(jī)(吊車(chē))對(duì)集裝箱進(jìn)行操作,實(shí)現(xiàn)流程的自動(dòng)化,從而以非常廉價(jià)的方式,有效解決了不同類(lèi)型貨物在長(zhǎng)距離運(yùn)輸中的問(wèn)題。

類(lèi)似于集裝箱,容器技術(shù)的誕生給開(kāi)發(fā)人員帶來(lái)了諸多方便,節(jié)約了不少成本,不管是在運(yùn)維還是開(kāi)發(fā)上。

容器技術(shù)的誕生史

在很久很久以前,想要在線上服務(wù)器部署一個(gè)應(yīng)用,首先需要購(gòu)買(mǎi)一個(gè)物理服務(wù)器,在服務(wù)器安裝一個(gè)操作系統(tǒng),然后安裝好應(yīng)用所需要的各種依賴環(huán)境,最后才可以進(jìn)行應(yīng)用的部署,而且一臺(tái)服務(wù)器只能部署一個(gè)應(yīng)用。

這就造成了以下幾個(gè)明顯問(wèn)題:

●部署應(yīng)用非常慢

●需要花費(fèi)的成本非常高

●而且容易造成資源的浪費(fèi),因?yàn)橥粋€(gè)應(yīng)用使用不了一個(gè)服務(wù)器的資源

●難于遷移和擴(kuò)展

●遷移問(wèn)題:要把應(yīng)用進(jìn)行遷移,又得重復(fù)部署應(yīng)用的過(guò)程:買(mǎi)服務(wù)器 -》 安裝os -》 配置環(huán)境 -》 部署應(yīng)用

●擴(kuò)展問(wèn)題:只能購(gòu)買(mǎi)新的硬件來(lái)升級(jí)物理服務(wù)器,或者購(gòu)買(mǎi)更高性能的服務(wù)器,這就又涉及到遷移問(wèn)題了

●可能會(huì)被限定硬件廠商,因?yàn)槟菚r(shí)候有不同硬件平臺(tái)

虛擬化技術(shù)出現(xiàn)以后,對(duì)于這種問(wèn)題有所改變,虛擬化技術(shù)會(huì)在本地操作系統(tǒng)之上加多一層 Hypervisor層。Hypervisor是一種運(yùn)行在物理服務(wù)器和操作系統(tǒng)之間的中間軟件層,可以虛擬化硬件資源,例如cpu、硬盤(pán)、內(nèi)存資源等。然后我們可以基于通過(guò)虛擬化出來(lái)的資源之上安裝操作系統(tǒng),這也就是所謂的虛擬機(jī)。

通過(guò)Hypervisor層,我們可以創(chuàng)建不同的虛擬機(jī),并且可以限定每個(gè)虛擬機(jī)的物理資源,并且每個(gè)虛擬機(jī)都是分離、獨(dú)立的。例如A虛擬機(jī)給它使用2個(gè)cpu、8g內(nèi)存、100g磁盤(pán),B虛擬機(jī)給它使用4個(gè)cpu、16g內(nèi)存、300g磁盤(pán)等等。。.。。.這樣就可以實(shí)現(xiàn)物理資源利用率的最大化。

如此一來(lái):

●一臺(tái)物理機(jī)就可以部署多個(gè)應(yīng)用

●每個(gè)應(yīng)用都可以獨(dú)立運(yùn)行在一個(gè)虛擬機(jī)里

虛擬化技術(shù)的優(yōu)點(diǎn):

●資源池——一個(gè)物理機(jī)的資源分配到了不同的虛擬機(jī)里

●很容易擴(kuò)展——增加物理機(jī)或者虛擬機(jī)即可,因?yàn)樘摂M機(jī)是可以復(fù)制的

●很容易云化——亞馬孫AWS,阿里云,谷歌云等

然而,隨著時(shí)間推移,用戶發(fā)現(xiàn)hypervisor這種方式麻煩越來(lái)越多。

為什么?因?yàn)閷?duì)于hypervisor環(huán)境來(lái)說(shuō),每個(gè)虛擬機(jī)都需要運(yùn)行一個(gè)完整的操作系統(tǒng)以及其中安裝好的大量應(yīng)用程序。但實(shí)際生產(chǎn)開(kāi)發(fā)環(huán)境里,我們更關(guān)注的是自己部署的應(yīng)用程序,如果每次部署發(fā)布我都得搞一個(gè)完整操作系統(tǒng)和附帶的依賴環(huán)境,那么這讓任務(wù)和性能變得很重和很低下。

基于上述情況,人們就在想,有沒(méi)有其他什么方式能讓人更加的關(guān)注應(yīng)用程序本身,底層多余的操作系統(tǒng)和環(huán)境我可以共享和復(fù)用?換句話來(lái)說(shuō),那就是我部署一個(gè)服務(wù)運(yùn)行好后,我再想移植到另外一個(gè)地方,可以不用再安裝一套操作系統(tǒng)和依賴環(huán)境。

Linux Container容器技術(shù)的誕生(2008年)就解決了IT世界里“集裝箱運(yùn)輸”的問(wèn)題。Linux Container(簡(jiǎn)稱LXC)它是一種內(nèi)核輕量級(jí)的操作系統(tǒng)層虛擬化技術(shù)。

Linux Container主要由Namespace和Cgroup兩大機(jī)制來(lái)保證實(shí)現(xiàn)。

剛才我們上文中提到了集裝箱,集裝箱的作用當(dāng)然是可以對(duì)貨物進(jìn)行打包隔離了,不讓A公司的貨跟B公司的貨混在一起,不然卸貨就分不清楚了。那么Namespace也是一樣的作用,做隔離。

光有隔離還沒(méi)用,我們還需要對(duì)貨物進(jìn)行資源的管理。同樣的,航運(yùn)碼頭也有這樣的管理機(jī)制:貨物用什么樣規(guī)格大小的集裝箱,貨物用多少個(gè)集裝箱,貨物哪些優(yōu)先運(yùn)走,遇到極端天氣怎么暫停運(yùn)輸服務(wù)怎么改航道等等。。.。。通用的,與此對(duì)應(yīng)的Cgroup就負(fù)責(zé)資源管理控制作用,比如進(jìn)程組使用CPU/MEM的限制,進(jìn)程組的優(yōu)先級(jí)控制,進(jìn)程組的掛起和恢復(fù)等等。

下圖展示了容器技術(shù)的演變,當(dāng)前,docker幾乎是容器的代名詞。

為什么容器技術(shù)對(duì)物聯(lián)網(wǎng)和云計(jì)算如此重要?

說(shuō)了這么多,我們不妨來(lái)總結(jié)一下容器技術(shù)的特點(diǎn):

1.資源獨(dú)立、隔離

Docker通過(guò)Linux Namespace、Cgroup限制了硬件資源與軟件運(yùn)行環(huán)境,與宿主機(jī)上的其他應(yīng)用實(shí)現(xiàn)了隔離,做到了互不影響。不同應(yīng)用或服務(wù)以“集裝箱”(container)為單位裝“船”或卸“船”,“集裝箱船”(運(yùn)行container的宿主機(jī)或集群 )上,數(shù)千數(shù)萬(wàn)個(gè)“集裝箱”排列整齊,不同公司、不同種類(lèi)的“貨物”(運(yùn)行應(yīng)用所需的程序、組件、運(yùn)行環(huán)境、依賴)保持獨(dú)立。

這恰好也是云計(jì)算平臺(tái)的最基本需求。

2.環(huán)境的一致性

開(kāi)發(fā)工程師完成應(yīng)用開(kāi)發(fā)后build一個(gè)docker image,基于這個(gè)image創(chuàng)建的container像是一個(gè)集裝箱,里面打包了各種“散件貨物”(運(yùn)行應(yīng)用所需的程序、組件、運(yùn)行環(huán)境、依賴)。無(wú)論這個(gè)集裝箱在哪里:開(kāi)發(fā)環(huán)境、測(cè)試環(huán)境、生產(chǎn)環(huán)境,都可以確保集裝箱里面的“貨物”種類(lèi)與個(gè)數(shù)完全相同,軟件包不會(huì)在測(cè)試環(huán)境缺失,環(huán)境變量不會(huì)在生產(chǎn)環(huán)境忘記配置,開(kāi)發(fā)環(huán)境與生產(chǎn)環(huán)境不會(huì)因?yàn)榘惭b了不同版本的依賴導(dǎo)致應(yīng)用運(yùn)行異常。這樣的一致性得益于“發(fā)貨”(build docker image)時(shí)已經(jīng)密封到”集裝箱“中,而每一個(gè)環(huán)節(jié)都是在運(yùn)輸這個(gè)完整的、不需要拆分合并的”集裝箱“。

3.輕量化

傳統(tǒng)的虛擬機(jī)通過(guò)硬件虛擬化創(chuàng)造一個(gè)虛擬的系統(tǒng),每個(gè)虛擬機(jī)都有自己的內(nèi)存、硬盤(pán)和操作系統(tǒng),預(yù)分配的資源會(huì)被虛擬機(jī)完全占用。使用虛擬機(jī)來(lái)隔離應(yīng)用會(huì)造成比較大的資源浪費(fèi),一個(gè)應(yīng)用加上依賴只有幾十到幾百M(fèi)的大小,而操作系統(tǒng)往往還需要消耗10G左右容量。

圖:容器技術(shù)和虛擬機(jī)的對(duì)比

上圖展示了容器技術(shù)和虛擬機(jī)的區(qū)別。容器包含了應(yīng)用和所需的依賴,但不需要獨(dú)占資源,沒(méi)有一個(gè)虛擬系統(tǒng),而是和宿主機(jī)共享硬件資源和操作系統(tǒng),和其他容器共享內(nèi)核,從而實(shí)現(xiàn)資源的動(dòng)態(tài)分配。多個(gè)容器在同一個(gè)宿主機(jī)操作系統(tǒng)中的用戶空間以獨(dú)立的進(jìn)程運(yùn)行。因此,容器相比虛擬機(jī)要輕量許多,在一個(gè)主機(jī)上可以同時(shí)啟動(dòng)近百個(gè)容器,一個(gè)應(yīng)用要在數(shù)量上橫向擴(kuò)展非常便捷,而虛擬機(jī)則幾乎不可能啟動(dòng)同樣多的數(shù)量。對(duì)于重啟操作,容器近似于重啟一個(gè)進(jìn)程,而虛擬機(jī)則相當(dāng)于重啟操作系統(tǒng)。

4.Build Once, Run Everywhere

“貨物”(應(yīng)用)在“汽車(chē)”,“火車(chē)”,“輪船”(私有云、公有云等服務(wù))之間遷移交換時(shí),只需要遷移符合標(biāo)準(zhǔn)規(guī)格和裝卸方式的“集裝箱”(docker container),削減了耗時(shí)費(fèi)力的人工“裝卸”(上線、下線應(yīng)用),帶來(lái)的是巨大的時(shí)間人力成本節(jié)約,這使未來(lái)僅有少數(shù)幾個(gè)運(yùn)維人員運(yùn)維超大規(guī)模裝載線上應(yīng)用的容器集群成本可能。

看到這里,有沒(méi)有覺(jué)得非常眼熟?

近幾年大熱的物聯(lián)網(wǎng)平臺(tái),宣傳的不也就是這些點(diǎn)嗎?

物聯(lián)網(wǎng)平臺(tái)商往往會(huì)這么告訴你:在我們的平臺(tái)上提供了多種多樣的開(kāi)發(fā)工具,你可以使用拖拽式的手法開(kāi)發(fā)程序,完全不用操心底層的操作系統(tǒng)和所依賴的環(huán)境,只需專(zhuān)注于客戶的需求和應(yīng)用程序本身。。.。。.

就像OpenStack、Cloudstack這樣的技術(shù)是解決IaaS層的問(wèn)題,容器技術(shù)的誕生其實(shí)主要解決了PaaS層的技術(shù)實(shí)現(xiàn)。

現(xiàn)在最常用的開(kāi)源云平臺(tái)架構(gòu)Kubernetes、Cloud Foundary還是Serverless,其背后驅(qū)動(dòng)都是容器技術(shù)。而市面上多達(dá)上百家的物聯(lián)網(wǎng)平臺(tái),幾乎都是PaaS平臺(tái)。

圖:2015-2017年物聯(lián)網(wǎng)平臺(tái)企業(yè)數(shù)量

圖:各XaaS中用戶管理和平臺(tái)功能的劃分

說(shuō)到這里,大家可能就會(huì)充分理解容器技術(shù)的重要性了。

容器技術(shù)為軟件開(kāi)發(fā)和系統(tǒng)運(yùn)維帶來(lái)了顛覆性的突破,而隨著容器技術(shù)的普及,系統(tǒng)開(kāi)發(fā)和管理的效率必將上升到一個(gè)新的臺(tái)階,從而為企業(yè)帶來(lái)不可估量的效益。

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專(zhuān)欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車(chē)的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

倫敦2024年8月29日 /美通社/ -- 英國(guó)汽車(chē)技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車(chē)工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車(chē)。 SODA V工具的開(kāi)發(fā)耗時(shí)1.5...

關(guān)鍵字: 汽車(chē) 人工智能 智能驅(qū)動(dòng) BSP

北京2024年8月28日 /美通社/ -- 越來(lái)越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來(lái)越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對(duì)日本游戲市場(chǎng)的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)開(kāi)幕式在貴陽(yáng)舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語(yǔ)權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對(duì)環(huán)境變化,經(jīng)營(yíng)業(yè)績(jī)穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤(rùn)率延續(xù)升勢(shì) 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長(zhǎng) 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競(jìng)爭(zhēng)力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競(jìng)爭(zhēng)優(yōu)勢(shì)...

關(guān)鍵字: 通信 BSP 電信運(yùn)營(yíng)商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺(tái)與中國(guó)電影電視技術(shù)學(xué)會(huì)聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會(huì)上宣布正式成立。 活動(dòng)現(xiàn)場(chǎng) NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長(zhǎng)三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會(huì)上,軟通動(dòng)力信息技術(shù)(集團(tuán))股份有限公司(以下簡(jiǎn)稱"軟通動(dòng)力")與長(zhǎng)三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉