屈指可數(shù),云計算已經(jīng)來到中國有十多年的時光了,云計算從一個初出茅廬的小伙子逐漸變成了相對老陳的中年人。在這十多年之中也是幾家歡喜幾家愁,甚至還有一些人還生活在人云亦云的階段。但是,隨著這么多年的發(fā)展,云計算已經(jīng)從整體云平臺中衍生出了多種心態(tài),其中容器云(CaaS)就是在應用層衍生出的一個云計算新興成員。
容器云從2013年誕生之后即被推送到了前臺,2015年容器云獲得了眾多企業(yè)級客戶的追捧。在短短的三年時間中容器云已經(jīng)成功占領了容器市場超過70%的份額。在國內不管是像華為這樣的大型云服務提供商,再到像DaoCloud、青云、靈雀云、數(shù)人云等此類的本土新興云服務提供商都在孜孜不倦的在容器云市場中搶占著這塊"美味的蛋糕"。
什么是容器云?
容器云以容器為資源分割和調度的基本單位,封裝整個軟件運行時環(huán)境,為開發(fā)者和系統(tǒng)管理員提供用于構建、發(fā)布和運行分布式應用的平臺。當容器云專注于資源共享與隔離、容器編排與部署時,它是一種IaaS;當容器云滲透到應用支撐與運行時環(huán)境時,它是一種PaaS。
容器云并不僅限于Docker,基于rkt容器的CoreOS項目也是容器云。Docker的出現(xiàn)讓人們意識到了容器的價值,使得一直以來長期存在但并未被重視的輕量級虛擬化技術得到快速的發(fā)展和應用。
Docker公司本身的技術發(fā)展,亦是從一個容器管理工具一步步向容器云發(fā)展的歷史過程。Docker最初發(fā)布時只是一個單機下的容器管理工具,隨后Docker公司發(fā)布了Compose、Machine、Swarm等編排部署工具,并收購了Socketplane解決集群化后的網(wǎng)絡問題。
從容器到容器云是一種偉大的進化,并依舊在日積月累中不斷前行,現(xiàn)在讓我們一起進入Docker的世界,感受容器與容器云的魅力。
容器云出門遇貴人所以如此盛行
云計算目前在IT市場上的占比已經(jīng)越來越多,絕大多數(shù)的企業(yè)都已經(jīng)或是考慮將公司的關鍵業(yè)務遷移至云端。不過,IaaS、PaaS、CaaS三者同時出現(xiàn)的時候,這三者也就出現(xiàn)了競爭關系。Docker在企業(yè)級市場越來越受到關注,甚至從某些方面已經(jīng)超過了OpenStack的市場關注度,這足以證明CaaS已經(jīng)成為未來的云計算領域的一種趨勢。
雖然IaaS、PaaS、CaaS三者存在著競爭關系,但是并不能說CaaS的出現(xiàn)就磨滅了IaaS和PaaS的市場,其實可以說CaaS 是在IaaS和PaaS的道路上進化而來的。因為CaaS解決了規(guī)避了IaaS和PaaS再部署時一些避免不了的痛點。
運維方面:IaaS服務對于運維人員的要求門檻較高,想要組件合適的運維團隊不僅人員難找且成本略高。IaaS在后期迭代速度過快,這時就需要運維人員跟進開發(fā)人員的步伐,不然則很容易出現(xiàn)溝通問題。
云平臺方面:對于準備上云的企業(yè)來說,很多企業(yè)都會選擇部署自己的私有云,或是選擇托管云服務。但是這兩朵云的建設與服務費用對于中小型企業(yè)來說簡直是天方夜譚。那么這個時候企業(yè)就會想到將自己的業(yè)務架設在按需付費的公有云上,公有云也不是說沒有風險的。首當其沖的就是如何保障公有云的生命周期問題與安全問題,另外,按需付費的公有云還會有一些霸王條款存在。
Docker容器有著輕量化,成本低,效率高的特點,可以將容器看做是一種操作系統(tǒng)級別的虛擬化,啟動一個應用容器其實就是啟動引用進程本身,這也是它與傳統(tǒng)虛擬化之間存在的最大差別。
Docker鏡像具有不變性。Docker鏡像能夠將應用程序和它依賴的操作系統(tǒng)、類庫以及運行時環(huán)境整體打包,統(tǒng)一交付。另外Docker鏡像還可以通過DockerFile定義,換言之,應用程序和運行環(huán)境一起是可以被版本化管理的。Docker鏡像真正抹去了應用程序多個運行實例間的環(huán)境和依賴版本差異,同時也把對運維人員的重度依賴解耦開來。
Docker容器與平臺無關,兼容性好。Docker容器在Linux平臺各發(fā)行版下是兼容的,這意味著應用架構一旦Docker化部署之后,就可以在任何云平臺間無縫遷移,不會被云平臺廠商所綁架。
Docker的這些特點也是在企業(yè)為了IaaS和PaaS而犯難時演化而來的,容器云的橫空出世,解決了企業(yè)在應用上云和交付過程中的必要難題。
容器云雖已盛行,但背后卻隱藏著諸多挑戰(zhàn)
Docker由于發(fā)展的速度過快,在大眾面前的曝光度過高,這個時候其優(yōu)點背后隱藏的缺點也就展露無疑了,與此同時反對的聲音也同步出現(xiàn)了。
云安全難以保障:安全問題似乎所有新興的技術都會存在這樣的弊病。而且容器技術并沒有提升應用的安全性,反而會有所降低,因為容器與宿主機共享操作系統(tǒng)內核,只要同一個宿主機上任一容器存在漏洞,或者宿主機本身存在安全漏洞,都有可能導致上面的所有容器安全性受到影響。其二,容器鏡像的安全問題也是不可忽視的,公共鏡像市場的復雜與混亂難以保障容器鏡像絕對的安全可靠,這也就造成了單個容器對整個容器云平臺形成了安全威脅。
培養(yǎng)使用習慣:虛擬化這項技術悠久的歷史已經(jīng)在用戶思想中根深蒂固,所以目前的用戶還是沿用虛擬機這樣老一套的思路在使用Docker容器。這也就讓Docker容器在云上的優(yōu)勢消耗殆盡,也就無法發(fā)揮容器真正的效果。
結語:
容器云雖好,但也要基準痛點,方可發(fā)揮其威力。
容器云雖然是一個新興的產(chǎn)物,但每件新鮮事物的背后都會有其弊端的一面,對于企業(yè)應用層來說還是要兩面考慮,雖然IaaS和PaaS在部署與運維方面存在著諸多的技術門檻,但是其悠久的歷史足可以保障企業(yè)在關進業(yè)務運轉方面得到良好的保障。反之,容器云雖然有著這樣那樣的優(yōu)勢,且要強于IaaS和PaaS,但還是需要多加謹慎才好。