盤點(diǎn):這多半年容器市場(chǎng)發(fā)生的變化
隨著容器市場(chǎng)高速增長(zhǎng),每個(gè)業(yè)界供應(yīng)商都在這一領(lǐng)域快速迭代,提供新功能。實(shí)際上,因?yàn)榘l(fā)展太快,本文的觀點(diǎn)很可能在兩個(gè)月后就過(guò)時(shí)了。兩個(gè)月前我在舊金山參加2015 DockerCon,從那以后,每個(gè)廠商都有了重要新功能發(fā)布或者新的合作關(guān)系。此文是在最熱的容器領(lǐng)域,對(duì)主要供應(yīng)商的重要發(fā)布進(jìn)行回顧,包括 Docker、CoreOS、Kubernetes和Mesos。
Docker
在DockerCon上Docker公司宣布他們接下來(lái)將著重關(guān)注Docker在生產(chǎn)環(huán)境中的應(yīng)用,并提出了『可編程互聯(lián)網(wǎng)』的概念,致力于打造下一代互聯(lián)網(wǎng)平臺(tái);最近Docker又發(fā)布了新的1.8版本,具有如下特性:
Docker Toolbox。Toolbox 是一個(gè)運(yùn)行在Windows、Mac和Linux上的工具集,大幅度簡(jiǎn)化了Docker的安裝。在此之前,Docker提供了一個(gè)叫 Boot2Docker的工具,經(jīng)常需要調(diào)錯(cuò)才能成功運(yùn)行。我個(gè)人從來(lái)沒(méi)有在我自己的筆記本上運(yùn)行成功過(guò)Docker,而我一般都是在Google Cloud Platform上的VM中安裝Docker,但是現(xiàn)在使用Toolbox在PC上工作非常爽。當(dāng)然在初始階段遷移舊Virtual Box時(shí)碰到不少問(wèn)題,但是我卸載了舊系統(tǒng),重裝Toolbox,一切都正常了。這對(duì)于想在自己電腦上安裝配置Docker的開(kāi)發(fā)者來(lái)說(shuō)無(wú)疑是個(gè)好消息。
Docker Content Trust。 Docker在DockerCon上承諾將會(huì)專注于改進(jìn)安全性,這樣企業(yè)可以將Docker用于生產(chǎn)環(huán)境,內(nèi)容可信是朝這個(gè)方向邁進(jìn)的重要一步。內(nèi)容可信在Docker鏡像中加入公有、私有秘鑰對(duì),用戶可以驗(yàn)證Docker鏡像的發(fā)行者,保護(hù)鏡像不會(huì)被偽造、重放攻擊和密鑰泄露偽裝攻擊。內(nèi)容可信采用了Notary和TUF框架,以期能夠建立一套分布式應(yīng)用的最佳實(shí)踐。
Docker Engine 1.8。網(wǎng)絡(luò)和存儲(chǔ)抽象會(huì)是下一個(gè)整合進(jìn)容器的主要功能增強(qiáng)。Docker Engine 1.8是走向存儲(chǔ)抽象的第一步,在這一版中,Docker還發(fā)布了許多存儲(chǔ)和日志驅(qū)動(dòng)的插件,另外還發(fā)布了很多CLI和運(yùn)行時(shí)的增強(qiáng)。
Docker Registry和Compose改進(jìn)。Docker還發(fā)布了很多Registry和編排的增強(qiáng)功能,這些增強(qiáng)大多專注于提高性能和可用性。
最新的Docker發(fā)行版在兩個(gè)月內(nèi)一下子發(fā)布了這么多令人印象深刻的功能增強(qiáng),不禁令人贊嘆不已。
Kubernetes
谷歌的Kubernetes非常迅速的占據(jù)了容器市場(chǎng)。不管客戶在用Docker還是 Rkt,Kubernetes都是事實(shí)上管理運(yùn)行大規(guī)模容器集群的標(biāo)準(zhǔn)。盡管Docker有Swarm和Compose也是做這個(gè)用的,但是如果碰到容器擴(kuò)展性問(wèn)題時(shí),甚至Docker也會(huì)告訴你Kubernetes是正確的選擇。谷歌目前也在快速迭代各種功能,下面列出的是Kubernetes中一些重要的發(fā)布信息:
支持OpenStack。谷歌宣布正式加入OpenStack基金會(huì)。這對(duì)私有云和混合云領(lǐng)域的公司來(lái)說(shuō)無(wú)疑是個(gè)好消息。另外,Kubernetes現(xiàn)在可以運(yùn)行在OpenStack上,而且一些私有云方案也跟Kubernetes整合在一起。期望很快能看到這一領(lǐng)域的更多進(jìn)展。
Kubernetes 1.0 發(fā)布。1.0 是一個(gè)里程碑。Kubernetes現(xiàn)在可以用于生產(chǎn)環(huán)境,并推出了很多引人注目的新功能,例如,集群管理、高性能和擴(kuò)展性、計(jì)算、網(wǎng)絡(luò)和存儲(chǔ)層的抽象服務(wù),一些重要客戶,例如Box和Redhat,都開(kāi)始應(yīng)用這些新功能。同時(shí),Kubernetes也公布了和CloudBees、CoreOS的合作關(guān)系。借助于Kubernetes,客戶可以在Google云平臺(tái)上運(yùn)行一個(gè)可管理的容器服務(wù),或者在任何共有、私有云上運(yùn)行Kubernetes。
CoreOS
Docker并不是唯一一個(gè)容器技術(shù)公司,CoreOS也是另外一個(gè)重要的參與者。CoreOS有一套容器相關(guān)的生態(tài)系統(tǒng)。Rkt(發(fā)音為“Rocket”),是與Docker容器直接競(jìng)爭(zhēng)的產(chǎn)品。Alex Polvi,CoreOS CEO,之所以開(kāi)發(fā)了Rkt,是因?yàn)樗幌矚gDocker的安全機(jī)制。Docker使用了一個(gè)集中式的daemon,造成所有命令都需要特權(quán)級(jí)訪問(wèn)(“root access”)。而Rkt則允許用戶在Docker中創(chuàng)建容器,而在生產(chǎn)環(huán)境中運(yùn)行Rkt。
今天Docker吸引了太多人的眼球,同時(shí)CoreOS也表現(xiàn)近乎瘋狂。以下是關(guān)于CoreOS的一些發(fā)布功能:
etcd 2.1。etcd是一個(gè)開(kāi)源的、分布式的、鍵值一致性的數(shù)據(jù)庫(kù),用于分發(fā)配置、發(fā)現(xiàn)服務(wù)和調(diào)度同步。在這一版中,CoreOS發(fā)布了很多更新,例如認(rèn)證、授權(quán)API、傳輸穩(wěn)定性,etcd服務(wù)器之間性能提高、增強(qiáng)集群穩(wěn)定性等。
Tectonic。 CoreOS發(fā)布了一個(gè)新服務(wù),用于運(yùn)行容器平臺(tái)的商業(yè)發(fā)布。包括運(yùn)行容器(Docker、Rkt和Kubernetes)所需模塊的所有支持和服務(wù)。有了這個(gè)新服務(wù),可以用容器運(yùn)行可擴(kuò)展分布式應(yīng)用并且有7x24支持服務(wù)。他們也給客戶提供最佳實(shí)踐培訓(xùn)。這個(gè)新服務(wù)現(xiàn)在是試運(yùn)行,但很快會(huì)正式發(fā)布。
與Mirantis(OpenStack)的整合。緊跟Kubernetes和OpenStack的發(fā)布,Mirantis宣布與Tectonic整合。 這是容器與私有云結(jié)合重要一步。如我前述,容器是實(shí)現(xiàn)混合云的關(guān)鍵技術(shù)。Mirantis的整合使得高效設(shè)計(jì)公有云、私有云和混合云成為可能。推薦重點(diǎn)關(guān)注。
Apache Mesos
Mesos是容器領(lǐng)域另外一個(gè)主要參與者。Mesos用于管理和調(diào)度大規(guī)模應(yīng)用(例如Hadoop、Spark,ElasticSearch和其他大數(shù)據(jù)技術(shù))的部署。Mesos整合了Docker、Rkt和Kubernetes。以下列出Mesos的一些重要特性:
Mesos 0.23發(fā)布。最新的版本有很多引人注目的功能改進(jìn)和新特性。Mesos現(xiàn)在提供創(chuàng)建持久化卷的能力,這個(gè)功能對(duì)基于狀態(tài)的服務(wù)來(lái)說(shuō)是個(gè)利好消息,例如HDFS、Cassandra等。資源利用率的優(yōu)化,可以避免服務(wù)的過(guò)度調(diào)用。其它關(guān)于安全、性能和監(jiān)控的增強(qiáng)特性也隨之發(fā)布。
Mesosphere 0.9.0發(fā)布。有很多增強(qiáng)和新特性,包括與Docker整合,存儲(chǔ)方面和ZooKeeper整合等等。
Mesos將登陸Windows平臺(tái)。 MesosCon上,Mesosphere公開(kāi)了在Windows Server 2016預(yù)覽版本上運(yùn)行Mesos的Demo。Mesosphere聯(lián)合創(chuàng)始人表示,現(xiàn)實(shí)中許多企業(yè)在數(shù)據(jù)中心是同時(shí)使用Linux和Windows。所以,Mesos用戶希望能使用一個(gè)既能在Linux機(jī)器又能在Windows Servers上運(yùn)行的容器管理工具來(lái)執(zhí)行任務(wù)。
總結(jié)
容器技術(shù)的發(fā)展異常迅猛,并且所有的方案都是開(kāi)源的。建議不參與開(kāi)源的公司也重點(diǎn)關(guān)注這些技術(shù)。容器作為一個(gè)獨(dú)立產(chǎn)品或者服務(wù),兩年前還不存在,現(xiàn)在已經(jīng)有四家供應(yīng)商以難以置信的速度提供看先進(jìn)的方案。另外還有很多初創(chuàng)公司在填補(bǔ)著安全、容器管理、監(jiān)控等方面的空白。所有這些新公司都是開(kāi)源的。DevOps和開(kāi)源開(kāi)發(fā)模式的組合使得這些公司得以持續(xù)飛速發(fā)展,而這些是閉源公司不可想象的。盡管只有兩年的發(fā)展,但是基于微服務(wù)架構(gòu)的容器方案從茵茵綠草成長(zhǎng)為參天大樹(shù)只是時(shí)間問(wèn)題。