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

容器詳解:你不可不知的九個(gè)基本事實(shí)

譯文
網(wǎng)絡(luò)
容器是數(shù)據(jù)中心領(lǐng)域最熱門的話題。下面是每個(gè)見多識(shí)廣的IT專業(yè)人員都應(yīng)該知道,而且能夠解釋的幾個(gè)基本事實(shí)。

容器是數(shù)據(jù)中心創(chuàng)新領(lǐng)域最熱門的潮流,盡管不是參與討論的每個(gè)人都能準(zhǔn)確地闡明具體原因。如果你想知道容器是不是適合自己的數(shù)據(jù)中心戰(zhàn)略,或者如果你知道容器適合數(shù)據(jù)中心戰(zhàn)略,但需要有法子向同行解釋容器,那么這篇指南正適合你。

從最基本的層面上來講,容器讓你可以將更多的計(jì)算工作負(fù)載塞入到單單一臺(tái)服務(wù)器上,并且讓你可以在一瞬間為新的計(jì)算任務(wù)提高增加容量。從理論上來說,這意味著你可以購(gòu)買較少的硬件,自建或租賃較少的數(shù)據(jù)中心場(chǎng)地,并且雇用較少的人手來管理這些設(shè)備。容器不同于虛擬機(jī)――你可能早已在使用VMware或Hyper-V虛擬化軟件或者KVM或Zen等開源解決方案,運(yùn)行虛擬機(jī)。我們會(huì)在下面解釋一些差異。

具體來說,Linux容器為服務(wù)器上運(yùn)行的每個(gè)應(yīng)用程序提供了獨(dú)自、隔離的環(huán)境來運(yùn)行,但是那些容器都共享主機(jī)服務(wù)器的操作系統(tǒng)。由于容器沒很必要裝入操作系統(tǒng),你可以在一瞬間為虛擬機(jī)建立容器,而不是要花數(shù)分鐘。如果應(yīng)用程序遇到業(yè)務(wù)活動(dòng)突然猛增的情況,比如人們進(jìn)行更多次搜索或訂購(gòu)更多個(gè)產(chǎn)品,這樣的速度讓數(shù)據(jù)中心能夠非常迅速地響應(yīng)。

下面是容器方面需要了解的九個(gè)基本事實(shí)。如果你有另外的基本事實(shí)需要補(bǔ)充,歡迎留言交流!

1. 容器不同于虛擬機(jī)。

想比較容器和虛擬機(jī),一個(gè)辦法就是看一看各自的優(yōu)點(diǎn):容器具有輕量級(jí)特性,所需的內(nèi)存空間較少,提供非??斓膯?dòng)速度,而虛擬機(jī)提供了專用操作系統(tǒng)的安全性和更牢固的邏輯邊界。如果是虛擬機(jī),虛擬機(jī)管理程序與硬件對(duì)話,就如同虛擬機(jī)的操作系統(tǒng)和應(yīng)用程序構(gòu)成了一個(gè)單獨(dú)的物理機(jī)。虛擬機(jī)中的操作系統(tǒng)可以完全不同于主機(jī)的操作系統(tǒng)。

容器提供了更高級(jí)的隔離機(jī)制,許多應(yīng)用程序在主機(jī)操作系統(tǒng)下運(yùn)行,所有應(yīng)用程序共享某些操作系統(tǒng)庫(kù)和操作系統(tǒng)的內(nèi)核。已經(jīng)過證明的屏障可以阻止運(yùn)行中的容器彼此沖突,但是這種隔離存在一些安全方面的問題,我們稍后會(huì)探討。

容器和虛擬機(jī)都具有高度可移植性,但方式不一樣。就虛擬機(jī)而言,可以在運(yùn)行同一虛擬機(jī)管理程序(通常是VMware的ESX、微軟的Hyper-V或者開源Zen或KVM)的多個(gè)系統(tǒng)之間進(jìn)行移植。而容器不需要虛擬機(jī)管理程序,因?yàn)樗c某個(gè)版本的操作系統(tǒng)綁定在一起。但是容器中的應(yīng)用程序可以移到任何地方,只要那里有一份該操作系統(tǒng)的副本。

