Docker容器技術(shù)——這個(gè)風(fēng)頭直追OpenStack的云計(jì)算開源項(xiàng)目,關(guān)于它的熱議已席卷假造化乃至云計(jì)算行業(yè),業(yè)內(nèi)各大廠商(包括亞馬遜、紅帽、IBM和 VMware 等)都加入了容器的行列。這不禁讓人想問:容器技術(shù)的崛起是否會(huì)帶來假造化時(shí)代的結(jié)束?
容器,并不是一個(gè)新技術(shù)。容器的Linux版本最早見于內(nèi)核2.3.x,名不見經(jīng)傳地發(fā)展了幾十年,但在曩昔的一年里,Docker帶領(lǐng)容器技術(shù)忽然躍進(jìn)了大眾視野。Docker何以忽然獲得行業(yè)巨頭的青睞?從技術(shù)角度看,傳統(tǒng)容器只解決了容器實(shí)行(run)題目,而Docker定義了一套容器構(gòu)建(build)、分發(fā)(ship)和實(shí)行(run)的標(biāo)準(zhǔn)化系統(tǒng)手機(jī)網(wǎng)站,開創(chuàng)了容器云+端開放平臺(tái)(Docker Hub + Docker Engine)的模式,極大地進(jìn)步了開發(fā)部署服從;從生態(tài)圈的角度看古建方磚,Docker曩昔一年之所以開始普及,重要是在云計(jì)算產(chǎn)業(yè)敏捷發(fā)展的環(huán)境下,Docker作為假造化的增補(bǔ)甚至替換技術(shù)而被人們所關(guān)注。
那么,Docker技術(shù)與假造化技術(shù)有何區(qū)別?從假造化層面來看,傳統(tǒng)假造化技術(shù)是對(duì)硬件資源的假造百度關(guān)鍵詞,容器技術(shù)則是對(duì)進(jìn)程的假造,從而可提供更輕量級(jí)的假造化,實(shí)現(xiàn)進(jìn)程和資源的隔離。從架構(gòu)來看,Docker比假造化少了兩層,取消了hypervisor層和GuestOS層,使用 Docker Engine 進(jìn)行調(diào)度和隔離,所有應(yīng)用共用主機(jī)操作體系,因此在體量上,Docker較假造機(jī)更輕量級(jí),在性能上優(yōu)于假造化,接近裸機(jī)性能。從應(yīng)用場(chǎng)景來看,Docker和假造化則有各自擅長(zhǎng)的領(lǐng)域,在軟件開發(fā)、測(cè)試場(chǎng)景和生產(chǎn)運(yùn)維場(chǎng)景中各有優(yōu)劣。
軟件開發(fā)、測(cè)試場(chǎng)景誰能勝出?
快速創(chuàng)建、刪除:假造化創(chuàng)建是分鐘級(jí)別的,Docker容器創(chuàng)建是秒級(jí)別的,Docker的快速迭代性,決定了無論是開發(fā)、測(cè)試、部署都可以節(jié)約大量時(shí)間。
交付、部署:假造機(jī)可以通過鏡像實(shí)現(xiàn)環(huán)境交付的同等性,但鏡像分發(fā)無法系統(tǒng)化;Docker在Dockerfile中記錄了容器構(gòu)建過程,可在集群中實(shí)現(xiàn)快速分發(fā)和快速部署,并且開發(fā)、運(yùn)維、部署和測(cè)試人員獲得高度同等的環(huán)境與配置。
性能:Docker在操作體系級(jí)別進(jìn)行假造化,Docker 容器和內(nèi)核交互,幾乎沒有性能損耗,性能優(yōu)于通過hypervisor層與內(nèi)核交互的假造化,這已經(jīng)被IBM測(cè)試驗(yàn)證。
體量:Docker的架構(gòu)可以共用一個(gè)內(nèi)核與共享應(yīng)用程序庫(kù),所占內(nèi)存極小,部署一個(gè)Ubuntu只需20MB,而假造機(jī)即使采用內(nèi)存超量技術(shù)也遠(yuǎn)不止于此。
遷移和擴(kuò)展:假造機(jī)的遷移較為復(fù)雜,尤其在異構(gòu)環(huán)境下;而Docker容器可以在任何平臺(tái)上應(yīng)用,不論公有云、私有云、服務(wù)器、PC、假造機(jī)或物理機(jī),都可以輕松跨平臺(tái)遷移。
更新管理:以往分布式環(huán)境下更新是很煩瑣的事情,假造化中各個(gè)廠家的實(shí)現(xiàn)基本是借助各自工具配合假造化軟件,向假造機(jī)推送安裝、升級(jí)應(yīng)用軟件補(bǔ)丁包; Docker的更新是迭代式的,只需修改Dockerfile,對(duì)增量?jī)?nèi)容進(jìn)行分發(fā)、存儲(chǔ)、傳輸、節(jié)點(diǎn)啟動(dòng)和恢復(fù)敏捷。
從以上比較可看出,這一局Docker體現(xiàn)不俗,大比分勝出。Docker適用于可伸縮的分布式集群開發(fā)環(huán)境,實(shí)現(xiàn)軟件的輕松跨平臺(tái)功能,例如大數(shù)據(jù)hadoop、spark等軟件框架,保持開發(fā)、部署、質(zhì)量管理、產(chǎn)品管理等環(huán)境的同等性,實(shí)現(xiàn)DevOps(開發(fā)運(yùn)維)的關(guān)鍵環(huán)節(jié)能力,使開發(fā)或運(yùn)維的一線人員從環(huán)境差異中解脫。
企業(yè)生產(chǎn)環(huán)境 運(yùn)維中誰能勝任?
穩(wěn)固性:Docker目前發(fā)布版本是1.6,屬于較新版本的軟件產(chǎn)品,每月更新一個(gè)版本的速度,在產(chǎn)品活躍的同時(shí)也體現(xiàn)出不穩(wěn)固性,用于生產(chǎn)環(huán)境必要企業(yè)承擔(dān)不小的風(fēng)險(xiǎn)。假造化的版本發(fā)展到VMware vSphere6.0,Xen最新版本Citrix XenServer 6.5,KVM作為假造化的新星,從內(nèi)核2.6.20開始集成進(jìn)入內(nèi)核,目前發(fā)展到內(nèi)核4.0.5,大版本的發(fā)展加強(qiáng)了他們的穩(wěn)固性。
可管理性:Docker的集中化管理工具尚未成熟,相對(duì)穩(wěn)固的管理工具,Shipyard在管理上還較為粗糙,多是面向應(yīng)用層面的管理。在假造化方面,各種假造化技術(shù)都有成熟的管理工具,例如VMware vCenter提供完整的假造機(jī)管理能力,OpenStack對(duì)KVM支撐程度屬于A類(最佳適配)。此外,Redhat采用oVirt專門提供對(duì)KVM假造機(jī)的集群管理,并推出CloudForms提供異構(gòu)假造化環(huán)境下的管理。
監(jiān)控能力:對(duì)于企業(yè)所關(guān)心的體系、運(yùn)行的健康狀態(tài)、風(fēng)險(xiǎn)報(bào)告等,Docker沒有對(duì)使用情況配置、追蹤和報(bào)告。假造化基于hypervisor進(jìn)行資源的分配,監(jiān)測(cè)各類性能指標(biāo)不在話下,集成在hypervisor層的監(jiān)控能力可對(duì)性能、服務(wù)器硬件和假造化特定軟件的警報(bào)與事件處理等進(jìn)行不同顆粒度的監(jiān)控。
1 2 下一頁>