自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

Linux容器演變歷程與未來發(fā)展前景

譯文
云計算
容器化技術(shù)的發(fā)展歷史可以追溯到1979年,而其未來命運則被掌握在Docker及其它類似技術(shù)方案手中。

 Linux容器作為一類操作系統(tǒng)層面的虛擬化技術(shù)成果,旨在立足于單一Linux主機交付多套隔離性Linux環(huán)境。與虛擬機不同,容器系統(tǒng)并不需要運行特定的訪客操作系統(tǒng)。相反,容器共享同一套主機操作系統(tǒng)內(nèi)核,同時利用訪客操作系統(tǒng)的系統(tǒng)庫以交付必要的系統(tǒng)功能。由于無需借助于專門的操作系統(tǒng),因此容器在啟動速度上要遠(yuǎn)遠(yuǎn)優(yōu)于虛擬機。

圖片來源:Docker有限公司

容器能夠利用Namespaces、Apparmor、SELinux配置、chroot以及CGroups等Linux內(nèi)核功能,從而交付一套類似于虛擬機的隔離性環(huán)境。Linux安全模塊能夠確保來自容器的主機設(shè)備與內(nèi)核訪問行為受到妥善管理,從而避免入侵活動的發(fā)生。除此之外,容器還能夠通過其主機操作系統(tǒng)運行多種不同Linux發(fā)行版——只要各類操作系統(tǒng)擁有同樣的底層CPU架構(gòu)要求。

總體而言,容器技術(shù)提供了一種立足于各類Linux發(fā)行版的容器鏡像創(chuàng)建方式,同時利用API進(jìn)行容器生命周期管理,通過客戶端工具實現(xiàn)與該API的交互,進(jìn)而提供快照以及不同容器主機之間容器實例遷移等能力。

容器技術(shù)發(fā)展歷程

以下為從維基百科以及其它信息源處收集到的容器發(fā)展歷程總結(jié):

1979年 — chroot

容器技術(shù)的概念可以追溯到1979年的UNIX chroot。這是一套“UNIX操作系統(tǒng)”系統(tǒng),旨在將其root目錄及其它子目錄變更至文件系統(tǒng)內(nèi)的新位置,且只接受特定進(jìn)程的訪問。這項功能的設(shè)計目的在于為每個進(jìn)程提供一套隔離化磁盤空間。1982年其被添加至BSD當(dāng)中。

2000年 — FreeBSD Jails

FreeBSD Jails是由Derrick T. Woolworth于2000年在FreeBSD研發(fā)協(xié)會中構(gòu)建而成的早期容器技術(shù)之一。這是一套“操作系統(tǒng)”系統(tǒng),與chroot的定位類似,不過其中包含有其它進(jìn)程沙箱機制以對文件系統(tǒng)、用戶及網(wǎng)絡(luò)等資源進(jìn)行隔離。通過這種方式,它能夠為每個Jail、定制化軟件安裝包乃至配置方案等提供一個對應(yīng)的IP地址。

2001年 — Linux VServer

Linux VServer屬于另一種jail機制,其能夠被用于保護(hù)計算機系統(tǒng)之上各分區(qū)資源的安全(包括文件系統(tǒng)、CPU時間、網(wǎng)絡(luò)地址以及內(nèi)存等)。每個分區(qū)被稱為一套安全背景(security context),而其中的虛擬化系統(tǒng)則被稱為一套虛擬私有服務(wù)器。

2004年 — Solaris容器

Solaris容器誕生之時面向x86與SPARC系統(tǒng)架構(gòu),其最初亮相于2004年2月的Solaris 10 Build 51 beta當(dāng)中,隨后于2005年正式登陸Solaris 10的完整版本。Solaris容器相當(dāng)于將系統(tǒng)資源控制與由分區(qū)提供的邊界加以結(jié)合。各分區(qū)立足于單一操作系統(tǒng)實例之內(nèi)以完全隔離的虛擬服務(wù)器形式運行。

2005年 — OpenVZ

OpenVZ與Solaris容器非常相似,且使用安裝有補丁的Linux內(nèi)核以實現(xiàn)虛擬化、隔離能力、資源管理以及檢查點交付。每套OpenVZ容器擁有一套隔離化文件系統(tǒng)、用戶與用戶群組、一套進(jìn)程樹、網(wǎng)絡(luò)、設(shè)備以及IPC對象。

2006年 — Process容器

Process容器于2006年由谷歌公司推出,旨在對一整套進(jìn)程集合中的資源使用量(包括CPU、內(nèi)存、磁盤I/O以及網(wǎng)絡(luò)等等)加以限制、分配與隔離。此后其被更名為Control Groups(即控制組),從而避免其中的“容器”字眼與Linux內(nèi)核2.6.24中的另一術(shù)語出現(xiàn)沖突。這表明了谷歌公司率先重視容器技術(shù)的敏銳眼光以及為其做出的突出貢獻(xiàn)。