容器的一大好處就是應(yīng)用程序以標(biāo)準(zhǔn)方式進(jìn)行了格式化,之后才放到容器中。開發(fā)人員可以使用同樣的工具和工作流程,不管目標(biāo)操作系統(tǒng)是什么。一旦在容器中,每種類型的應(yīng)用程序都以同樣的方式在網(wǎng)絡(luò)上移動(dòng)。這樣一來,容器酷似虛擬機(jī),它們又是程序包文件,可以通過互聯(lián)網(wǎng)或內(nèi)部網(wǎng)絡(luò)來移動(dòng)。

我們已經(jīng)有了Linux容器、Solaris容器和FreeBSD容器。微軟正與Docker(同名開源容器項(xiàng)目背后的公司)合作,開發(fā)Windows容器。

Docker容器里面的應(yīng)用程序無法遷移到另一個(gè)操作系統(tǒng)。確切地說,它能夠以標(biāo)準(zhǔn)方式在網(wǎng)絡(luò)上移動(dòng),因而更容易在數(shù)據(jù)中心內(nèi)部或數(shù)據(jù)中心之間移動(dòng)軟件。單一容器總是與單一版本的操作系統(tǒng)內(nèi)核關(guān)聯(lián)起來。

2. 容器不如虛擬機(jī)來得成熟。

如今容器與虛擬機(jī)之間一個(gè)顯眼的區(qū)別就是,虛擬機(jī)是一項(xiàng)高度發(fā)展、非常成熟的技術(shù),事實(shí)證明可以運(yùn)行最關(guān)鍵的業(yè)務(wù)工作負(fù)載。虛擬化軟件廠商已開發(fā)出了能處理成千上萬個(gè)虛擬機(jī)的管理系統(tǒng),那些系統(tǒng)旨在適合企業(yè)數(shù)據(jù)中心的現(xiàn)有運(yùn)營(yíng)。

容器更具有未來感――這種大有希望的新興技術(shù)未必解決了每一個(gè)困難。開發(fā)人員正在開發(fā)相應(yīng)的管理系統(tǒng),以便一啟動(dòng)就將屬性分配給一組容器,或者將要求相似的容器分成一組,以便組成網(wǎng)絡(luò)或加強(qiáng)安全,但是這類系統(tǒng)仍在開發(fā)之中。

Docker最初的格式化引擎正成為一種平臺(tái),并附有許多工具和工作流程。而容器獲得了一些大牌技術(shù)廠商的支持。IBM、紅帽、微軟和Docker在去年7月都加入了谷歌的Kubernetes項(xiàng)目,這個(gè)開源容器管理系統(tǒng)可用于將諸多Linux容器作為單一系統(tǒng)來管理。

Docker有730家廠商為其容器平臺(tái)貢獻(xiàn)代碼。CoreOS是一款旨在運(yùn)行現(xiàn)代基礎(chǔ)設(shè)施堆棧的Linux發(fā)行版,它將廣大開發(fā)人員的目光吸引到了Rocket,這是一種新的容器運(yùn)行時(shí)環(huán)境。

3. 容器可以在幾分之一秒內(nèi)啟動(dòng)。

創(chuàng)建容器的速度比虛擬機(jī)要快得多,那是由于虛擬機(jī)必須從存儲(chǔ)系統(tǒng)檢索10GB至20GB的操作系統(tǒng)。容器中的工作負(fù)載使用主機(jī)服務(wù)器的操作系統(tǒng)內(nèi)核,避免了這一步。谷歌云平臺(tái)解決方案全球主管Miles Ward表示,容器可以在二十分之一秒內(nèi)啟動(dòng)完畢。

擁有這么快的速度讓開發(fā)團(tuán)隊(duì)可以激活項(xiàng)目代碼,以不同的方式測(cè)試代碼,或者在其網(wǎng)站上推出額外的電子商務(wù)容量――這一切都非???。

4. 容器已在大規(guī)模環(huán)境證明了自身的價(jià)值,比如在谷歌搜索中。

