本篇內(nèi)容介紹了“Container的優(yōu)勢有哪些”的有關(guān)知識,在實(shí)際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領(lǐng)大家學(xué)習(xí)一下如何處理這些情況吧!希望大家仔細(xì)閱讀,能夠?qū)W有所成!
成都創(chuàng)新互聯(lián)是一家專業(yè)從事網(wǎng)站制作、網(wǎng)站設(shè)計(jì)的網(wǎng)絡(luò)公司。作為專業(yè)網(wǎng)站建設(shè)公司,成都創(chuàng)新互聯(lián)依托的技術(shù)實(shí)力、以及多年的網(wǎng)站運(yùn)營經(jīng)驗(yàn),為您提供專業(yè)的成都網(wǎng)站建設(shè)、網(wǎng)絡(luò)營銷推廣及網(wǎng)站設(shè)計(jì)開發(fā)服務(wù)!
Container的優(yōu)勢總結(jié)為以下四點(diǎn):
提高計(jì)算密度
一個(gè)虛機(jī)占用的資源比一個(gè)Container占用的資源不止多十倍。在一個(gè)物理機(jī)上開一百個(gè)虛機(jī)是很困難的,但要實(shí)現(xiàn)100多個(gè),甚至幾百個(gè) Container是很正常的。騰訊在大量使用Container。某大型互聯(lián)網(wǎng)公司上次升級發(fā)行版,主要就是為了使用Cgroups,方便限定資源,以 充分利用CPU。要知道有能力維護(hù)自己版本內(nèi)核的公司,做出這樣的決定是非常不容易的,可見其好處是巨大的。
大互聯(lián)網(wǎng)公司非常適合Container,F(xiàn)acebook一臺虛機(jī)都沒有,因?yàn)檫@些互聯(lián)網(wǎng)公司要求充分利用計(jì)算資源。虛機(jī)起碼還要再跑一個(gè)Guest系統(tǒng),太耗資源。
同時(shí),在這些大公司內(nèi)部并沒有很多操作系統(tǒng),集群只有一種操作系統(tǒng),甚至連版本號都是固定的。因此,不需要虛機(jī)的異構(gòu)操作系統(tǒng)特性。
另外,在操作系統(tǒng)上還有Runtime Library,Container不需要重復(fù)加載,極大的節(jié)省內(nèi)存占用。
最后,因?yàn)楣玫馁Y源更多,Container相對來講更容易超售,實(shí)際出售量的和超過了物理機(jī)的量
更精細(xì)的資源控制
這里以目前最為熱門的Linux Container( LXC)為例來說,Linux Container分為兩個(gè)部分,Cgroups用來做資源限制,Namespace來做資源隔離。最近Linux內(nèi)核對LXC相關(guān)改進(jìn)非常多,其中3.8版對Namespace新增了user,未來的3.11會加入更好的 CRIU支持,使得Container看上去可能更像一個(gè)虛擬機(jī)。
另外Container在數(shù)據(jù)庫隔離方面也有著自身的優(yōu)勢。云化的數(shù)據(jù)庫通常有兩種思路:
第一,建立一個(gè)大數(shù)據(jù)庫供所有人使用。但如何做資源隔離和安全隔離呢?
SAE通過增加SQL過濾器 (CSDN近期將對SAE首席架構(gòu)師叢磊進(jìn)行采訪,詳解SAE的資源隔離策略),將不合理的SQL全部過濾掉。盛大云的MongoDB服務(wù)也采用類似的策 略,通過判斷執(zhí)行時(shí)間來限定不合理的請求。但這種方法存在弊端,首先不能窮舉所有不合理的請求,這是一個(gè)典型的停機(jī)問題,即便是工程上實(shí)用的做法,維護(hù)巨 量的規(guī)則庫也會讓管理員痛不欲生,看看殺毒軟件要維護(hù)多少特征就知道了。其次需要修改數(shù)據(jù)庫代碼,而這些修改目前看不會被社區(qū)接受,因?yàn)樯鐓^(qū)認(rèn)為資源隔離 并不是數(shù)據(jù)庫該做的事。
第二,把每個(gè)用戶的數(shù)據(jù)庫放一個(gè)Container里,用Container來做資源限制。不需要對數(shù)據(jù)庫進(jìn)行修改。每個(gè) 用戶的Container內(nèi)有自己的數(shù)據(jù)庫,用戶之間的資源是完全隔離開的。不過有觀點(diǎn)認(rèn)為每個(gè)Container啟動一個(gè)實(shí)例太浪費(fèi)資源。其實(shí),相同的 Runtime并不會重復(fù)占用資源,而且還能更好的限制資源,操作簡單。目前一些Heroku的第三方插件是用這種方式進(jìn)行數(shù)據(jù)庫隔離的。 OpenShift通過Gear和Cartridges對資源進(jìn)行隔離,每個(gè)應(yīng)用有自己私有的小數(shù)據(jù)庫。
更短的provisioning時(shí)間
虛機(jī)的provisioning時(shí)間在分鐘級,而Container在秒級。設(shè)想在淘寶雙十一的場景下,虛機(jī)需要幾分鐘時(shí)間啟動顯然太慢了。另外 LXC目前還有個(gè)非常有趣的技術(shù),叫做systemd,是下一代的啟動器,可以極大加快啟動速度,并且與LXC結(jié)合得十分完美,有些高級功能就是依賴 LXC實(shí)現(xiàn)的。
這部分還有另外一個(gè)非常重要的技術(shù)就是文件系統(tǒng)。提高provisioning時(shí)間,需要文件系統(tǒng)配合,像ploop、aufs、overlayfs等文件系統(tǒng)都有一些非常有趣的技術(shù)可以用在Container的快照、復(fù)制等方面。
Container式的PaaS組裝更靈活
用戶根據(jù)自己的需要組裝自己的PaaS,我認(rèn)為這是趨勢。不同的模塊之間有不同的實(shí)現(xiàn),可以替換。比如你認(rèn)為 Docker對LXC的封裝不好,就可以換一個(gè)。
Cloud Foundry也開始重視LXC,通過Warden把Container進(jìn)行封裝,但是從技術(shù)的角度來講Cloud Foundry的架構(gòu)過于大,它想把PaaS所有事都做了,但每一塊做得都不怎么好,耦合度又高。比如我想把Warden換成Docker就很難。
Cloud Foundry為代表的PaaS平臺傾向做得很重,而像Docker是輕量的框架代表。我認(rèn)為輕量的平臺更好,更有前途,因?yàn)楦屿`活。PaaS到底該長成什么樣去年我還覺得比較清楚,但今年反而覺得變數(shù)會非常多,所以我更看好靈活的方案。
Docker項(xiàng)目在Github上發(fā)布不到兩天,就在Go語言排行榜上排名第一,說明社區(qū)很認(rèn)可。額外說一句Go語言寫的PaaS工具非常多,有大放異彩的趨勢。而Cloud Foundry幾乎都是仰仗VMware財(cái)大氣粗。大家共同參與,項(xiàng)目才有生命力。Cloud Foundry的社區(qū)貢獻(xiàn)度非常差,大部分都是VMware(Pivotal)自己的工程師貢獻(xiàn)。
Container的趨勢和挑戰(zhàn)
和虛機(jī)相比,LXC的隔離做個(gè)并不徹底,而包括熱遷移的等高級功能也正在完善中。程顯峰將LXC的發(fā)展趨勢和挑戰(zhàn)總結(jié)為以下四點(diǎn):
Container獲得了更廣泛的支持
OpenStack對LXC現(xiàn)在有很強(qiáng)的支持。當(dāng)OpenStack支持Container了,這會導(dǎo)致該技術(shù)在互聯(lián)網(wǎng)圈子里得到推廣。同時(shí),在OpenStack+LXC基礎(chǔ)上還會有些創(chuàng)新。
另外, ActiveState Software早就把Cloud Foundry和LXC綁到一起,推出了商業(yè)版。
這一陣子比較火的 CoreOS、 dotCloud、 PiCloud等公司都是LXC的堅(jiān)定支持者,systemd的作者以及 OpenVZ的開發(fā)團(tuán)隊(duì)都齊心協(xié)力支持LXC。
vps就是Container典型的應(yīng)用場景,基本上全球市場上90%的VPS平臺都使用OpenVZ。它是一種Container,但是因?yàn)閷ontainer的修改過大,不被社區(qū)接受。但OpenVZ的商業(yè)版本比Linux Container成熟得多,可以支持熱遷移。OpenVZ的作者為Linux Container提交了百十多個(gè)patch。已經(jīng)有很多社區(qū)的活躍者對Linux Container做貢獻(xiàn)。
LXC在有些方面與虛機(jī)有差距
資源限定和隔離做得并不徹底,比如時(shí)間就隔離不了。現(xiàn)在LXC隔離也就幾個(gè)方面,進(jìn)程、掛載資源、用戶,大概也就六點(diǎn),實(shí)際上還遠(yuǎn)遠(yuǎn)不夠。
虛機(jī)熱遷移技術(shù)已經(jīng)非常成熟,而LXC還有差距,也在改進(jìn)中。據(jù)報(bào)道,在Linux kernel 3.11中會有很大改善。
調(diào)試工具逐步完善
云計(jì)算調(diào)試是個(gè)非常頭疼的事情,如果應(yīng)用跑在虛機(jī)里,管理員是很難進(jìn)行管理的。而Container對操作系統(tǒng)有一些透明性,如process有異常調(diào)用,管理員可以看到。
大家為什么不用云計(jì)算?大部分人都說部署習(xí)慣不一樣,調(diào)試部署不方便,大家為什么還愿意用虛擬機(jī)?虛擬機(jī)的調(diào)試方式跟他在實(shí)體機(jī)上調(diào)試方式?jīng)]有任何差異,這種習(xí)慣是很難改變的。
Cloud Foundry、SAE、Azure的調(diào)試都解決的不徹底。僅僅通過本地模擬器進(jìn)行調(diào)試,并不能解決根本問題。
調(diào)試工具近期也會有一些新的突破,語言級別的像Ruby2.0以后加了對DTrace支持。我很看好Dtrace和SystemTap之類的技術(shù)的,尤其是在PaaS調(diào)試上,大家可以關(guān)注一下 章亦春、 余鋒的博客。
PaaS服務(wù)依然不夠完善
盡管各種PaaS層出不窮,Cloud Foundry、OpenShift、Azure也在不遺余力的打造更易用的PaaS平臺,但仍存在各種不足和挑戰(zhàn)。無論自建還是使用第三方平臺,PaaS還遠(yuǎn)未成熟。程顯峰認(rèn)為:
PaaS平臺沒有統(tǒng)一的認(rèn)識
PaaS到底應(yīng)該搭成什么樣?什么樣是成熟的PaaS?現(xiàn)在都沒有統(tǒng)一的認(rèn)識。微軟Azure、Heroku以及Cloud Foundry,各家PaaS的邊界和內(nèi)容都不一樣。
微軟Azure有彈性的數(shù)據(jù)庫、 Service Bus。 亞馬遜也有類似的服務(wù)。這些服務(wù)到底屬于IaaS還是PaaS呢?用戶需要的是非常完整的服務(wù),無論對于IaaS還是PaaS都有大量的工作需要去做。所 以,現(xiàn)在看PaaS,要想在一個(gè)體系下提供服務(wù),我認(rèn)為是很難的。而Docker這種靈活的方案,只做某一塊服務(wù),再組裝在一起可能是更好的方式。
從上面說的我們也可以看出,現(xiàn)在的云計(jì)算模型已經(jīng)遠(yuǎn)遠(yuǎn)不是三層的IaaS、PaaS、SaaS那么簡單的了。很多組件都能作為一個(gè)服務(wù)呢,這些組件 應(yīng)該放在什么位置呢?實(shí)際上這個(gè)關(guān)系非常復(fù)雜,各家都有各家的看法,這些看法隨著時(shí)間改動也還是很大。我的一個(gè)觀點(diǎn)是從單個(gè)技術(shù)上突破做成大家都認(rèn)可的組 件比較容易,總體結(jié)構(gòu)要想達(dá)成一致比較難。
國內(nèi)沒有完善的公有云 自建IaaS也很麻煩
PaaS要底層基礎(chǔ)資源必須彈性,如果采取自建私有云的方式,很可能需要去搭建OpenStack,工作量非常大。如果植根于公有云,國內(nèi)沒有美國 那樣成熟的亞馬遜、Azure或Rackspace,阿里云的API還不夠健全,無法支撐。在國內(nèi)如果底層資源彈性問題無法解決,PaaS就是空中樓閣。
標(biāo)準(zhǔn)和互操作也是比較頭痛的問題。國內(nèi)互聯(lián)網(wǎng)公司相互合作不夠,對于標(biāo)準(zhǔn)和規(guī)范重視程度也遠(yuǎn)遠(yuǎn)不夠。有人說云就是水電,但問題是水電是高度同質(zhì)的,目前還沒看到哪些云是同質(zhì)的。國外還有些公司做跨平臺云的管理,國內(nèi)就更難了,這也是做一個(gè)公有PaaS的潛在風(fēng)險(xiǎn)。
當(dāng)然,國內(nèi)的網(wǎng)絡(luò)割裂比較嚴(yán)重也是對云計(jì)算發(fā)展的不利影響。這些都本不該是一個(gè)PaaS提供商該考慮的問題,但是我們的國情就要求必須要考慮。
需要堅(jiān)實(shí)的服務(wù)支持
PaaS還需要其他服務(wù)支撐,比如Cache、負(fù)載均衡、數(shù)據(jù)庫、消息隊(duì)列、日志,這些服務(wù)只有全部包含PaaS平臺才有價(jià)值。當(dāng)開發(fā)者在PaaS上運(yùn)行了應(yīng)用,如果還要自己搭建這些服務(wù),然后做HA,這就背離了PaaS的設(shè)計(jì)初衷。因?yàn)椋瑢?shí)際上應(yīng)用并不是運(yùn)維的重點(diǎn),重點(diǎn)上面提到的那些周邊的服務(wù),這些服務(wù)的運(yùn)維成本很高,而且還不體現(xiàn)開發(fā)者的核心價(jià)值。
京東做得更好。由于Cloud Foundry的服務(wù)并不是云化的,不提供HA。京東需要做云化,自己做了上面所說的基礎(chǔ)服務(wù)。
展望Cloud Foundry、OpenShift、Azure
Cloud Foundry今年將推出商業(yè)版,Azure越來越重視開源社區(qū),變的更加開放, OpenShift繼續(xù)著云化戰(zhàn)略。在采訪結(jié)束前,程顯峰進(jìn)行了總結(jié):
京東云底層使用了OpenStack + Cloud Foundry,從長遠(yuǎn)上看仍然會走互聯(lián)網(wǎng)式的技術(shù)路線。也許再晚一個(gè)月做決策,京東就會選擇OpenShift了,因?yàn)閺募夹g(shù)角度來講,OpenShift比Cloud Foundry要好一點(diǎn)。
OpenShift代碼寫的還算規(guī)矩,而Cloud Foundry的代碼并不是社區(qū)的產(chǎn)物,很多地方都不像大公司的作品。我認(rèn)為但凡是脫離社區(qū)單搞一套,從歷史上看絕大多數(shù)都沒好結(jié)果。
從我看的一些報(bào)告來看,VMware在虛擬化技術(shù)上的領(lǐng)先優(yōu)勢已經(jīng)不明顯。微軟的平臺與VMware看不出明顯的差距。畢竟微軟有操作系統(tǒng)和大量商 用軟件,這些技術(shù)積累是其他公司很難擁有的。同時(shí)微軟有自己的商用的公有云Azure,對新技術(shù)是很好的試驗(yàn)場,VMware還沒運(yùn)營自己的公有云。
“Container的優(yōu)勢有哪些”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識可以關(guān)注創(chuàng)新互聯(lián)網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實(shí)用文章!
當(dāng)前題目:Container的優(yōu)勢有哪些
文章來源:http://vcdvsql.cn/article42/podhhc.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供Google、微信公眾號、做網(wǎng)站、虛擬主機(jī)、網(wǎng)站制作、商城網(wǎng)站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)