文/寧湘翼
網(wǎng)絡(luò)信息技術(shù)不斷推動(dòng)著云計(jì)算走向成熟發(fā)展期,各平臺(tái)系統(tǒng)數(shù)據(jù)也同步出現(xiàn)增長(zhǎng)趨勢(shì),其核心技術(shù)逐漸與國(guó)際化發(fā)展相契合。近些年來(lái),傳統(tǒng)的云平臺(tái)服務(wù)主要利用虛擬化技術(shù)和分布式數(shù)據(jù)存儲(chǔ)技術(shù),在此基礎(chǔ)上衍生出以容器技術(shù)為基礎(chǔ)的Docker 系統(tǒng),隨之而來(lái)出現(xiàn)了分布式存儲(chǔ)系統(tǒng)和Spark 系統(tǒng),前者用來(lái)增加糾刪碼技術(shù),后者便于內(nèi)存快速統(tǒng)計(jì)運(yùn)算。隨著新型技術(shù)的普及,既提高了信息資源的有效利用率,而且體現(xiàn)出云平臺(tái)計(jì)算的便捷性,同時(shí)衍生出大數(shù)據(jù)應(yīng)用模型,有利于后期進(jìn)行流式數(shù)據(jù)處理和實(shí)時(shí)數(shù)據(jù)處理等,同時(shí)多元化發(fā)展隨機(jī)數(shù)據(jù)查詢功能,以及深入挖掘云計(jì)算數(shù)據(jù)。
從本質(zhì)上來(lái)講,容器技術(shù)是云計(jì)算操作系統(tǒng)的一種虛擬化信息技術(shù),相比較于傳統(tǒng)虛擬技術(shù)來(lái)說(shuō),容器技術(shù)并非是模擬硬件化操作,而是基于內(nèi)核操作系統(tǒng)的特定支持下合理分配容器主機(jī)的磁盤、中心處理器以及內(nèi)存設(shè)置等資源數(shù)據(jù),最終形成獨(dú)立的操作容器系統(tǒng),最終達(dá)到容器主機(jī)共享資源的硬件虛擬化計(jì)算效果,最終達(dá)到操作系統(tǒng)實(shí)際應(yīng)用的系統(tǒng)隔離。在傳統(tǒng)硬件虛擬化技術(shù)的基礎(chǔ)上,由于容器主機(jī)只能容納相同類別的系統(tǒng)內(nèi)核,導(dǎo)致跨操作系統(tǒng)信息資源的共享模式難以實(shí)現(xiàn)。
容器技術(shù)擁有多項(xiàng)平臺(tái)產(chǎn)品,比如LXC(Linux Containers)、Solaris Containers 以及融合多系統(tǒng)平臺(tái)的Virtuozzo 等,其實(shí)現(xiàn)方式略有不同:
基于Linux 系統(tǒng),容器技術(shù)文件系統(tǒng)存在唯一的根目錄“/”,基本運(yùn)行時(shí)系統(tǒng)的庫(kù)和應(yīng)用程序基本由根目錄衍生出來(lái),具體優(yōu)勢(shì)是面向不同用戶,實(shí)際上改變根目錄的終端位置。以實(shí)現(xiàn)Hserl 的根目錄為例,可以按照/home/userl/fakeroot 等目錄設(shè)置,用戶在運(yùn)行程序時(shí),庫(kù)將局限于目錄下的對(duì)應(yīng)位置。通常情況下,used 難以跳出目錄/home/userl/fakeroot,從而實(shí)現(xiàn)對(duì)真實(shí)系統(tǒng)各類文件的操作,進(jìn)一步隔離容器技術(shù)的運(yùn)作環(huán)境和文件資源。
為確保操作系統(tǒng)延伸為容器化發(fā)展,可以在操作內(nèi)核中儲(chǔ)備容器虛擬層,借助命名空間、標(biāo)記等模式劃分系統(tǒng)資源,時(shí)刻控制內(nèi)存頁(yè)面、系統(tǒng)文件以及用戶、網(wǎng)絡(luò)進(jìn)程等系統(tǒng)設(shè)置,非同類容器的進(jìn)程按照自身系統(tǒng)資源的分配內(nèi)部文件實(shí)際操作,進(jìn)一步促進(jìn)容器資源的隔離設(shè)置以及安全質(zhì)量操作。其中,solaris Containers 基本以容器虛擬層方式實(shí)現(xiàn)。
容器技術(shù)的開發(fā)者通常會(huì)建立一個(gè)標(biāo)準(zhǔn)的鏡像,使其開發(fā)性能和服務(wù)標(biāo)準(zhǔn)能夠符合用戶需求。當(dāng)系統(tǒng)開發(fā)結(jié)束以后,運(yùn)維人員不需要進(jìn)行重復(fù)安裝,可以直接將Docker 容器部署到運(yùn)行環(huán)境中,從而極大地簡(jiǎn)化了部署條件。這就意味著不論把云平臺(tái)服務(wù)部署到任何地方,此容器技術(shù)均能通過(guò)一行命令完成獨(dú)立的部署,在根本上簡(jiǎn)化了部署應(yīng)用的細(xì)節(jié)工作。
Docker 容器是云平臺(tái)內(nèi)核操作系統(tǒng)的的一種虛擬化技術(shù),它在運(yùn)行時(shí)并不需要hypervisor 等后臺(tái)支持。因此,Docker 容器不僅能夠提高云計(jì)算平臺(tái)的基本性能和運(yùn)行效率,而且以接近裸機(jī)性能的操作服務(wù)逐漸被廣大用戶所認(rèn)可。
我們通常遇到的云平臺(tái)服務(wù)中,小型虛擬機(jī)的數(shù)據(jù)資源過(guò)于復(fù)雜和龐大,這就需要處理較多的工作任務(wù);或者從用戶角度分析,實(shí)現(xiàn)一次性拓展虛擬機(jī)的工作量也無(wú)法得到有效控制。這就需要無(wú)限細(xì)化資源粒度的Docker 容器技術(shù)來(lái)節(jié)約上述的問(wèn)題,從而達(dá)到事半功倍的效果。
Docker 容器運(yùn)行平臺(tái)較廣泛,兼容性較強(qiáng),其中有虛擬機(jī)、公有云、私有云等多項(xiàng)服務(wù)器。為了避免云平臺(tái)被頻繁封鎖,該容器技術(shù)能夠?qū)崿F(xiàn)應(yīng)用程序的平臺(tái)遷移。
3.1.1 降低容器主機(jī)的漏洞系數(shù)
在云計(jì)算平臺(tái)操作中,應(yīng)當(dāng)盡量避免容器主機(jī)與應(yīng)用程序發(fā)生直接聯(lián)系,最大程度上將應(yīng)用程序內(nèi)容打包為容器化設(shè)置,既可以達(dá)到自身功能最小化的目標(biāo),又能實(shí)時(shí)控制漏洞的發(fā)生系數(shù)。比如采用Windows Nano Server 等容器技術(shù)可以滿足上述要求。
3.1.2 提高容器主機(jī)的訪問(wèn)權(quán)限控制
容器技術(shù)有其自身可容納限制的用戶權(quán)限數(shù)量,為了避免權(quán)限超過(guò)使用額度,建議采取SELinux、AppArmor 等強(qiáng)制性訪問(wèn)控制技術(shù),旨在限制容器技術(shù)對(duì)主機(jī)系統(tǒng)的訪問(wèn)權(quán)限,從而有效隔離超用戶級(jí)別的系統(tǒng)。
為了提升容器技術(shù)的安全設(shè)置系數(shù),建議將其劃分為不同類別的安全組,使其部署條件盡量符合各對(duì)應(yīng)的容器主機(jī)。若存在安全系數(shù)較高的容器技術(shù),需要對(duì)其數(shù)據(jù)存儲(chǔ)進(jìn)行加密操作,或者加密設(shè)置內(nèi)存頁(yè)面,以此防止資源數(shù)據(jù)被入侵和非法訪問(wèn)。
綜上所述,云計(jì)算時(shí)代已到來(lái),Docker容器技術(shù)在整體運(yùn)作和管理過(guò)程中已逐步顛覆了傳統(tǒng)硬件設(shè)施下的虛擬化技術(shù),這充分證明云平臺(tái)系統(tǒng)產(chǎn)品在各行領(lǐng)域占據(jù)重要發(fā)展趨勢(shì)。在市場(chǎng)化競(jìng)爭(zhēng)日益激烈的信息大數(shù)據(jù)時(shí)期,云計(jì)算的發(fā)展既面臨著機(jī)遇,又存在著重大挑戰(zhàn),因此要確保云計(jì)算平臺(tái)應(yīng)用容器技術(shù)的信息安全風(fēng)險(xiǎn)和質(zhì)量保證。這就需要明確容器技術(shù)的適用范圍和利益權(quán)衡,盡量避免容器技術(shù)在符合安全性較高要求的基礎(chǔ)上進(jìn)行操作。云計(jì)算平臺(tái)的基礎(chǔ)服務(wù)是面向集體化和大眾化的信息終端,其安全系數(shù)會(huì)隨著信息技術(shù)的完善而得到不斷提高,最終將其風(fēng)險(xiǎn)系數(shù)控制在可控范圍內(nèi)。