Docker生態(tài)會重蹈Hadoop的覆轍嗎?
一、Docker的興起和Hadoop何其相似
2015年說是Docker之年不為過,Docker熱度高漲,IT從業(yè)人員要是說自己不知道Docker都不好意說自己是做IT的。2016年開始容器管理、集群調(diào)度成為熱點(diǎn),K8s開始成為熱點(diǎn)。但這一幕和2013年的Hadoop大數(shù)據(jù)何其相似,當(dāng)年你要說自己不知道大數(shù)據(jù),或是知道大數(shù)據(jù)不知道Hadoop,那必然招來鄙視的眼光。
云計算喊了這么久,從來沒有像Docker這么火過,究其原因不外乎兩條:
1、開發(fā)者能夠用Docker,開發(fā)者要一個開發(fā)環(huán)境,總會涉及到種種資源,比如數(shù)據(jù)庫,比如消息中間件,去裝這些東西不是開發(fā)人員的技能,是運(yùn)維人員的技能。而用Docker去Pull一個mySQL鏡像,或是Tomcat鏡像,或是RabbitMQ鏡像,簡易輕松,幾乎是零運(yùn)維。做好了應(yīng)用代碼,打一個Docker鏡像給測試或是運(yùn)維人員,避免了從前打個程序包給測試或是運(yùn)維人員,測試或運(yùn)維人員要部署、配置應(yīng)用,還得反反復(fù)復(fù)來麻煩開發(fā)人員,現(xiàn)在好了,丟個Docker鏡像過去,讓運(yùn)維人員跑鏡像就可以,配置在鏡像里基本都做好了。
這正好滿足了DevOps的要求,所以DevOps也一下熱起來了。開發(fā)者是一個巨大的市場,是海量的個體,通過類似于病毒式的傳銷,Docker一下在開發(fā)者中熱起來了。
2、鏡像倉庫和開源,誰都可以用,Docker鏡像庫非常豐富,誰做好一個鏡像都可以往公有倉庫推送,開發(fā)人員需要一個環(huán)境的時候,可以到Docker鏡像倉庫去查,有海量的選擇,減少了大量無謂的環(huán)境安裝工作。而通過開源,又開始大規(guī)模傳播。
我們再來回顧看看2010-2013年,大數(shù)據(jù)的名詞火遍大江南北,各行各業(yè)都在談大數(shù)據(jù),但是落到技術(shù)上就是Hadoop,還記得2012年的時候,和Hadoop沒啥毛關(guān)系的VMWare也趕緊的做了一個虛機(jī)上部署Hadoop的serengeti,誰家產(chǎn)品要是和Hadoop不沾點(diǎn)邊,不好意思說自己是IT公司。Hadoop當(dāng)年的熱度絕對不亞于2014-2015的Docker。而且時間上有一定的連續(xù)性,2014年開始,Hadoop熱度達(dá)到頂點(diǎn),開始逐漸降溫,標(biāo)志事件就是Intel投資Cloudera。而Docker是從2014年開始熱度升高的。
再看Hadoop為何在2010年前后開始熱起來,之前的大數(shù)據(jù)都是數(shù)據(jù)倉庫,是昂貴的企業(yè)級數(shù)據(jù)分析并行數(shù)據(jù)庫,而Hadoop是廉價的大數(shù)據(jù)處理模式,通過開源和X86廉價硬件,使得Hadoop可以大規(guī)模使用,而互聯(lián)網(wǎng)時代產(chǎn)生的海量數(shù)據(jù)雖然垃圾居多,但是沙里淘金,也能淘出點(diǎn)價值,Hadoop正好迎合了這兩個需求,雖然Hadoop的無論是功能還是性能遠(yuǎn)比MPP數(shù)據(jù)庫差,但做簡單的數(shù)據(jù)存儲、數(shù)據(jù)查詢、簡單數(shù)據(jù)統(tǒng)計分析還是可以勝任的,事實上,到目前為止,大多數(shù)的Hadoop應(yīng)用也就是數(shù)據(jù)存儲、數(shù)據(jù)查詢和簡單的數(shù)據(jù)統(tǒng)計分析、ETL的業(yè)務(wù)處理。
Docker和Hadoop的熱起來的原因不同,但是現(xiàn)象是差不多,開源和使用者群體大是共同要素。
二、Hadoop從狂熱走向了理性
Hadoop最熱的時候,幾乎就是要replace所有數(shù)據(jù)庫,連Oracle也面臨了前所未有的沖擊,甚至Hadoop成了去IOE的Oracle的使命之一。在狂熱的那個階段,客戶怎么也得做一兩個大數(shù)據(jù)項目,否則會被同行瞧不起,各IT廠商也必須推出大數(shù)據(jù)產(chǎn)品,否則可能成為IT過時的典范,這不IBM成立了專門的大數(shù)據(jù)部門,打造了一個以Hadoop為核心的龐大的大數(shù)據(jù)解決方案。
Intel雖然是做芯片的,但是大數(shù)據(jù)必須摻和,成立大數(shù)據(jù)部門,做Intel Hadoop 。連數(shù)據(jù)庫的老大Oracle也憋不住了,做了個大數(shù)據(jù)一體機(jī)。
任何曾經(jīng)狂熱的新技術(shù)都會走向理性,Hadoop也不例外,只不過,這個進(jìn)程還比較快。隨著大數(shù)據(jù)的大躍進(jìn),隨著Hadoop的應(yīng)用越來越多,大家發(fā)現(xiàn)在被夸大的場景應(yīng)用大數(shù)據(jù)效果并不好,只在特定場景有效,Hadoop進(jìn)入理性發(fā)展階段,比如一開始Hadoop據(jù)取代MPP數(shù)據(jù)庫,取代數(shù)據(jù)倉庫,取代Oracle,完美支持SQL等等均基本成為泡影。這其實本來是一個常識,任何技術(shù)都有其應(yīng)用場景,夸大應(yīng)用場景,任意擴(kuò)展應(yīng)用場景只會傷害這個技術(shù)的發(fā)展。
“這和目前無限夸大Docker的應(yīng)用場景有異曲同工之妙,比如Docker向下取代虛擬化,Docker向上取代PaaS之類,幾乎成了云計算的唯一技術(shù),這種論調(diào)一直充斥各種Meetup/論壇。雖然技術(shù)從夸大到理性需要時間,但是理性不會總是遲到。
Hadoop技術(shù)在發(fā)展,大數(shù)據(jù)的相關(guān)技術(shù)也在發(fā)展,Hadoop一直被詬病的處理速度慢,慢慢的被Spark/Storm等解決,特別在流數(shù)據(jù)處理領(lǐng)域。
所以,時至今日,人們對Hadoop的態(tài)度趨于理性,它只適合在特定場景使用,可是,當(dāng)初那些在Hadoop不太適用的場景使用了Hadoop的客戶交了學(xué)費(fèi)的事情估計沒人再提了。Docker估計也是一樣的,總有在夸大的場景中交學(xué)費(fèi)的客戶,可是只是客戶沒眼光嗎?和無限夸大某種技術(shù)的布道師無關(guān)么?
再反觀大數(shù)據(jù)和Docker在全球的發(fā)展,在美國,無論是Hadoop和Docker并沒有像國內(nèi)這么狂熱過。Hadoop技術(shù)來源于Google,成型于Yahoo(DougCutting),而炒作卻是在國內(nèi)。同樣,Docker也在走這么個流程,在美國沒有這么多的Docker創(chuàng)業(yè)公司,主要就是Docker,然后各大廠商支持,創(chuàng)業(yè)公司和創(chuàng)投公司都知道,沒有自己的技術(shù)或是技術(shù)受制于人的公司不值得投資,既然Docker一家獨(dú)大,再去Docker分一杯羹會容易嗎?
而國內(nèi)二三十家的Docker創(chuàng)業(yè)公司,沒有一家能對Docker/K8s源碼有讓人醒目的貢獻(xiàn)(反倒是華為在K8s上有些貢獻(xiàn)),但是都在市場上拼嗓門,不是比誰的技術(shù)有潛力最有市場,而是比誰最能布道誰嗓門大,誰做的市場活動多,某Docker創(chuàng)業(yè)公司據(jù)說80%的資金用在市場宣傳、Meetup上,而且不是個別現(xiàn)象,是普遍現(xiàn)象。反應(yīng)了某些Docker創(chuàng)業(yè)者的浮躁心態(tài)。
三、Hadoop生態(tài)圈的演進(jìn)
Hadoop興起和生態(tài)圈緊密相關(guān),Hadoop的生態(tài)圈的公司主要是兩大類——
“第一類是Hadoop的各個發(fā)行版公司,如Cloudera、HortonWorks、MapR、Intel、IBM等,第二類基于Hadoop做各行業(yè)的大數(shù)據(jù)項目實施或大數(shù)據(jù)應(yīng)用和工具,如Tableau、Markerto、新炬、環(huán)星等
隨著大數(shù)據(jù)的熱度提升,Hadoop生態(tài)圈的兩大類公司蓬勃發(fā)展,但是市場有限,市場還沒有成熟,競爭就很激烈,特別是第二類做項目實施的企業(yè),那就只能靠燒錢。
問題是如果是消費(fèi)者市場,通過燒錢先把市場占領(lǐng),然后再通過其他手段收費(fèi)盈利,比如淘寶通過向賣家收費(fèi)盈利,滴滴打車之類的未來可以通過讓司機(jī)花的米搶好單、大單可以實現(xiàn)盈利,而Hadoop是企業(yè)級市場,通過虧錢樹立案例標(biāo)桿,然后復(fù)制,這條路走的并不順利,因為復(fù)制案例的時候會碰到競爭,一開始就低價做爛的市場,客戶不愿花錢,總有低價者搶市場,復(fù)制案例往往變成低價競爭。低價競爭很難把項目實施好,基本是個多輸?shù)哪J?,客戶并沒有得到自己預(yù)期的大數(shù)據(jù)項目價值,或是打折的價值,實施廠商沒賺錢,留不住人,招不到好的人才。
這類生態(tài)圈公司的發(fā)展趨勢是最終會留下少數(shù)幾家公司,規(guī)模做大,其他的公司會被淘汰,現(xiàn)在還沒有走出各個集成商苦苦支撐的時代。
對于第一類做發(fā)行版的Hadoop廠商,在燒錢進(jìn)入后期階段,日子也開始不好過,因為項目實施廠商的大多選擇不用發(fā)行版,只用開源,發(fā)行版和相應(yīng)的付費(fèi)支持很難賣出量,進(jìn)而難以盈利。資本市場成了繼續(xù)燒錢的救命稻草,Hortonworks第一個上市, 16元的發(fā)行價,大數(shù)據(jù)概念蜜月期一過,要開始考察業(yè)績的時候,股價步入漫漫熊途,到現(xiàn)在只有9元左右。CloudEra雖然沒有上市,但是已經(jīng)融資12億美元,目前在Hadoop發(fā)行版,CloudEra和Hortonworks占據(jù)了最大的市場,特別是CloudEra的市場更大,即使CloudEra有巨大的Hadoop市場和技術(shù)優(yōu)勢,CloudEra到現(xiàn)在也不敢上市。
現(xiàn)實很殘酷,CloudEra的盈利并不讓人滿意,現(xiàn)在上市,資本市場不會給出個好股價,但是CloudEra的困境是如果遲遲不上市,大數(shù)據(jù)熱點(diǎn)成為非熱點(diǎn),資本市場那就考察的是盈利能力—市盈率,不是市夢率了,而CloudEra的盈利能力在目前狀態(tài)能讓資本市場滿意嗎?雖然Hortonworks上市的時候趕上了市夢率。
技術(shù)的演進(jìn)同樣在影響發(fā)行版的Hadoop廠商,Hadoop從1.0到2.0,技術(shù)有較大的改進(jìn),Yarn取代Map-Reduce,原來眾多的發(fā)行版面臨著自己對Hadoop 1.0的定制如何合并到Hadoop 2.0去的問題,定制的越多,合并的難度越大;定制的越少,和開源沒啥區(qū)別,體現(xiàn)不出價值,這是發(fā)行版面對的兩難問題。
Hadoop 1.0到2.0的升級成為一個重要的轉(zhuǎn)折點(diǎn)— Hadoop從1.0到2.0直接導(dǎo)致Intel的發(fā)行版出局,Intel的Hadoop部門裁撤銷,Intel廢棄自己的Hadoop轉(zhuǎn)而直接投資CloudEra。因為Intel對Hadoop 1.0做了很多的定制、優(yōu)化,這些定制優(yōu)化本來一直是Intel宣稱的競爭技術(shù)優(yōu)勢,現(xiàn)在1.0到2.0,立馬優(yōu)勢變劣勢,定制越多合并到新版本越難合并,而Hadoop不是Intel的主業(yè),所以Intel權(quán)衡利弊,及時止損,放棄了自家的Hadoop,選擇投資CloudEra。對Intel Hadoop客戶而言,要吸取的教訓(xùn)是買產(chǎn)品一定要買賣家的核心產(chǎn)品,即使是大賣家,其邊緣產(chǎn)品很容易被拋棄,受傷的是客戶。這個道理其實是個大概率道理,可是吃這種虧的客戶不會絕跡。
Hadoop發(fā)行版廠商面臨一樣的趨勢潮流——留下不超過3家Hadoop發(fā)行商,其他的都會被淘汰。
再看大數(shù)據(jù)的應(yīng)用和生態(tài)圈的公司,云端營銷服務(wù)公司Marketo,13元的IPO價格,趁著大數(shù)據(jù)的東風(fēng),很快就飛到了45,隨后熊途漫漫,在2016年2月份跌破發(fā)行價。和HortonWorks相比,Marketo是大數(shù)據(jù)的應(yīng)用,是能通過大數(shù)據(jù)直接產(chǎn)生營收的,而且業(yè)績也確實比Hortonworks要好,但是回天無力,持續(xù)虧損,隨后被私募公司Vista Equity Partners收購。Tableau其實和Hadoop關(guān)系不大,當(dāng)初接Hadoop東風(fēng)股價飆起,現(xiàn)在也是熊途漫漫。
四、Docker的生態(tài)圈
歷史不會簡單的重復(fù),但是有驚人的相似!
Docker的生態(tài)圈和Hadoop的生態(tài)圈類似。 Docker的生態(tài)圈也分為兩大類,第一類就是Mesosphere\Google這類做Docker的企業(yè)運(yùn)行集群管理,類似于Hadoop的發(fā)行版的廠商。第二類是做Docker的項目實施或是做Docker開發(fā)者公有云,類似于Hadoop的項目實施廠商。 Docker的流行開始于開發(fā)者,也是在開發(fā)者中傳播,真正進(jìn)入企業(yè)級生產(chǎn)系統(tǒng)的很少,由于Docker天生就是從開發(fā)者起家的,缺乏進(jìn)入企業(yè)的基因,Docker的設(shè)計就不是運(yùn)行于企業(yè)級環(huán)境下。
“可是從開發(fā)者身上很難賺錢,這已經(jīng)成為共識了,如果想從開發(fā)者身上賺錢,那開發(fā)者都跑路了。Docker也意識到這點(diǎn),所以Docker在2016開年就提出,要進(jìn)入企業(yè)級—“Ready for Production”,但是理想是理想,理想和現(xiàn)實之間需要跨越巨大的鴻溝。
Docker進(jìn)入企業(yè)級的需求,造就了第一類的生態(tài)公司,主要就是Mesosphere\Google和Redhat三家,Mesos本來就是部署、集群管理,之前部署Hadoop大數(shù)據(jù)、批處理、ETL之類的,隨著Docker東風(fēng)吹來,馬上支持部署、管理Docker集群,再加一個Marathon管理長周期任務(wù),就可以實現(xiàn)部署應(yīng)用的CaaS,雖然離PaaS還有很大距離,缺乏很多PaaS功能。 首先要深刻理解PaaS。PaaS的P是Application Platform,是應(yīng)用平臺As a Service,是著眼于應(yīng)用和應(yīng)用平臺。
很多人往往把PaaS和CaaS混淆,Container As A Service是容器即服務(wù),只管提供容器和容器管理,并不管容器里面跑的是應(yīng)用還是數(shù)據(jù)庫或是數(shù)據(jù)應(yīng)用,所以CaaS要弄出個編排,而PaaS并無編排一說。如果只是提供容器,和IaaS其實并沒有太大的區(qū)別,只不過把應(yīng)用從虛機(jī)轉(zhuǎn)移到容器里來。
PaaS的設(shè)計原理和方法論是要實現(xiàn)應(yīng)用的零運(yùn)維,通過平臺本身來監(jiān)控應(yīng)用,而不是傳統(tǒng)的思維方式,傳統(tǒng)的運(yùn)維是要針對不同的應(yīng)用去不同的監(jiān)控、不同的調(diào)度、不同的故障恢復(fù),所以運(yùn)維成了救火。
PaaS通過平臺本身來監(jiān)控應(yīng)用、監(jiān)控容器、監(jiān)控虛機(jī)、監(jiān)控物理機(jī),應(yīng)用不用去管監(jiān)控的事情,無論是應(yīng)用故障、容器故障、虛機(jī)故障還是物理機(jī)故障,統(tǒng)統(tǒng)故障自動恢復(fù),應(yīng)用實現(xiàn)一鍵部署,資源實現(xiàn)彈性伸縮。運(yùn)維的三大任務(wù):應(yīng)用和系統(tǒng)部署、升級,故障恢復(fù),根據(jù)業(yè)務(wù)的資源分配,這三大任務(wù)在PaaS全自動化。
當(dāng)然,要達(dá)到這個目標(biāo),你的應(yīng)用要符合十二要素,要向云原生應(yīng)用靠近。退一步講,即使是傳統(tǒng)應(yīng)用,不做改造,搬到PaaS下雖然不能100%達(dá)到上述的零運(yùn)維,但是也可以達(dá)到相當(dāng)程度的運(yùn)維自動化。
PaaS和CaaS的另外一個根本區(qū)別是,PaaS區(qū)別對待應(yīng)用和服務(wù),應(yīng)用運(yùn)行在容器中,實現(xiàn)零運(yùn)維。服務(wù)就是比如數(shù)據(jù)庫、消息中間件、大數(shù)據(jù)、緩存等,并不適合運(yùn)行于容器中,PaaS把這些服務(wù)部署在虛機(jī)中,服務(wù)的彈性伸縮要求并不強(qiáng),不像應(yīng)用彈性伸縮的要求比較強(qiáng),誰會去把一個mySQL或是Oracle數(shù)據(jù)庫的集群在運(yùn)行中彈性擴(kuò)展一下?
服務(wù)沒必要放在容器中,服務(wù)更多的是需要備份、調(diào)優(yōu)等操作系統(tǒng)相關(guān)的運(yùn)維,而且往往會涉及到操作系統(tǒng)內(nèi)核的調(diào)優(yōu),而應(yīng)用是往往操作系統(tǒng)無關(guān)了,所以放在容器中。在容器中做操作系統(tǒng)內(nèi)核參數(shù)調(diào)優(yōu)是有風(fēng)險的。通過區(qū)分應(yīng)用和服務(wù),并且把應(yīng)用放在容器中,服務(wù)放在虛機(jī)中,自然的消除了編排的需求。容器是個革新性的技術(shù),但是不是任何場合都適用,作用企業(yè)應(yīng)用,應(yīng)當(dāng)在不同的場景選擇不同的技術(shù),而不是一個技術(shù)包攬全部。
Borg是谷歌公司很早以前就在使用的內(nèi)部容器管理系統(tǒng),隨著Docker的興起,把Borg的精華部分抽取出來,支持Docker,弄出了個Kubernetes,但是Kubernetes出生于復(fù)雜的Borg系統(tǒng),框架就比較大,而且復(fù)雜,而Docker進(jìn)入企業(yè),總是從小到大的過程,企業(yè)和互聯(lián)網(wǎng)公司不一樣,互聯(lián)網(wǎng)公司可能經(jīng)過幾年的積累,已經(jīng)有成千上萬個容器需要管理,而且運(yùn)維人員就是公司的主要資源。對于企業(yè)公司而言,把Docker弄到生產(chǎn)環(huán)境,都是嘗試性的,一開始就弄一個超復(fù)雜的系統(tǒng),哪個企業(yè)都吃不消,所以Kubernetes進(jìn)入企業(yè)之路并不順利。
特別是國內(nèi),在2015年大多第二類公司Docker項目集成公司都選擇Mesos,畢竟Mesos簡單易上手,一般客戶也要不了Kubernetes那么復(fù)雜的功能來管理一個初始的小集群,所以在2015年國內(nèi)鮮有采用Kubernetes的企業(yè)客戶,當(dāng)然2016年形勢逆轉(zhuǎn),K8s成為熱點(diǎn)了,因為大家發(fā)現(xiàn)Mesos不是正宗的Docker集群管理,K8s從一開始就定位到容器集群管理,雖然技術(shù)復(fù)雜了一點(diǎn),但是2016的Docker生態(tài)圈創(chuàng)業(yè)公司很多是海歸,更從技術(shù)根源上認(rèn)可K8s對Docker的集群管理,加上這些創(chuàng)業(yè)公司不遺余力的宣傳,K8s在2016年逆襲了,成為最熱的Docker集群管理軟件,這其實也說明了技術(shù)最終能夠被發(fā)現(xiàn)。
而Redhat就直接用kubernetes加一些自己的功能來做PaaS云解決方案。Redhat自己宣傳也是Docker+kubernetes=Openshift,那Redhat的Openshift其實自己可以掌控的東西很少,把幾個不是自己主導(dǎo)的開源的產(chǎn)品組合成一個OpenShift,和國內(nèi)的山寨思想沒什么太大區(qū)別,也體現(xiàn)不出自己的價值,既然是山寨思想,那山寨的害處馬上就體現(xiàn)出來了,一旦正宗的產(chǎn)品推出來,山寨之路就艱難了,而且OpenShift又是Redhat的邊緣產(chǎn)品,記住前面的法則:買產(chǎn)品一定要買公司的核心產(chǎn)品。
Docker第二類生態(tài)公司,做企業(yè)Docker項目實施的,在國內(nèi)眾多,包括:DaoCloud、數(shù)人云、CSphere、云雀、迅達(dá)云、高偉達(dá)、宇信、飛致云、時速云等,其中有些一開始嘗試做開發(fā)者公有云PaaS,但都證明不能盈利,這其實已經(jīng)在新浪、盛大公有云證明是不成功的,有多少開發(fā)者或是中小軟件公司愿意花錢在公有云上開發(fā)呢?這個市場還太小,不足以養(yǎng)活開發(fā)者公有云。 五、Docker公司的戰(zhàn)略野心受生態(tài)圈狙擊
Docker本來是做PaaS的公司,原來稱為DotCloud, 其提供了類似IDC的服務(wù),為客戶提供PaaS服務(wù),包括Web、Application、Transaction、Database等服務(wù)。但PaaS云運(yùn)營并不成功,DotCloud痛定思痛,技術(shù)轉(zhuǎn)型到做容器,而且一開始就開源,吸引大量的開發(fā)者使用。隨著Docker在開發(fā)者中越來越流行,2013年10月,DotCloud干脆換名為Docker公司,2014年8月 Docker 宣布把平臺即服務(wù)的業(yè)務(wù)「dotCloud」出售給位于德國柏林的平臺即服務(wù)提供商「cloudControl」,Docker開始專心致志做Docker。
于此同時,Docker也開始融資準(zhǔn)備把公司做大,適應(yīng)Docker的發(fā)展勢頭。Docker從2013年開始,經(jīng)過ABCD四輪融資,累計超過1.5億美元的融資,Docker融資這么多,那么一定要上市IPO,才能給投資方以回報。而上市是需要業(yè)績的,既然開發(fā)者市場是幾乎不可能賺錢盈利,只能轉(zhuǎn)向企業(yè)級市場,一旦啟動進(jìn)入企業(yè)級市場的進(jìn)程,就必然會擠壓Docker生態(tài)圈的第二類廠商——做Docker集群管理的廠商們。 “Docker進(jìn)入企業(yè)環(huán)境,第一個就是要運(yùn)行Docker鏡像,而且不是一個兩個鏡像,要運(yùn)行一個集群,這樣Docker集群的部署、管理、調(diào)度就成為Docker進(jìn)入企業(yè)級第一需求。
如下圖是Docker的發(fā)展歷程,下面是Docker容器的進(jìn)展,上面是CaaS(Container As a Servie)解決方案的并購和進(jìn)展。有心人很容易發(fā)現(xiàn),從2014年底開始,Docker密密麻麻的收購,全都投入在CaaS,無論是收購還是從產(chǎn)品到解決方案,可見Docker在CaaS上了大賭注。
Docker進(jìn)入企業(yè)級市場有比較宏大的目標(biāo),2014年10月,Docker收購持續(xù)集成服務(wù)商 Koality,Docker把Koality在企業(yè)市場方面的成熟經(jīng)驗引入到 Docker Hub企業(yè)版本中,瞄準(zhǔn)的是企業(yè)市場。同月,Docker收購了總部位于倫敦的Orchard Laboratories,進(jìn)入復(fù)雜應(yīng)用編排功能的企業(yè)市場。2014年底推出Docker Machine\Swarm\Compose,2015年對這三個產(chǎn)品持續(xù)升級。
2015年3月,Docker收購SDN公司SocketPlane,解決Docker集群的網(wǎng)絡(luò)問題。同月Docker收購了用于Docker管理的開源圖形用戶界面工具Kitematic,自動化了Docker安裝和配置過程。2015年 10年,Docker收購Tutum,補(bǔ)充Docker Hub,補(bǔ)充對Docker運(yùn)行時的支持。進(jìn)入2016年,Docker再次動作頻頻,2016年1月,Docker收購Unikernel Systems,進(jìn)入OS領(lǐng)域,把Docker容器帶入最簡OS內(nèi)核。如下圖,打造適合運(yùn)行容器的最簡OS, 整個容器所占的資源進(jìn)一步減少,從而讓機(jī)器跑的更快,把容器的價值發(fā)揮到極限,至于這是否適合企業(yè)應(yīng)用還需要驗證。
向下,Docker侵入OS領(lǐng)域,向上,Docker擠占CaaS市場空間。
2016年3月,Docker收購Conductant,入主Aurora,根據(jù)如下Docker的規(guī)劃,Aurora直接和kubernetes以及Marathon競爭,特別是和Mesos的架構(gòu)完全對應(yīng), Docker Aurora+Swarm直接和Marathon+Mesos競爭。使得Docker Swarm從小規(guī)模集群管理,擴(kuò)展到大規(guī)模Docker集群管理。
在這個Docker提供架構(gòu)圖,可以清楚的看到?jīng)]有了Mesos,而是Docker Swarm+Aurora直接取代Mesos+Marathon。同時,我看看下面來自Docker的博客(https://blog.docker.com/2016/03/docker-welcomes-aurora-project-creators/)
“There are manycommercial distributions of Mesos, but none of them incorporate Aurora. Webelieve that is a wasted opportunity. We plan on incorporating the best ideasfrom Aurora into Docker Swarm, and are exploring integrating Aurora as anoptional component of the official Docker stack.”翻譯過來:
“雖然Mesos擁有多款商業(yè)發(fā)行版,但其中沒有任何一款受到Aurora的啟發(fā)。我們認(rèn)為這實在是一種巨大的浪費(fèi)。我們計劃將Aurora中的各類卓越思維成果引入Docker Swarm,并正在嘗試將Aurora作為Docker正式堆棧的可選組件之一。” Docker已經(jīng)在抱怨有太多的Mesos商業(yè)發(fā)行版,搭了Docker便車,已經(jīng)在賺Docker進(jìn)入企業(yè)級市場的錢,而Docker自己的產(chǎn)品居然還沒開始賺錢。
是可忍孰不可忍! 2016年2月,Docker公布了其DDC(Docker DataCenter)的架構(gòu)圖和報價,如下圖,藍(lán)色部分是Docker的CaaS解決方案,青色部分是還需要第三代的產(chǎn)品或開源產(chǎn)品來補(bǔ)充形成完整的解決方案,青色部分所占比例還不小,可見Docker的CaaS上要走的路還很長,Docker的這個CaaS有不少模塊是前面收購來的。既然是商業(yè)發(fā)行版,DDC也保留了部分模塊不開源,走的甚至比CloudEra的發(fā)行版更遠(yuǎn)。Docker也很快給了個并不便宜公共訂閱報價,難道是Docker在盈利上有急切的需求?
六、Docker生態(tài)圈的演進(jìn)請輸入
Docker在2013-2014年專注于把容器做好,沒來得及顧得上企業(yè)級市場,Mesosphere和Google瞄上了這個市場,同時Redhat也把自己的PaaS推倒重來,準(zhǔn)備用Docker+kubernetes。2014年底,Docker已經(jīng)準(zhǔn)備進(jìn)入企業(yè)級市場,推出Docker Machine,Swarm和Compose。 Docker作為Docker的宗主,著眼于Docker市場環(huán)境最有利潤的Docker生產(chǎn)環(huán)境集群管理是很自然而然的,我們再來分析這個市場三只早起的鳥兒:Google、Mesosphere、Redhat。 一旦Docker進(jìn)入企業(yè)級CaaS市場,Google第一個就感受到了這個壓力。
“Google無疑是最有技術(shù)敏銳性和市場敏銳性的,早早的看到了Docker企業(yè)級市場的企圖心,所以Google是第一個支持Docker的競爭對手—-CoreOS的Rocket容器,2014年四月份谷歌風(fēng)險投資公司牽頭對CoreOS進(jìn)行了1200萬美元的投資,目標(biāo)明確—對準(zhǔn)docker。Google不再是Docker+ kubernetes,而是容器抽象+ kubernetes。
Google對容器層進(jìn)行了抽象,使得kubernetes即能支持Rocket,也能支持Docker,而Rocket和Docker有很大的不同,kubernetes對此進(jìn)行了折中,不再對所以的Docker的功能支持,只支持kubernetes抽象出的容器功能,如果Docker自己的功能不在kubernetes抽象的容器功能之中,kubernetes選擇不支持。最典型的是libnetwork/CNM,kubernetes認(rèn)為這是Docker的特定功能,不予支持,Google自己搞了一個CNI。所以kubernetes和Docker走在分道揚(yáng)鑣的路上,距離越來越遠(yuǎn)。
除了支持CoreOS,Google更是聯(lián)合容器業(yè)界相關(guān)的廠商,組成OCI(Open Container Initiative)。業(yè)界對Docker在容器領(lǐng)域一家把控早有怨言,所以O(shè)CI一成立,就得到熱烈響應(yīng)。和普通的聯(lián)盟或標(biāo)準(zhǔn)化組織不一樣,OCI成立之初就定下目標(biāo)—容器標(biāo)準(zhǔn)化,包括容器引擎的標(biāo)準(zhǔn)化實現(xiàn)—RunC,定個標(biāo)準(zhǔn)化規(guī)范容易給各方鉆空子,但是做一個標(biāo)準(zhǔn)化的實現(xiàn),就可以在相當(dāng)程度上實現(xiàn)真正的容器統(tǒng)一。Docker眼看OCI實在太熱烈,不得不折中考慮,加入OCI,實現(xiàn)RunC。
但是總是心有不爽,雖然RunC發(fā)展很快Docker從1.11開始就采用了RunC的引擎,但是這不就開始和Google也業(yè)界大佬開撕了,過程很簡單,Kubernetes的KelseyHightower說不要Docker引擎就可以跑Docker鏡像,Docker CTO Solomon Hykes馬上說,不用Docker引擎, 10%的運(yùn)行會有問題,然后就扯到OCI,Docker說OCI是個偽標(biāo)準(zhǔn),立馬得到無數(shù)的磚頭。
Docker也加入了OCI,對RunC的貢獻(xiàn)也不小,現(xiàn)在出爾反爾,現(xiàn)在看到Docker可能會受OCI/RunC的牽制影響,立馬不管臉面了,利益第一。
但是技術(shù)潮流是無法一家控制的,OCI/RunC作為業(yè)界各大廠商制約Docker的標(biāo)準(zhǔn)遲早會越發(fā)展越好,容器并不是什么可以壟斷性的技術(shù),或者說容器本身的技術(shù)含量并沒有高到其他廠商做不好,只不過Docker在合適的時間點(diǎn)點(diǎn)燃了一個干柴烈火的市場。
對Docker容器的制約,不止體現(xiàn)在OCI容器層面,這不,前兩天Google宣布和Mirantis的合作,K8s直接支持OpenStack,意味著K8s除了可以管理容器,還會延伸到管理虛機(jī)集群,在這個架構(gòu)下,Google弱化Docker容器的的意圖很明顯。 由于Google早早的對容器進(jìn)行抽象,可以預(yù)見,即使脫離Docker生態(tài)圈,kubernetes依然有其市場,而且主要是大型容器和虛機(jī)部署的市場。
“再說Mesosphere。2016年上半年遲鈍的Mesosphere終于意識到Docker的野心和意圖,開始嘗試脫離Docker,在新的Mesos Containerizer中支持脫離Docker Daemon建立容器,為下一步支持Rocket/RunC做準(zhǔn)備。
Mesosphere相當(dāng)于而言是比較不敏感的,一直跟著Docker跑,即使在Docker要做Swarm時,而且Docker已經(jīng)做了Swarm仍然不敏感,終于Docker已經(jīng)明確的對Mesosphere通過發(fā)行版賺錢表示了明顯的不滿,可以理解,Docker自己花這么多資源做出一個Docker和相應(yīng)生態(tài),還沒開始賺錢,搭車的先賺錢了,換誰誰也不樂意。2016年2月Docker發(fā)布DDC(Docker DataCenter)和報價,已經(jīng)非常明確了Docker要進(jìn)入企業(yè)級市場。
2016年上半年遲鈍的Mesosphere終于意識到Docker的野心和意圖,開始嘗試脫離Docker,在新的Mesos Containerizer中支持脫離Docker Daemon建立容器,為下一步支持Rocket/RunC做準(zhǔn)備。 Docker進(jìn)入企業(yè)級市場,第一個碾壓的就是Mesosphere。
一方面Docker通過收購Conductant獲得Aurora,未來必定會合并到DDC中,DDC完全可以覆蓋Mesosphere的DCOS在Docker集群管理上的功能,而且Docker還有一招,未來只提供Swarm的API,封閉或是大幅改變Docker API,那么Mesos就只能調(diào)Swarm的API,Swarm本來就和Mesos有很大的重疊,如果Mesos再通過Swarm去管理Docker集群,那Mesos的價值可能小于功能重疊帶來的復(fù)雜性。當(dāng)然Docker是否會祭出這個大招讓我們拭目以待,雖然在Docker的新的架構(gòu)圖已經(jīng)有此規(guī)劃。
在這種生態(tài)環(huán)境下,用戶的選擇是最難的,已經(jīng)選擇了Docker+Mesos的用戶,必然會面臨未來繼續(xù)走Docker+Mesos的路,還是壯士斷腕,切換到正宗的Docker DDC,但DDC還不成熟,目前階段還不適合選擇。
而Docker+Mesos是注定未來很難升級,越往后越邊緣化。 “再看Redhat,2014年的時候看到Docker火起來,Redhat見異思遷,馬上拋棄自己的OpenShift V2的整體架構(gòu),包括拋棄原有應(yīng)用容器Gear,全面采用Docker替代Gear,同時用kubernetes替代原有的容器管理。如此革命式的改造,完全不考慮前后的兼容性。
這導(dǎo)致已經(jīng)部署在OpenShift V2的應(yīng)用遷移到OpenShift V3非常困難,雖然提供了一個遷移工具,但是Redhat自己都不敢用,到目前為止,Redhat的OpenShift公有云還是OpenShift V2,在給客戶推銷OpenShift V3的時候自己不從V2升級到V3,一定是難度極大,否則拼了命也要升級,”自己的狗糧自己得吃”。
Redhat在OpenShift V3技術(shù)架構(gòu)的選擇顯得魯莽,核心技術(shù)是Docker和kubernetes,而Redhat對這兩個技術(shù)都沒有掌控,一旦Docker的發(fā)展或是kubernetes的發(fā)展和自己的戰(zhàn)略目標(biāo)不一致,可能還得推倒重來,又是一次”見異思遷”,目前就實際的遇到了這個問題,Docker要發(fā)展自己的DDC,和kubernetes競爭,而kubernetes已經(jīng)對容器進(jìn)行了抽象,不再支持Docker的特定功能,Docker和kubernetes已經(jīng)處于分道揚(yáng)鑣的階段,未來只會越走越遠(yuǎn),而Redhat“只能眼睜睜的看著你卻無能為力”,即無法說服Docker,也無法影響Google。
另外,既然Docker要進(jìn)入企業(yè)級容器集群管理市場,那OpenShift就必然和Docker存在競爭,Docker因為絕對的掌控了Docker容器,在競爭中有天然的優(yōu)勢,這種優(yōu)勢隨著Docker的升級和DDC的升級會與日俱增。到底是選擇正宗(奧迪)還是山寨(奧拓),客戶也容易陷入困惑。
七、開源技術(shù)也需要商業(yè)的成功
開源不等于免費(fèi),開源是一種商業(yè)模式,一個開源組織和開源項目要想生存下去,最重要的基礎(chǔ)就是普遍被使用,不然很快就會被競爭者替代。
一個軟件被普遍被使用之后,還需要因此衍生出相關(guān)服務(wù),團(tuán)隊可以通過這些服務(wù)獲得比較好的收入,商業(yè)模式就成型了,沒有商業(yè)的支持的開源是很難成為一個成熟、商業(yè)可用的技術(shù)。就拿Linux來說,Redhat和Suse Linux作為比較成功的Linux商業(yè)化,通過發(fā)行版和技術(shù)支持獲得了商業(yè)成功,反過來推動了Linux的發(fā)展。Linux持續(xù)有開源路線和商業(yè)路線,商業(yè)客戶需要商業(yè)的版本和支持,有Redhat和Suse等提供。開源的Linux如CentOS,CoreOS等。
反面的例子就是OpenSSL,去年暴露出“心臟出血“漏洞,大家發(fā)現(xiàn)就一個人在維護(hù)在OpenSSL,也沒人捐錢,Theo de Raadt– OpenBSD項目的創(chuàng)始人說OpenSSL的代碼”令人作嘔“,主要原因就是沒有商業(yè)的支持。這不最近又爆出新型高危漏洞。
我們再看看Docker的生態(tài)圈,無論是Docker,還是Mesosphere,還是Google,都還沒有在Docker開源生態(tài)圈獲得商業(yè)成功。而開源技術(shù)終將走向商業(yè),包括Docker,必然面臨企業(yè)市場挑戰(zhàn),微軟奮斗了幾十年其企業(yè)市場跟甲骨文SAP比起來仍然望其項背,這需要積累。“面對二三十家Docker創(chuàng)業(yè)公司,投資人是需要這些創(chuàng)業(yè)公司能商業(yè)成功的,而Docker本身技術(shù)沒有成熟,特別在Docker集群管理、資源調(diào)度等生產(chǎn)應(yīng)用方面。
Docker生產(chǎn)使用都成熟,要Docker商業(yè)成功,不會是一個短期的過程。而docker和mesos這兩家核心生態(tài)圈的公司到今天為止離盈利還非常遠(yuǎn),那國內(nèi)這些二三十家外圍生態(tài)圈的創(chuàng)業(yè)公司短時期內(nèi)商業(yè)成功幾乎不可能。
對于想在Docker上嘗鮮的企業(yè)來說,要認(rèn)清開源不等于免費(fèi)。
八、Docker生態(tài)圈的推論
Docker進(jìn)入企業(yè)級市場,有優(yōu)勢,也有劣勢,優(yōu)勢是挾Docker的大量開發(fā)者,劣勢是沒有做過企業(yè)級市場,開發(fā)者市場和企業(yè)級市場的做法完全不同,微軟從消費(fèi)者用戶拓展到企業(yè)用戶化了十多年的時間,在企業(yè)市場并沒有取得和消費(fèi)者市場一樣的成功。
做消費(fèi)者市場,只要把產(chǎn)品做好,而做企業(yè)級客戶,要一個一個去談,每個客戶的需求都不一樣,需要一只龐大的銷售、定制、支持隊伍。Docker公司到目前為止也就100多人,做企業(yè)級市場沒有幾千人的銷售、支持隊伍是很難打開全球市場的。100人到數(shù)千人,管理模式、業(yè)務(wù)模式都需要幾次轉(zhuǎn)型。而Docker公司目前也只是提供DDC的訂閱License和支付服務(wù),并不提供面對面的銷售和定制服務(wù) Docker公司進(jìn)入企業(yè)級市場在技術(shù)上有最大的優(yōu)勢,撬奪Mesosphere\Google\Redhat的CaaS市場還是有相當(dāng)?shù)募夹g(shù)優(yōu)勢。
通過對Docker API的控制、升級,可以完全影響上面所有對Docker容器集群管理的軟件,也許3-5年,Docker的企業(yè)級產(chǎn)品會有相當(dāng)?shù)某晒?,但不會?016年。但也許3-5年后,CaaS(Container As a Service)會有新的技術(shù)演進(jìn)。 2016年,作為Docker集群部署管理的生態(tài)圈公司:Google kubernetes\Redhat OpenShift\Mesos,面臨Docker DDC的不平等技術(shù)競爭,會承載巨大的壓力,他們會聯(lián)合起來反制Docker公司。他們的應(yīng)對就是釜底抽薪,弱化Docker容器,盡快讓RunC成熟,在一定程度上取代Docker引擎。另外,直接就是支持虛機(jī),不再受制于Docker,而是直接在企業(yè)級市場全面競爭。
和Hadoop生態(tài)圈的第一類公司類似,2016-2017年,可能有Docker集群管理的公司會逐步退出這個市場。
“事實上,無論是Google還是Mesos,都已經(jīng)走在和Docker分道揚(yáng)鑣的路上。如果我們和大數(shù)據(jù)對比一下,Docker有點(diǎn)像CloudEra,技術(shù)領(lǐng)先; Redhat像Hortonworks,先上市再說,Redhat是先把產(chǎn)品上市,Hortonworks是先資本上市。Google有點(diǎn)像Intel投資Hadoop,不屬于主業(yè),在副業(yè)上也投資。Mesos有點(diǎn)像MapR,總是不在核心圈子里,越來越式微。
2016年.作為Docker CaaS私有云項目實施公司,包括:Rancher、才云、數(shù)人云、CSphere、云雀云、Hyper、DaoCloud、有容云、好雨云、輕元科技、迅達(dá)云、飛致云、時速云、精靈云、領(lǐng)科云等。和Hadoop的第二類項目實施的生態(tài)圈公司走過的歷程類似,2016-2017年,各大Docker CaaS項目實施廠商是陷入低價血戰(zhàn)的時代。同時,技術(shù)方向的選擇和標(biāo)桿客戶案例非常關(guān)鍵,如果技術(shù)方向選擇不對,所選擇的Docker集群管理軟件被邊緣化,那么技術(shù)的積累價值會大幅打折,客戶的標(biāo)桿也可能會成為反例。
最典型的就是選擇Mesos的技術(shù)路線的,目前已見頹勢。也有的抱Docker大腿不放,選擇純Docker的技術(shù)線路,容器集群管理也用Docker Swarm,Docker Swarm有可能會一直很難成熟,特別是和K8s相比,存在巨大的技術(shù)風(fēng)險。 “2016年,有些企業(yè)級客戶開始選擇Docker做CaaS,但是客戶面臨最大的問題是戰(zhàn)略性的問題,到底選擇哪個Docker集群管理軟件,在Docker紛繁復(fù)雜的生態(tài)圈里做出正確的選擇并不容易,考驗客戶的技術(shù)眼光,選擇了一個短命的產(chǎn)品以后再糾正并不容易。
其實,Hadoop的客戶走過這樣的困境,我想起上海某政府客戶,在2012年選擇Intel的Hadoop實施信息共享項目,成為Intel的全球案例,2013年10月上線,2014年Intel放棄自己的Hadoop,裁撤了幾乎所有的Hadoop團(tuán)隊,這時數(shù)據(jù)和系統(tǒng)都已經(jīng)上線半年多了,對于一個已經(jīng)上線提供服務(wù)的Hadoop,再去換一個Hadoop,難度可想而知,數(shù)據(jù)遷移和應(yīng)用遷移不一樣,難度高出許多。如果不換Hadoop,永遠(yuǎn)停留在Intel的Hadoop 1.0上又失去了采用開源軟件的意義,采用開源軟件很重要一點(diǎn)是能隨開源的成長而成長。
面臨這種尷尬的時候再次提醒我們產(chǎn)品和技術(shù)選擇的重要性。推導(dǎo)到Docker企業(yè)應(yīng)用,早期嘗鮮的企業(yè)客戶把Docker集群管理調(diào)度部署到生產(chǎn)環(huán)境,會不會碰到這種尷尬呢? 目前國內(nèi)的Docker創(chuàng)業(yè)公司超過20家,都想進(jìn)入企業(yè)市場,導(dǎo)致異乎激烈的競爭。而過于激烈的競爭,帶來一個畸形的模式————大家主要把錢和資源化在吸引眼球上,而不是把主要力量放在把產(chǎn)品做好(國內(nèi)的OpenSatck公司何嘗不是如此!)。
有個銀行客戶,準(zhǔn)備測試一下Docker,居然超過十家Docker創(chuàng)業(yè)公司主動要去測試,據(jù)說預(yù)算只有幾十萬。
20多家Docker創(chuàng)業(yè)的小公司,少的十幾個人,多的幾十人,上百的還很罕見,畢竟投資人的錢燒起來很快,搞個上百人的,一年的工資支出可能就幾千萬。20多家小公司,怎么讓客戶知道你?這是Docker創(chuàng)業(yè)公司的面臨的第一個困境,解決辦法就是搞市場活動,據(jù)說有的公司居然80%的資金都花在市場活動上,常用在酒店給客戶講方案的市場活動不湊效,那就搞技術(shù)Fans的Meetup,大家去看看今年的Docker/K8s/Mesos的Meetup多如牛毛,每周都有。
Meetup就一定有效嗎?對企業(yè)級市場來說,并不完全有效,參加Meetup的都是工程師,不是企業(yè)項目的決策人,工程師想用,企業(yè)決策人還沒看清暫時不用是普遍現(xiàn)象。 一方面,把投資人的錢花在各種市場活動上,另外一方面,Docker/K8s/Mesos作為開源技術(shù),這些創(chuàng)業(yè)公司對Docker/K8s/Mesos的代碼貢獻(xiàn)很小,僅僅有一兩家對代碼有微量貢獻(xiàn),大多數(shù)對Docker開源代碼是零貢獻(xiàn),對于沒有對開源有多少貢獻(xiàn),希望從開源項目賺錢,這多少有點(diǎn)投機(jī)取巧,而且,Docker/Google都還沒有從自己主導(dǎo)的開源項目賺錢,搭便車的先賺錢,商業(yè)上合理嗎?
中國目前的容器市場能支撐的了20多家Docker創(chuàng)業(yè)公司嗎?而這些創(chuàng)業(yè)公司絕大多數(shù)拿的是投資人的錢,投資人的錢也不是風(fēng)刮來的,天使輪投資可以只要個Idea,但到A輪/B輪,怎么也得看點(diǎn)數(shù)據(jù),你是拿了幾個單,還是有多少營收,有多少利潤,Docker創(chuàng)業(yè)公司面對的是B2B市場,不是B2C市場,B2C市場可以燒錢拉用戶,只要用戶量在持續(xù)增長,可以擴(kuò)大虧損繼續(xù)燒。對于B2B市場,是要建立標(biāo)桿案例項目再復(fù)制,標(biāo)桿可以不賺錢,復(fù)制項目總得賺錢,而目前的殘酷現(xiàn)實是標(biāo)桿項目大家打破頭,沒賺錢。你想復(fù)制的時候,20 多家的競爭對手還想著不要錢做自己的標(biāo)桿,所以標(biāo)桿項目的復(fù)制為盈利項目幾乎不可能。
在目前這個市場形勢下,投資人再往下投多少會更謹(jǐn)慎一些,那在市場上花錢如流水的Docker創(chuàng)業(yè)公司,一旦錢花的差不多,并沒有達(dá)到預(yù)期數(shù)字,投資人在投錢上再謹(jǐn)慎起來,一些Docker創(chuàng)業(yè)公司的死掉只是時間的問題,也許年底就可以看到倒掉的Docker創(chuàng)業(yè)公司。
九、給準(zhǔn)備Docker嘗鮮的客戶的建議
目前有些企業(yè)已經(jīng)在采用Docker和相關(guān)技術(shù),據(jù)觀察,有以下幾類企業(yè):
- 1、 互聯(lián)網(wǎng)公司,比較早期就開始關(guān)注Docker技術(shù),在互聯(lián)網(wǎng)應(yīng)用中采用Docker容器,對應(yīng)用的一致性要求不高,能接受數(shù)據(jù)的最終一致性。有的僅僅是容器,自己做管理,有的采用Mesos來管理集群,也有采用K8s來管理Docker容器的。這類客戶應(yīng)當(dāng)占了目前Docker用戶的95%以上。
 - 2、 為了混Docker圈子的重IT型公司,數(shù)量少,頻繁出現(xiàn)在各種Docker市場活動中介紹成功經(jīng)驗。這些企業(yè)有個特點(diǎn),喜歡在眾多的Docker市場活動上介紹使用Docker的成功經(jīng)驗。作為一個企業(yè),使用新技術(shù)可能可以造就新的競爭力,但是在各種Docker的市場活動中介紹成功經(jīng)驗好像和公司的核心競爭力并不完全一致,這些公司的核心競爭力肯定不是是用Docker而帶來的。
 - 3、 傳統(tǒng)企業(yè)在技術(shù)創(chuàng)新中采用Docker,取代了很好的效果。這種企業(yè)不多,企業(yè)的IT領(lǐng)導(dǎo)人有很強(qiáng)的技術(shù)駕馭能力,能夠吸納新技術(shù)。通過試點(diǎn)采用Docker成功以后,逐步推廣,取代了比較好的效果。 分析這些Docker的使用者,很容易發(fā)現(xiàn)在真正企業(yè)級環(huán)境使用不多,在美國也如此。主要還是互聯(lián)網(wǎng)公司在使用。 對于企業(yè)客戶而言,要采用Docker,一般是兩種方式:要么選擇Docker相關(guān)公司來實施,要不然自己基于Docker定制,這種方式工作量太大,需要巨大的團(tuán)隊,對企業(yè)來說不合適。如果選擇Docker相關(guān)公告,目前選擇這些Docker創(chuàng)業(yè)公司是有巨大風(fēng)險的,一方面他能生存多久很難說,考慮客戶的選擇眼光。
 
