一如既往,由于所有信息不是來源于嚴(yán)謹(jǐn)?shù)恼{(diào)查和統(tǒng)計(jì),也許離事實(shí)差距甚遠(yuǎn),但仍希望讀者能藉此文窺得中國和全球IPaaS之現(xiàn)狀。如果能對(duì)中國IPaaS行業(yè)有所助益,或?qū)ο嚓P(guān)同仁有所啟發(fā),甚或只是打發(fā)了時(shí)間,也不枉本文誕生過程中的敲敲打打。喜歡快餐的,可以直接翻過本文;對(duì)于習(xí)慣嚴(yán)謹(jǐn)數(shù)字的讀者,請(qǐng)?zhí)崆爸け疚牡拇址藕驼{(diào)侃。
一如既往,本文不從頭解釋基本概念和行業(yè)內(nèi)的基本知識(shí)。如果你希望系統(tǒng)性學(xué)習(xí)云計(jì)算各個(gè)領(lǐng)域的基本知識(shí),購買《云計(jì)算時(shí)代:本質(zhì)、技術(shù)、創(chuàng)新、戰(zhàn)略》差不多是最佳選擇了。
不一如既往的是,本文不在區(qū)分去年總結(jié)和來年預(yù)測(cè)。年份,本就是認(rèn)為劃定的線線,但時(shí)間和云計(jì)算,不會(huì)按照線線來跳躍式前進(jìn),那就讓總結(jié)和預(yù)測(cè)你中有我我中有你吧。
今天觸發(fā)了2萬字微信文章上限,刪略了一些文字。
1 Openstack看起來不可阻擋,但還未等來屬于自己的時(shí)代
中國想以O(shè)penStack為生的公司沒有100家,也有50家。國外的公司也不會(huì)比這少。這是OpenStack的福音,卻不是OpenStack公司和用戶的福音,太多的同質(zhì)競(jìng)爭者,太多的私有版本,而且這些競(jìng)爭者和私有版本有95%將在三年內(nèi)消失。這些拿OpenStack搞公有云的,根本就不清楚一點(diǎn):即使OpenStack沒有上述那些問題,即使OpenStack是一個(gè)開源的VMWare或開源的AWS,要做公有云,還是要自己開發(fā)。為什么?不是不告訴你,是在懶得再說,如果想不明白這個(gè)問題,就別搞IaaS了。
搞公有云搞不過AWS,大家拿OpenStack開始搞私有云。私有云那是VMWare和微軟的地盤,但是現(xiàn)在VMWare和私有云都已經(jīng)過了輝煌期,搞起來說不定容易點(diǎn)也未可知。
但OpenStack能否迎來自己的時(shí)代,取決于它在混合云上的作為。純私有云不大可能是將來的主流模式,這個(gè)領(lǐng)域也有VMware和微軟堅(jiān)守。公有云市場(chǎng)基本沒有OpenStack的空間。混合云才是OpenStack的戰(zhàn)場(chǎng)。但現(xiàn)有的私有云項(xiàng)目和廠商肯定會(huì)極力抓住混合云的機(jī)會(huì),甚至隨著時(shí)間推移混合云可能走向邊緣。
2016,我們將看到OpenStack是否能在搞VMware的戰(zhàn)役中取得第一站的勝利:OpenStack能否在企業(yè)的生產(chǎn)環(huán)境中得到大量的部署。
2016,我們或許還看不到OpenStack邁開走向混合云的第一步。這也許需要更長的時(shí)間,畢竟搞私有云的戰(zhàn)役才剛打響。
但OpenStack的影響力,注定要被docker超越。
2 容器和Docker:準(zhǔn)備好迎接它的黃金時(shí)代
Docker本就和OpenStack不是一個(gè)層面,本就不應(yīng)該發(fā)生爭吵。但還是發(fā)生了,為什么?吃醋。Docker應(yīng)用的基礎(chǔ)技術(shù)和工具雖然是老古董,但它一出生就得到了開發(fā)者特別是DevOps、Microservice擁護(hù)者的青睞,并迅速俘獲大批開發(fā)者和媒體、觀察者的芳心。
Docker太流行了,太引人注目了。OpenStack支持者吃醋了。2014年8月,Linux.com和網(wǎng)站New Stack聯(lián)合開展,從550多個(gè)調(diào)查對(duì)象那里收集了信息。關(guān)于誰是總體上最佳的開源云計(jì)算項(xiàng)目的問題:OpenStack、Docker、
KVM、CloudStack、Ceph排名前五。但在此之后不久,通過Google的搜索量顯示,Docker的熱度全面超過OpenStack。
于是,有了所謂的論戰(zhàn)。有人發(fā)出戰(zhàn)帖:用Docker之后還需要OpenStack嗎?當(dāng)然可以不要。比如:叫板OpenStack:八步用Docker實(shí)現(xiàn)私有云。Docker當(dāng)然非常適合私有云。
甚至在OpenStack峰會(huì)上最熱門的主題是:Docker以及容器技術(shù)是否會(huì)替代OpenStack?這壓根就是偽命題,太多假設(shè)和想當(dāng)然了。無論將docker看成容器技術(shù)還是管理平臺(tái),它都與KVM和XEN這些系統(tǒng)虛擬化和OpenStack,不是直接替代關(guān)系。當(dāng)然,間接替代是可以的,但不是必然的。
但是,這些都是Docker發(fā)展道路上的插曲。
容器是操作系統(tǒng)虛擬化技術(shù),xen和kvm是系統(tǒng)虛擬化技術(shù),他們?cè)诩夹g(shù)堆棧上處于不同的層級(jí)。Docker、Kubernets都是管理容器的工具,OpenStack、
CloudStack都是管理系統(tǒng)虛擬化的工具。當(dāng)然OpenStack、CloudStack還管理這其他的東西,作為比較,暫且忽略。
容器在軟件堆棧上,與系統(tǒng)虛擬化KVM和XEN不在一個(gè)層面上,即不需要與系統(tǒng)虛擬化競(jìng)爭,也不需要直接與私有化軟件和公有云競(jìng)爭。事實(shí)上,容器離應(yīng)用和開發(fā)者更近,這也是容器快速流行的原因之一。
容器和Docker盡管快速流行,但公 有云服務(wù)上門迅速消化了這一趨勢(shì),各自推出了自己的容器服務(wù): 2014年11月5日Google Cloud Platform 發(fā)布container engine、2014年11月14日亞馬遜AWS發(fā)布 ECS、2015年12月微軟Azure發(fā)布 Container Service。但是,所有這些容器服務(wù)都是基于它們的IaaS服務(wù)之上的。
但是如果真的認(rèn)為Docker與世無爭的話,那就太天真了。雖然Docker現(xiàn)在只是提供鏡像相關(guān)的服務(wù),而沒有基礎(chǔ)設(shè)施服務(wù),但并不是因?yàn)樗幌耄乾F(xiàn)在云計(jì)算基礎(chǔ)設(shè)施服務(wù)的廠家太強(qiáng)大了。但是,看了下面的圖,OpenStack、
VMware們怕是要出點(diǎn)汗了,要搞的還是私有云廠商啊。
Datadog在2016年1月的一項(xiàng)面向7000個(gè)公司的調(diào)查顯示,docker如今運(yùn)行在5%的主機(jī)上,一年前這個(gè)數(shù)字幾乎為0,這不包括運(yùn)行CoreOS等其他容器平臺(tái)的主機(jī)。使用docker用到的排名前十的技術(shù)包括:Registry、nginx、
redis、ubuntu、logspout、mongodb、elasticsearch、CAdvisor、Mysql、Postgres。
正如我在penStack和Docker不能,Kubernetes和Mesos也不能, ServerLess能決定云計(jì)算勝負(fù)嗎?》一文中所說,docker誕生與paas服務(wù)dotCloud。但獨(dú)立的PaaS服務(wù)至今未能顯示出成功的可能,至于原因,看過《云計(jì)算時(shí)代》一書和我其他文章的,應(yīng)該很明了原因。
但這并不妨礙容器和docker,如今成為云計(jì)算領(lǐng)域,最受矚目和最有前景的技術(shù)和項(xiàng)目。
Docker能如此成功有兩個(gè)重要原因:
IaaS的興起。IaaS將基礎(chǔ)設(shè)施的可擴(kuò)展性和靈活性,推向了一個(gè)新臺(tái)階。但位于基礎(chǔ)設(shè)施之上的應(yīng)用,其一致性性和可管理性并沒有大的改觀。而容器的興起,正好補(bǔ)位。
DevOps的興起。DevOps在云計(jì)算星期后不久,就開始被提出,并受到部分歡迎。DevOps基于IaaS和私有云,當(dāng)然也能比傳統(tǒng)的開發(fā)流程更為高效。但,DevOps的流程和工具,配合容器技術(shù),將讓應(yīng)用的生命周期管理更為流暢。
至于經(jīng)常與容器并提的MicroServcie 微服務(wù),只是容器發(fā)展的結(jié)果而不是原因,初看是SOA、Mashable落地的另一種表現(xiàn)形式罷了。但微服務(wù)將傳統(tǒng)的SOA中的服務(wù)分解得更細(xì),而且目前的微服務(wù)里還沒有ESB(Enterprise Service Bus,ESB)和UDDI(Universal Deion, Discovery, and Integration)之類的東西。除此之外,你真的很難從理論和原則上區(qū)分SOA和微服務(wù)。
但這么多的微服務(wù)怎么管理,目前微服務(wù)理論還沒有告訴我們。
將系統(tǒng)分解為較小的系統(tǒng),這種做法比起一體性的大規(guī)模應(yīng)用更易于進(jìn)行錯(cuò)誤診斷、變更以及迭代。但是,也只是針對(duì)復(fù)雜的應(yīng)用,如果一個(gè)基本的簡單的應(yīng)用都要拆分成10個(gè)以上微服務(wù),那簡直是沒事找抽型。
當(dāng)然, Docker并非沒有問題,年輕本身就是問題。Docker還年輕,要想成為一個(gè)成熟的IT工具或平臺(tái),還有很多問題需要解決。安全、網(wǎng)絡(luò)、控制,這都是IT管理者對(duì)位看重的問題,目前docker剛開始解決這些問題。
但是, docker有過度定位的問題。Docker只是一個(gè)OS之上的容器,是否應(yīng)該承載IaaS層的性能、網(wǎng)絡(luò)、安全控制,容器從業(yè)者和公司們或者都來不及想這個(gè)問題,就被需求和野心推著跑過了界限。
另一個(gè)過度的,是openstack對(duì)docker的恐懼和支持。無論是因?yàn)槌源住⒖謶郑嗷蚴菗肀А⑾矏郏琽penstack目前在容器上投入了過于多的精力和項(xiàng)目。而且這些項(xiàng)目之間,很難說有多少戰(zhàn)略上的兼容和協(xié)同考慮。使用OpenStack管理Docker,有3種流行方法: Nova Docker驅(qū)動(dòng),Heat Docker插件,Ironic、Magnum。
當(dāng)然,不只是openstack過度支持容器,整個(gè)開源社區(qū)都是。Docker、
OpenShift、Kubernets、Mesos、OpenStack、CloudFoundry、Cloudify都聲稱自己是容器管理的利器。沒錯(cuò),不管他們以前是什么,現(xiàn)在,他們都是容器管理,特別的,是docker管理的利器。Cloud Foundry雖不是基于docker的,但也是基于容器的,但是decker項(xiàng)目把兩者聯(lián)系到了一起。容器是要把PaaS變成CaaS(Caitainer as a Service)啊。
目前,在AngelList上至少有20個(gè)基于容器或docker的創(chuàng)業(yè)公司。Docker自己也收購了一些創(chuàng)業(yè)公司,諸如Tutum、Kitematic、SocketPlane、Koality、
Orchard,以及最新的,Unikernal。