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