近一兩年,企業(yè)級PaaS平臺層出不窮,市場上的產(chǎn)品如雨后春筍般的涌現(xiàn)。不同云平臺所支撐的應(yīng)用有不同的特征。其中有些原因來自業(yè)務(wù)本身,還有些來自不同機(jī)構(gòu)的制度,比如企業(yè)、銀行和政府以及不同的隱私需求和性能需求,未來所以垂直領(lǐng)域的PaaS會更有機(jī)會。
追溯歷史,早在2012年,許多SaaS及IaaS廠商開始推PaaS平臺服務(wù),比如用友偉庫PaaS平臺、普元PaaS平臺、新浪SAE的IaaS PaaS模式等。當(dāng)時主流PaaS平臺分為兩種。一種是以美國Heroku和國內(nèi)新浪SAE為代表,它出現(xiàn)的目的是為了解決移動端后臺的問題,所以稱之為AppEngine。然而這種PaaS的應(yīng)用場景較少,僅僅是支撐移動端使用。另外一種是Cloud Foundry,它設(shè)計的理念是做一個大而全的PaaS平臺,能夠解決企業(yè)生產(chǎn)環(huán)節(jié)過程中遇到的所有問題。但物極必反,太厚重的設(shè)計讓它的使用、配置和維護(hù)復(fù)雜度較高,對用戶和解決方案提供商來說都很重,所以最終也沒有被市場認(rèn)可。數(shù)人云CEO王璞認(rèn)為這些平臺都可以歸結(jié)為上一代PaaS產(chǎn)品,由于其內(nèi)涵極其豐富,加在IaaS和SaaS中間難以界定,這讓用戶理解起來非常困難,因此基本上全體陣亡了。
2014年,PaaS的分水嶺。亂戰(zhàn)中,救世主Docker出現(xiàn),PaaS的發(fā)展又有了希望。
毫無疑問,Docker成為了2014年前后最熱門的技術(shù)之一,發(fā)展可謂是一路凱歌,并冠以容器、虛擬化、輕量、可移植、分布式的優(yōu)勢,而它的出現(xiàn)也給處于困頓中的PaaS平臺帶來了一線生機(jī)。“Docker給PaaS定義了一個邊界,讓PaaS的發(fā)展和使用有據(jù)可依,有標(biāo)準(zhǔn)可循。這對平臺提供商來說清晰了產(chǎn)品發(fā)展的思路。Docker里邊封裝的是企業(yè)各種業(yè)務(wù)應(yīng)用,Docker外邊則是PaaS提供的容器運(yùn)行環(huán)境。通俗講,Docker讓PaaS脫離厚重,且變薄了。因為容器里承載了各式各樣的編程語言。而PaaS只需要提供一個標(biāo)準(zhǔn)的容器運(yùn)行環(huán)境。因此基于容器、Docker打造的PaaS產(chǎn)品,被定義為是標(biāo)準(zhǔn)通用的PaaS平臺。這樣就出現(xiàn)了新一代的說法。”王璞說。
恰逢其時。PaaS突然火爆正是由于技術(shù)與時機(jī)的成熟。2014年Docker逐步興起,其輕量級虛擬化可以做到秒級部署與啟動應(yīng)用。同時Docker基于鏡像分層、共享的機(jī)制,以及基于Dockerfile的鏡像制作機(jī)制,可以很容易將應(yīng)用進(jìn)行打包并部署,真正做到了一次build,到處運(yùn)行的效果,而后期的應(yīng)用重新打包部署也很方便。在時機(jī)上,傳統(tǒng)企業(yè)的IaaS改造積累了不少X86化、模塊化經(jīng)驗。正如現(xiàn)在的互聯(lián)網(wǎng)化應(yīng)用,如秒殺、促銷、節(jié)日活動等,使應(yīng)用更加彈性,這正好順應(yīng)著微服務(wù)化的應(yīng)用發(fā)展路線,也與容器級虛擬化所要求的無狀態(tài)話、微服務(wù)化不謀而合。
通常云計算分三層,IaaS、PaaS和SaaS,IaaS可以支撐PaaS,但是PaaS并不主要用于支撐SaaS。當(dāng)新一代PaaS出現(xiàn)以后,云計算的原有分層邏輯就發(fā)生了變化,底層還是IaaS,中間是PaaS,而上層不只是SaaS,上層還包括企業(yè)生產(chǎn)系統(tǒng),因為新一代PaaS更多的是支撐企業(yè)生產(chǎn)系統(tǒng)。因此,對于數(shù)人云來說,他們的產(chǎn)品更加針對企業(yè)內(nèi)部的生產(chǎn)環(huán)境建設(shè),主要提供私有云上的PaaS平臺服務(wù)。
“輕”的內(nèi)涵據(jù)了解,數(shù)人云是國內(nèi)領(lǐng)先的云計算創(chuàng)新技術(shù)實踐者,致力于打造最輕量化的PaaS平臺,將應(yīng)用彈性做到極致?;贒ocker Mesos,數(shù)人云實現(xiàn)了一站式的微服務(wù)架構(gòu)集群系統(tǒng),最大化地幫助企業(yè)實現(xiàn)應(yīng)用業(yè)務(wù)在云端的快速部署,解決從用戶到云資源的最后一公里。那么什么是所謂的“輕量化”呢?
對于企業(yè)來說,若要快速跟上市場的需求,就要具備高水準(zhǔn)的業(yè)務(wù)響應(yīng)能力。而這背后,IT至關(guān)重要。IT產(chǎn)品的建設(shè)是否能夠滿足快速上線,快速迭代,是否能滿足互聯(lián)網(wǎng)業(yè)務(wù)規(guī)模的彈性伸縮,是否能支撐商業(yè),進(jìn)而引領(lǐng)商業(yè),這些對傳統(tǒng)企業(yè)的信息中心和CIO提出了不小挑戰(zhàn)。而這正是數(shù)人云“輕量級PaaS”的初衷。
王璞說:“隨著技術(shù)的突飛猛進(jìn),企業(yè)級IT建設(shè)逐步發(fā)生轉(zhuǎn)變。原有產(chǎn)品如J2EE、WebLogic都很厚重,難以自身維護(hù)。而現(xiàn)在的企業(yè)信息化建設(shè)更傾向于自主可控,企業(yè)都希望內(nèi)部的IT環(huán)境能夠掌控在自己手里,用一些互聯(lián)網(wǎng)化的產(chǎn)品,構(gòu)建出支撐業(yè)務(wù)發(fā)展的應(yīng)用。同時隨著互聯(lián)網(wǎng)和移動互聯(lián)網(wǎng)的發(fā)展,傳統(tǒng)企業(yè)如金融、運(yùn)營商等企業(yè)的業(yè)務(wù)形態(tài)發(fā)生了很大變化。這就需要他們快速轉(zhuǎn)型,使其形態(tài)更互聯(lián)網(wǎng)化。而作為支撐業(yè)務(wù)發(fā)展和轉(zhuǎn)型的基礎(chǔ)工具,IT架構(gòu)也需要更加互聯(lián)網(wǎng)化,讓其具備簡單部署、方便管理、易維護(hù)的能力。這就讓CIO不得不選擇一些發(fā)源自互聯(lián)網(wǎng)的技術(shù)和產(chǎn)品,讓企業(yè)向互聯(lián)網(wǎng)公司一樣,對IT做到絕對的自主可控,自給自足。”
因此,數(shù)人云PaaS平臺的輕量化體現(xiàn)在兩個方面。首先可以幫助企業(yè)實現(xiàn)IT應(yīng)用快速迭代、快速上線,持續(xù)交付、持續(xù)集成,敏捷開發(fā)。其次可以幫助企業(yè)實現(xiàn)應(yīng)用層面的高彈性。隨著業(yè)務(wù)規(guī)模的瞬時暴增,系統(tǒng)可以快速調(diào)整做出支撐,做到收縮自如。當(dāng)業(yè)務(wù)量下降了,系統(tǒng)可以自動重新分配計算資源。
根據(jù)調(diào)查,傳統(tǒng)企業(yè)的IT建設(shè)的確不具備“輕量”的能力。他認(rèn)為“輕量”并不意味著產(chǎn)品是簡單的。舉個例子,Google內(nèi)部的IT非常龐大,但Google的IT系統(tǒng)是非常輕的,其PaaS應(yīng)用的較早且規(guī)模巨大,多年來幫助Google支撐企業(yè)業(yè)務(wù)應(yīng)用,并能夠?qū)崿F(xiàn)快速上線、應(yīng)用彈性伸縮。所以數(shù)人云借鑒了Google的這種理念,用開源的組件做一個輕量的PaaS產(chǎn)品,提供給傳統(tǒng)企業(yè),讓他們比較輕松地應(yīng)對互聯(lián)網(wǎng)業(yè)務(wù)上的需求。
提及數(shù)人云“輕量級”的優(yōu)勢,有以下幾句話可以概括:
第一是秒級擴(kuò)容。企業(yè)應(yīng)用數(shù)人云PaaS平臺,可以秒級拓展千個容器實例,輕松應(yīng)對高并發(fā)。第二是混跑多種應(yīng)用。數(shù)人云將Docker化容器應(yīng)用與Spark等大數(shù)據(jù)應(yīng)用混跑在同一集群,從而提高資源利用率。第三是支持混合云環(huán)境,包括公有云、私有云、混合云,同時支持物理機(jī)、虛擬機(jī)。第四是一鍵部署Spark、Hadoop分布式應(yīng)用。第五是簡化運(yùn)維,數(shù)人云PaaS統(tǒng)一監(jiān)控各種應(yīng)用和集群資源使用情況,簡化運(yùn)維管理。最后是保障高可用,一旦遇到宕機(jī)等問題,可以自動遷移故障服務(wù)器上的應(yīng)用實例,保障服務(wù)高可用。
企業(yè)PaaS化改造有理可循在Google里有這樣一種說法,你想把服務(wù)器當(dāng)寵物一樣對待,還是把服務(wù)器當(dāng)做牛一樣對待?當(dāng)寵物去對待,就要有專門的DBA去管理裝了數(shù)據(jù)庫的服務(wù)器,而當(dāng)服務(wù)器一旦宕機(jī),整個業(yè)務(wù)就會受到影響。這種方式對于服務(wù)器的后期維護(hù)要求是很高的。目前國內(nèi)絕大多數(shù)傳統(tǒng)企業(yè)都是這個類型,人圍著機(jī)器轉(zhuǎn),某個應(yīng)用出了問題就要找到對應(yīng)的服務(wù)器,誰是第一負(fù)責(zé)人,誰是第二負(fù)責(zé)人。這必然會把運(yùn)維的復(fù)雜度升高了,讓運(yùn)維人員的負(fù)擔(dān)很重,CIO也常常被看做是救火隊員。
另外一種就是像放牛場一樣,成百上千頭牛好似服務(wù)器集群,一兩頭牛病了不會影響整個放牛場的業(yè)務(wù)。Google就是以這種理念來管理數(shù)據(jù)中心的。“Google內(nèi)置了兩三百萬臺服務(wù)器,要是按照寵物型的方式,難以實現(xiàn)有效的管理。Google數(shù)據(jù)中心的服務(wù)器就像牛場一樣,運(yùn)維人員是不直接去管服務(wù)器的,而是圍著應(yīng)用、業(yè)務(wù)轉(zhuǎn),因為業(yè)務(wù)才是最重要的。因此在數(shù)人云的產(chǎn)品體系里,已經(jīng)開始淡化主機(jī)、服務(wù)器的概念,他們允許服務(wù)器出錯宕機(jī),這時數(shù)人云能做到自動把受影響的應(yīng)用在其他可用服務(wù)器上恢復(fù),從而保證業(yè)務(wù)的穩(wěn)定性和連續(xù)性。我們希望傳達(dá)給用戶這樣的理念,通過輕量級PaaS和容器讓用戶接受新的方式,摒棄傳統(tǒng)厚重的那套方法,輕松管理,簡單運(yùn)維。但現(xiàn)在這個理念還是培育期。企業(yè)也建立了雙模驅(qū)動的方式來應(yīng)對過渡時期。"
不可否認(rèn),新事物的出現(xiàn)一定會帶來正反兩個層面的影響,容器技術(shù)也如此。首先Docker缺少容器之間的高層次聯(lián)網(wǎng)功能。在大規(guī)模環(huán)境下,如果容器需要與不在同一個Docker主機(jī)上的其他容器聯(lián)系,這可能成為一個問題。同時相對于虛擬機(jī),Docker提供的隔離和安全機(jī)制較弱。Docker需要root權(quán)限才能正常運(yùn)行,而這意味著人為破壞的可能性很大。只要密碼被破解,主機(jī)上的所有容器就會跟著遭殃。此外還有存儲的問題,目前容器環(huán)境支持的存儲功能仍舊有限。
基于上述考慮,王璞建議傳統(tǒng)企業(yè)要盡可能的規(guī)避這些風(fēng)險。企業(yè)盡量在私有云環(huán)境中使用容器,網(wǎng)絡(luò)盡量不用基于容器的SDN,或是IaaS層面的SDN,或是物理網(wǎng)絡(luò),企業(yè)可只用負(fù)載均衡這種簡單的網(wǎng)絡(luò),因為這是經(jīng)過驗證的。此外,在數(shù)據(jù)層面企業(yè)盡量不用容器管理存儲相關(guān)的應(yīng)用,不要將數(shù)據(jù)庫裝在容器中,從而實現(xiàn)以己之長補(bǔ)己之短。
此外,評價一個平臺的成敗與否,根本的依據(jù)就是是否解決了用戶最本質(zhì)、最根源的需求。PaaS平臺技術(shù)門檻較高,即便做成,在用戶端能夠運(yùn)行與維護(hù)也比較困難。而為了實現(xiàn)最初的目標(biāo),數(shù)人云一直在平臺的開發(fā)、測試、落地實踐中努力著,用王璞的話說,數(shù)人云期望能讓自己的產(chǎn)品更加趨近于成熟,把后期運(yùn)維壓力降低。他清晰的認(rèn)知,云計算落地的這幾年中,傳統(tǒng)企業(yè)已經(jīng)開始逐步適應(yīng)IaaS,隨著去IOE的進(jìn)程,企業(yè)逐步進(jìn)行應(yīng)用改造,應(yīng)用逐步模塊化拆分遷移到虛擬機(jī)部署與運(yùn)行,但應(yīng)用改造是一個漫長的過程,從應(yīng)用端來說還沒有到達(dá)一下子PaaS化的程度。
向未來積累經(jīng)驗2016年,PaaS市場進(jìn)入一個全新階段,PaaS云服務(wù)將從開發(fā)者驅(qū)動轉(zhuǎn)向企業(yè)需求驅(qū)動。而與此同時幾乎所有領(lǐng)域的企業(yè)都在謀求技術(shù)創(chuàng)新和業(yè)務(wù)轉(zhuǎn)型。他們希望企業(yè)的IT人員無需關(guān)心IT基礎(chǔ)設(shè)施底層硬件、操作系統(tǒng)、中間件部署,網(wǎng)絡(luò),而只需要通過PaaS平臺提供服務(wù)化的中間件部件,且這些服務(wù)和中間件部件都是由PaaS平臺自動管理與運(yùn)維的。
而對于企業(yè)而言,在部署PaaS平臺的過程中,最關(guān)心的問題莫過于應(yīng)用的改造遷移與業(yè)務(wù)系統(tǒng)運(yùn)行穩(wěn)定性。我們看到,市場上有很多PaaS平臺公司不斷的去組合各種技術(shù),卻忽略或者閉口不談企業(yè)或者行業(yè)應(yīng)用的基本需求。與應(yīng)用結(jié)合這對平臺提供商的專業(yè)素養(yǎng)要求是非常高的。既要精通技術(shù),又要對企業(yè)或者行業(yè)的業(yè)務(wù)系統(tǒng)熟悉,這樣才能指導(dǎo)業(yè)務(wù)軟件的PaaS化改造。而改造之后,應(yīng)用的各種指標(biāo)與之前相比要有一個度量標(biāo)準(zhǔn),才能確保改造成功。此外,當(dāng)企業(yè)真正地完成了PaaS化改造,對于核心系統(tǒng)而言,一旦上線應(yīng)用,運(yùn)維就成為重中之重。除了PaaS平臺自身的運(yùn)維,還需要對業(yè)務(wù)系統(tǒng)進(jìn)行全方面的指標(biāo)展示。數(shù)人云在業(yè)務(wù)層面的積累還欠缺經(jīng)驗,但作為一家以技術(shù)驅(qū)動創(chuàng)新的企業(yè),他們正在摸索著金融行業(yè)的應(yīng)用場景和落地痛點,懷揣著一顆坐穿企業(yè)級PaaS平臺部署的心,一群人年輕人,沒有什么不可能。
技術(shù)的發(fā)展突飛猛進(jìn),但是我們不能承認(rèn)新一代PaaS已經(jīng)成熟了,但在企業(yè)部署層面,新一代PaaS平臺可以借助Docker實現(xiàn)從開發(fā)環(huán)境到PaaS平臺的無縫遷移,從里到外Docker都是得力幫手,可以說Docker已經(jīng)扎根新一代的PaaS平臺。
然而PaaS作為云計算的服務(wù)模式之一,其市場規(guī)模遠(yuǎn)遠(yuǎn)小于SaaS和IaaS,但當(dāng)這兩種模式在爆發(fā)期遇到瓶頸期后,用戶和企業(yè)終將回歸到PaaS,三者是相輔相成的。
不同云平臺所支撐的應(yīng)用有不同的特征。其中有些原因來自業(yè)務(wù)本身,還有些來自不同機(jī)構(gòu)的制度,比如企業(yè)、銀行和政府以及不同的隱私需求和性能需求,未來所以垂直領(lǐng)域的PaaS會更有機(jī)會。有調(diào)查顯示,未來一年有40%的潛在企業(yè)用戶有計劃部署PaaS平臺,那么我們可以肯定未來一到兩年將成為PaaS平臺部署的密集期,PaaS市場也將迎來高速發(fā)展。