谷歌搜索(Google Search)是世界上實(shí)施Linux容器的最龐大系統(tǒng),谷歌將它用于內(nèi)部運(yùn)營(yíng)。谷歌還擅長(zhǎng)將容器托管在其應(yīng)用引擎(App Engine)或計(jì)算引擎(Compute Engine)服務(wù)中,但是與其他云供應(yīng)商一樣,谷歌將來自不同客戶的容器放入到單獨(dú)的KVM虛擬機(jī)中,因?yàn)樘摂M機(jī)之間的界限更清晰。

然而想運(yùn)行谷歌搜索操作,它自己使用容器,每秒啟動(dòng)約7000個(gè)容器,每周就相當(dāng)于約20億個(gè)。谷歌支持世界各地不同地方的搜索,在每個(gè)數(shù)據(jù)中心的活動(dòng)量有高有低,這取決于時(shí)間段和影響所在地區(qū)的事件。容器是谷歌搜索引擎確保速度快、順暢運(yùn)營(yíng)的秘訣之一。這種例子只會(huì)促進(jìn)世人對(duì)容器的興趣越來越大。

5. IT人員稱容器為“輕量級(jí)”時(shí),實(shí)際含義如下:

涉及容器的“輕量級(jí)”是指,雖然幾十個(gè)虛擬機(jī)可以放在單單一臺(tái)主機(jī)服務(wù)器上,每個(gè)虛擬機(jī)用自己的操作系統(tǒng)運(yùn)行應(yīng)用程序,幾百個(gè)乃至幾千個(gè)容器可以裝入到主機(jī)上。容器化應(yīng)用程序共享主機(jī)的操作系統(tǒng)內(nèi)核以執(zhí)行工作。因而,容器帶來了這種希望:就需要的場(chǎng)地和耗用的電力而言,有望成為理想的密集計(jì)算形式。

在過去十年間,虛擬化徹底改變了每臺(tái)服務(wù)器運(yùn)行一種應(yīng)用的行事方式。同樣道理,容器有望至少改變一些虛擬化工作負(fù)載,成為一種還要密集的計(jì)算形式。

6. 容器引發(fā)了安全方面的問題。

那么,容器完全只有好處嗎?別急著下結(jié)論?,F(xiàn)在發(fā)表的有關(guān)在一臺(tái)服務(wù)器上并排運(yùn)行多個(gè)(比如1200個(gè))容器的安全性方面的研究并不多。一個(gè)運(yùn)行中的容器無法闖入或窺視另一個(gè)容器已分配的內(nèi)存空間。

但是,如果允許兩個(gè)容器彼此對(duì)話,其中一個(gè)容器被裝入了惡意代碼,窺視被允許查看的數(shù)據(jù)當(dāng)中的加密密鑰,那又會(huì)怎樣?由于共享內(nèi)存里面存在太多的變數(shù),寶貴數(shù)據(jù)(比如用戶ID、密碼和加密密鑰)遲早會(huì)落到惡意軟件的手中。

惡意代碼還可能逐漸了解大體情況,知道一個(gè)或多個(gè)關(guān)聯(lián)的容器在干什么。從理論上來說,這不會(huì)發(fā)生,因?yàn)槿萜髦荚诖_保每個(gè)應(yīng)用程序相互隔離。但是沒有人確信計(jì)算機(jī)科學(xué)家是否想到并杜絕了可能出現(xiàn)某種惡意軟件窺視行為的每一種情況。

彼此鄰近的容器共享處理器、內(nèi)存和磁盤等資源,這種行為讓安全專業(yè)人員深為擔(dān)憂。有人可能找到一種方法,讓一個(gè)容器中的代碼設(shè)法窺視或竊取另一個(gè)容器中的數(shù)據(jù),盡管之前還沒有人這么做過。

7. Docker已成為容器的代名詞,但它不是唯一的提供者。

Docker這家公司提出了一種標(biāo)準(zhǔn)的方法來構(gòu)建容器工作負(fù)載,那樣工作負(fù)載就可以四處移動(dòng),但是在任何支持容器的環(huán)境中以易于預(yù)測(cè)的方式來運(yùn)行。