2007年 — Control Groups

正如上文所提及,Control Groups也就是谷歌實現(xiàn)的cgroups,其于2007年被添加至Linux內(nèi)核當(dāng)中。

2008年 — LXC

LXC指代的是Linux Containers,其也是第一套完整的Linux容器管理實現(xiàn)方案。其功能通過cgroups以及Linux namespaces實現(xiàn)。LXC通過liblxc庫進(jìn)行交付,并提供可與Python3、Python2、Lua、Go、Ruby以及Haskell等語言相對接的API。相較于其它容器技術(shù),LXC能夠在無需任何額外補丁的前提下運行在原版Linux內(nèi)核之上。目前LXC項目由Canonical有限公司負(fù)責(zé)贊助及托管。

2011年 — Warden

Warden由CloudFoundry公司于2011年所建立,其利用LXC作為初始階段,隨后又將其替換為自家實現(xiàn)方案。與LXC不同,Warden并不會與Linux緊密耦合。相反,其能夠運行在任意能夠提供多種隔離環(huán)境方式的操作系統(tǒng)之上。Warden以后臺進(jìn)程方式運行并提供API以實現(xiàn)容器管理。感興趣的朋友可以點擊此處與此處了解更多與Warden相關(guān)的細(xì)節(jié)信息(英文原文)。

2013年 — LMCTFY

Lmctfy代表的是“Let Me Contain That For You(幫你實現(xiàn)容器化)”。它其實屬于谷歌容器技術(shù)堆棧的開源版本,負(fù)責(zé)提供Linux應(yīng)用程序容器。谷歌公司在該項目的起步階段宣稱其能夠提供值得信賴的性能表現(xiàn)、高資源利用率、共享資源機制、充裕的發(fā)展空間以及趨近于零的額外資源消耗。Kubernetes目前所使用的cAdvisor工具最初就來源于lmctfy項目。2013年10月lmctfy的首個版本正式推出,谷歌公司在2015年決定將lmctfy的核心概念與抽象機制轉(zhuǎn)化為libcontainer。在失去了主干之后,如今lmctfy已經(jīng)失去一切積極的發(fā)展勢頭。

Libcontainer項目最初由Docker公司建立,如今已經(jīng)被歸入開放容器基金會的管轄范疇。

2013年 — Docker

截至2016年1月,Docker是目前最具人氣且應(yīng)用最為廣泛的容器管理系統(tǒng)。Docker項目最初是由一家名為dotCloud的平臺即服務(wù)廠商所打造,其后該公司更名為Docker。與Warden類似,Docker同樣在起步階段使用LXC,而后利用自己的libcontainer庫將其替換下來。與其它容器平臺不同,Docker引入了一整套與容器管理相關(guān)的生態(tài)系統(tǒng)。其中包括一套高效的分層式容器鏡像模型、一套全局及本地容器注冊表、一個精簡化REST API以及一套命令行界面等等。在后期發(fā)展階段,Docker公司還構(gòu)建起一套名為Docker Swarm的容器集群管理解決方案。

2014年 — Rocket

Rocket最初由CoreOS開發(fā)而成,專門用于解決部分Docker當(dāng)中存在的缺陷。CoreOS方面也提到,他們當(dāng)初的開發(fā)目標(biāo)是在安全性與生產(chǎn)要求滿足能力上超越Docker。更重要的是,其基于App Container規(guī)范并使其成為一項更為開放的標(biāo)準(zhǔn)。除了Rocket之外,CoreOS還開發(fā)出了多種其它與容器相關(guān)的產(chǎn)品,且已經(jīng)被Docker與Kubernetes所使用:CoreOS操作系統(tǒng)、etcd以及flannel。

2016年 — Windows容器

微軟公司也已經(jīng)于2015年采取初步舉措,希望將容器支持能力添加到微軟Windows Server操作系統(tǒng)當(dāng)中,而這項旨在幫助Windows應(yīng)用實現(xiàn)容器化的項目被稱為Windows容器(Windows Containers)。其即將隨微軟的Windows Server 2016一同推出。在這碩方案當(dāng)中,Docker能夠以原生方式在Windows平臺上運行容器,而無需運行虛擬機或者多層Docker(早期Docker需要利用Linux虛擬機才能與Windows系統(tǒng)相對接)。

容器之發(fā)展愿景