第二,如果做Docker項目選擇這些公司的產(chǎn)品來實施,對于技術(shù)力量稍微強(qiáng)一點(diǎn)的Docker創(chuàng)業(yè)公司,他會自己做一些包裝定制,把自己的產(chǎn)品提供給客戶,但是風(fēng)險在于,對于定制過的產(chǎn)品,Docker/K8s/Mesos/Swarm的后續(xù)發(fā)展非??欤@些開源版本一升級,你就得跟著升級,定制了以后升級并不容易,往往會要去改動代碼或是配置。
作為客戶如果采用開源的產(chǎn)品,而不跟著升級,那就失去了采用開源的非常關(guān)鍵的一個價值,開源的發(fā)展一開始是不成熟的,如果不能跟著開源逐漸成熟,那選擇早期的開源不升級往往是很難達(dá)到效果。也有小的創(chuàng)業(yè)公司,對Docker幾乎不做定制,甚至界面都不改,就是把環(huán)境部署起來,那對企業(yè)級應(yīng)用來說,過于簡陋,對使用者要求很高,很大程度上是達(dá)不到應(yīng)有效果的。
對于企業(yè)級客戶準(zhǔn)備采用Docker,鑒于目前Docker在企業(yè)級的生產(chǎn)環(huán)境應(yīng)用規(guī)模很小,成熟度有待提高,而且對于企業(yè)級應(yīng)用很難在Mesos/K8s/Swarm之間做選擇,一旦技術(shù)路線選擇錯誤,后面調(diào)頭重來成本非常高。而且這么多小的Docker創(chuàng)業(yè)公司,能不能生存下去,長期提供技術(shù)支持,也是需要考慮的問題。
企業(yè)要綜合考察IaaS/CaaS/PaaS,選擇相對成熟的技術(shù),相比而言IaaS和PaaS均比較成熟,基于Docker的CaaS還沒有定型,還在成熟的過程中。要結(jié)合企業(yè)的實際需求,對于潮流技術(shù),先小規(guī)模驗證,體驗取得的實際效果,分析存在的隱患,再做綜合決策不遲。




















 
 
 

 
 
 
 