無論是基于Linux的Docker容器、Solaris Zone還是FreeBSD Jail,所有容器都為在多應(yīng)用程序主機(jī)上運(yùn)行的應(yīng)用程序提供某種隔離機(jī)制。既然如此,眼下我們?yōu)槭裁绰牭降某薉ocker還是Docker呢?答案在于這個(gè)事實(shí):Jail和Zone確實(shí)是容器領(lǐng)域的開拓者,但是它們的采用很有限,這歸咎于這個(gè)事實(shí):使用Solaris和FreeBSD操作系統(tǒng)的公司比較少。它們?nèi)栽谄髽I(yè)得到使用,但是在公有云環(huán)境下只是稍微得到使用。

谷歌和開發(fā)Linux控制組(Linux Control Groups)的開發(fā)人員成功地將容器功能添加到Linux內(nèi)核中后,鑒于Linux幾乎遍地開花的態(tài)勢(shì),容器立馬進(jìn)入到了每一個(gè)企業(yè)和政府?dāng)?shù)據(jù)中心。

Docker這家公司大概也在同一時(shí)間成立。開發(fā)人員明白,如果有一種統(tǒng)一的方法來創(chuàng)建并移動(dòng)容器,而不是有五花八門的容器格式化引擎,那么容器的實(shí)用性和移植性就會(huì)大大加強(qiáng)。眼下,Docker就是那種事實(shí)上的標(biāo)準(zhǔn)。

正如Docker的首席執(zhí)行官Ben Golub喜歡說的那樣,Docker就好比船運(yùn)集裝箱。每家貨運(yùn)公司、鐵路公司和船廠都知道如何裝卸和移動(dòng)標(biāo)準(zhǔn)的船運(yùn)集裝箱。Docker容器在一系列廣泛的計(jì)算環(huán)境下同樣備受歡迎。

8. 容器能節(jié)省IT人力,加快更新,也許是這樣。

在容器中運(yùn)行生產(chǎn)代碼有個(gè)優(yōu)點(diǎn)。Docker構(gòu)建工作負(fù)載時(shí),它采用的方式是以特殊的順序?qū)ξ募判?,這個(gè)順序體現(xiàn)了它們的啟動(dòng)次序。

一個(gè)服務(wù)或一部分應(yīng)用程序邏輯需要在另一個(gè)之前啟動(dòng),容器實(shí)際上用多層來創(chuàng)建,那些層可以彼此獨(dú)立地訪問。已知只影響一層的代碼更改可以在不影響其他層的情況下執(zhí)行。這樣一來,代碼更改起來比在典型的整體式應(yīng)用程序中來得安全;在后者當(dāng)中,一個(gè)錯(cuò)誤會(huì)讓整個(gè)應(yīng)用程序陷入停頓。

有了容器,還更容易修改應(yīng)用程序。如果某一個(gè)層出現(xiàn)變化,可以在進(jìn)行測(cè)試后投入到生產(chǎn)環(huán)境。如果某個(gè)問題出現(xiàn),就可以迅速回滾/恢復(fù),因?yàn)殚_發(fā)人員面對(duì)的只有一層。

與此同時(shí),大型應(yīng)用程序可以分解成許多小型應(yīng)用程序,每個(gè)小應(yīng)用程序都在各自的容器里面。打折奢侈品網(wǎng)站Gilt把七個(gè)大型應(yīng)用程序分解成了300個(gè)微服務(wù),一支小隊(duì)伍維護(hù)每個(gè)服務(wù)。據(jù)首席技術(shù)官M(fèi)ichael Bryzek聲稱,相比大型應(yīng)用程序,這些服務(wù)可以更頻繁、更安全地更新。

9. 容器仍面臨一些沒有解決的問題。

Containers及大力支持它的廠商Docker勢(shì)必要克服一些潛在的問題,才能得到大眾的采用。正如最初設(shè)想的那樣,Docker原本對(duì)單一計(jì)算機(jī)上運(yùn)行的應(yīng)用程序而言是一種格式化引擎。一個(gè)容器或一系列關(guān)聯(lián)容器仍會(huì)一起駐留在單一主機(jī)上。要是應(yīng)用程序需要10臺(tái)服務(wù)器、100臺(tái)服務(wù)器、乃至1000臺(tái)服務(wù)器,哪會(huì)怎樣?