截至目前(2016年1月),整個技術(shù)行業(yè)已經(jīng)越來越多地將軟件應(yīng)用程序部署基礎(chǔ)由虛擬機轉(zhuǎn)移向容器。之所以出現(xiàn)這種趨勢,一大重要原因在于容器能夠提供遠(yuǎn)優(yōu)于虛擬機的靈活性與使用成本。谷歌公司多年來一直在利用Borg and Omega容器集群管理平臺等容器技術(shù)以實現(xiàn)各類谷歌應(yīng)用的規(guī)?;\行。更重要的是,谷歌公司還通過實現(xiàn)cgroups以及參與libcontainer項目等方式為容器技術(shù)的發(fā)展做出了突出貢獻(xiàn)。谷歌方面在過去幾年當(dāng)中已經(jīng)利用容器技術(shù)實現(xiàn)了可觀的性能提升、資源利用率改善以及整體執(zhí)行效率優(yōu)化。就在最近,微軟公司這位從未將任何操作系統(tǒng)層級虛擬化機制引入Windows平臺的軟件巨頭亦快速在Windows Server上實現(xiàn)了原生容器支持能力。

Docker、Rocket以及其它容器平臺都無法運行在生產(chǎn)環(huán)境中的單一主機之上,這是因為它們都存在著單點故障隱患。盡管一整套容器集合能夠運行在單一主機上,然而一旦該主機發(fā)生故障,所有運行于其上的容器也將全面癱瘓。谷歌公司在這方面搶先一步,憑借從Borg項目中積累到的經(jīng)驗打造出名為Kubernetes的開源容器集群管理系統(tǒng)。Docker公司也針對這一難題開發(fā)出了Docker Swarm解決方案。目前,這些解決方案尚處于早期發(fā)展階段,而且可能還需要數(shù)月甚至一年才能真正具備完整的功能集,從而以穩(wěn)定及廣泛的方式被引入容器行業(yè)的生產(chǎn)環(huán)境當(dāng)中。

微服務(wù)則是另一項突破性技術(shù)成果,而不僅僅是一套利用容器機制實現(xiàn)自身部署的軟件架構(gòu)。雖然微服務(wù)的概念算不上什么新鮮事物,但這種Web服務(wù)的輕量化實現(xiàn)機制確實能夠提供遠(yuǎn)超過標(biāo)準(zhǔn)Web服務(wù)的啟動速度。之所以能夠?qū)崿F(xiàn)這項目標(biāo),是因為其將一整套功能單元以打包方式(可能包括單一服務(wù)/API方法)整合在一項服務(wù)當(dāng)中,再將服務(wù)嵌入一套輕量化Web服務(wù)器二進(jìn)制文件。

考慮到以上背景信息,我們可以預(yù)測在未來幾年當(dāng)中,容器技術(shù)將逐步取代虛擬機甚至能夠在一定程度上徹底占據(jù)其適用環(huán)境。去年,我曾經(jīng)幫助多家企業(yè)立足于POC層級部署基于容器的解決方案。當(dāng)時他們幾乎還都不想把容器引入生產(chǎn)環(huán)境。然而這種狀況可能隨著容器集群管理系統(tǒng)的逐步成熟而快速得到扭轉(zhuǎn)。

原文標(biāo)題:The History of Linux Containers from chroot to the Future

【51CTO.com獨家譯稿,合作站點轉(zhuǎn)載請注明來源】

責(zé)任編輯:xinxiaoliang 來源: 51CTO
相關(guān)推薦

2022-09-08 12:22:57

元宇宙

2009-06-19 13:59:53

JSP特點

2017-04-21 15:16:30

Python語言JAVA

2020-12-15 15:19:55

Java編程語言工業(yè)互聯(lián)網(wǎng)

2023-09-07 08:00:00

2017-04-26 09:24:53

大數(shù)據(jù)Python運維

2021-04-12 09:35:23

大數(shù)據(jù)據(jù)分析數(shù)據(jù)

2017-12-15 20:00:50

Java發(fā)展前景職業(yè)方向

2014-07-09 17:03:35

多模光纖

2020-11-30 10:32:54

數(shù)字貨幣加密貨幣區(qū)塊鏈

2020-12-02 16:02:15

人工智能BI

2020-12-02 10:48:15

商業(yè)智能人工智能AI

2010-01-25 17:29:26

以太網(wǎng)交換機

2011-08-23 09:16:19

Python

2015-04-13 10:18:37

VoLTE4G話音

2021-01-12 13:16:55

比特幣加密貨幣區(qū)塊鏈

2022-03-19 23:24:27

元宇宙區(qū)塊鏈技術(shù)

2022-04-21 21:32:34

區(qū)塊鏈

2011-03-07 10:53:48

2019-12-12 09:48:24

Web前端技術(shù)
點贊
收藏

51CTO技術(shù)棧公眾號