Docker仍需要考慮在一個(gè)計(jì)算機(jī)上運(yùn)行的一個(gè)應(yīng)用程序,但是大型企業(yè)IT部門(想想跨國(guó)銀行、能源公司、汽車廠商和零售商)想要知道一種工具能處理龐大規(guī)模。

谷歌解決這個(gè)問題的辦法就是,建立了自己的多容器管理系統(tǒng),該系統(tǒng)的核心現(xiàn)在成為了開源Kubernetes項(xiàng)目。Kubernetes讓IT部門可以建立運(yùn)行容器的集群,提供了聯(lián)網(wǎng)功能和容器命名系統(tǒng),讓容器管理員可以同時(shí)管理多得多的容器。它讓容器管理員可以跨諸多計(jì)算機(jī)運(yùn)行多個(gè)容器中的大型 應(yīng)用程序,不需要知道容器集群管理的所有細(xì)枝末節(jié)。

該項(xiàng)目只是自去年7月以來才在開發(fā)開源代碼,所以還有一段路要走。但值得注意的是,谷歌將運(yùn)行其業(yè)務(wù)所特有的代碼放到了公眾領(lǐng)域。IBM、紅帽和微軟還有幾十家主攻容器運(yùn)營(yíng)的初創(chuàng)企業(yè)對(duì)此極有興趣。VMware同樣對(duì)Kubernetes有興趣,而且熱衷于跟Docker合作,確保其虛擬化環(huán)境與容器很好地協(xié)同運(yùn)行。企業(yè)用戶最終會(huì)看到這一切活動(dòng)的成效。

結(jié)束語(yǔ)

有些人在不斷尋求性能更好、速度更快、成本更低的計(jì)算技術(shù),他們會(huì)發(fā)現(xiàn)容器有許多可圈可點(diǎn)之處。運(yùn)行單個(gè)應(yīng)用的老式x86服務(wù)器的處理器其利用率充其量也就在10%到15%左右。虛擬化服務(wù)器將利用率提高到了40%、50%,個(gè)別情況下甚至可以提高到60%。

容器有望進(jìn)一步提高處理器的利用率,降低計(jì)算成本,并且讓硬件、電力和場(chǎng)地方面的投入獲得更大的回報(bào)。容器還帶來了這種威脅:如果哪里出了問題,比如說安全漏洞,它可能帶來的后果會(huì)慘重得多。這就是為什么切忌倉(cāng)促到處采用容器。容器仍是值得使用的技術(shù),不過要謹(jǐn)慎使用;需深思熟慮,而不是貿(mào)然行動(dòng)。

責(zé)任編輯:何妍 來源: 51cto.com
相關(guān)推薦

2024-03-21 08:57:39

語(yǔ)言軟件開發(fā)

2015-07-28 16:48:04

云計(jì)算性能測(cè)試云服務(wù)

2014-06-20 14:35:48

浪潮數(shù)據(jù)

2021-01-28 10:17:54

人工智能AI機(jī)器學(xué)習(xí)

2023-07-06 14:08:54

ChatGPTLLM大型語(yǔ)言模型

2010-06-11 14:46:38

可路由協(xié)議

2021-03-02 10:19:13

技術(shù)趨勢(shì)IT主管企業(yè)發(fā)展

2020-09-28 07:56:16

Python3.9Python開發(fā)

2023-09-20 09:00:00

2023-11-13 14:19:57

Golang編程語(yǔ)言

2023-09-22 12:14:33

2022-02-16 08:01:45

網(wǎng)絡(luò)安全趨勢(shì)

2021-08-12 16:02:22

Jupyter NotPython命令

2015-01-15 09:34:28

2020-11-30 13:12:04

Linux文本命令

2009-06-10 09:08:13

WCF變更處理契約

2015-06-10 10:56:50

iOS開發(fā)技巧

2023-06-15 11:01:43

Java工具開源

2017-09-22 11:00:28

OracleRAC命令

2023-06-26 14:11:06

SQLC++語(yǔ)言
點(diǎn)贊
收藏

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