【技術(shù)貼】云通訊PaaS平臺(tái)帶你認(rèn)識(shí)PaaS的10大價(jià)值
來(lái)源:原創(chuàng) 時(shí)間:2017-03-29 瀏覽:0 次
現(xiàn)在基于互聯(lián)網(wǎng)的、運(yùn)營(yíng)租用服務(wù)的PaaS是第一代PaaS,PaaS還會(huì)進(jìn)化到第二代。那時(shí)的PaaS將是更加標(biāo)準(zhǔn)化、私有云和混合云友好的PaaS,完全可用于企業(yè)IT系統(tǒng)的改造
云計(jì)算的時(shí)代,有太多的名詞涌現(xiàn),也有太多的概念被誤讀。PaaS(Platform as a Service,平臺(tái)即服務(wù))就是近來(lái)頻頻被提及的詞匯之一。什么是PaaS?PaaS能做什么?
在分析過(guò)業(yè)界那些公認(rèn)的、落地的PaaS(Force.com/Heroku,Google/App Engine,RightScale,Red Hat/OpenShift等)之后,您可能對(duì)PaaS有如下印象:
1. 這些PaaS在互聯(lián)網(wǎng)上提供某種開發(fā)技術(shù)的運(yùn)行環(huán)境,如PHP、Python、Ruby、Java。
2. 使用這些PaaS的開發(fā)人員不需要自行租用主機(jī)、申請(qǐng)域名、安裝操作系統(tǒng)、安裝數(shù)據(jù)庫(kù)和中間件.
3. 和互聯(lián)網(wǎng)IaaS一樣,使用這些PaaS,要么免費(fèi),要么按時(shí)間、訪問(wèn)量、存儲(chǔ)空間向用戶收取租金。
如果你在業(yè)界頗有資歷,可能會(huì)說(shuō)“這和十年前誕生的VPS比有什么進(jìn)步!不是新瓶裝舊酒是什么?”。而另一邊,那些著名咨詢機(jī)構(gòu)一直在為PaaS高唱贊歌:美林(Merrill Lynch)說(shuō)“PaaS幾年內(nèi)可能會(huì)產(chǎn)生260億美元的產(chǎn)業(yè)價(jià)值”,IDC預(yù)測(cè)“PaaS的爭(zhēng)斗中會(huì)造就另一個(gè)微軟”,難道都是忽悠?
這里我們來(lái)看看PaaS功能特性表象背后真正的精髓。特別的,我們不妨設(shè)想將PaaS理念從互聯(lián)網(wǎng)應(yīng)用“搬移”到企業(yè)應(yīng)用研發(fā)環(huán)境后的結(jié)果。實(shí)際上,數(shù)十年來(lái),形形色色的IT系統(tǒng)無(wú)非都在追求:成本控制、彈性、自動(dòng)化、標(biāo)準(zhǔn)化和敏捷等。讓我們看看PaaS帶來(lái)的10種價(jià)值,看看它是讓我們接近了這些理想,還是帶來(lái)了新的問(wèn)題。借此讀者也許對(duì)PaaS的印象會(huì)產(chǎn)生一些改變。
表面上看,Runtime Fast Provisioning的好處僅僅是開發(fā)人員不用去安裝運(yùn)行環(huán)境,如數(shù)據(jù)庫(kù)和中間件,節(jié)省的是學(xué)習(xí)成本和時(shí)間成本。事實(shí)上,為“標(biāo)準(zhǔn)化”帶來(lái)的好處更多。試想,每個(gè)人對(duì)如何配置好一個(gè)優(yōu)質(zhì)的生產(chǎn)環(huán)境的見解是不同的,即使同一個(gè)人重復(fù)大量的配置工作也不能保證前前后后的一致性。稍具規(guī)模的開發(fā)組織和運(yùn)維組織,多樣化、不受控的運(yùn)行環(huán)境對(duì)運(yùn)維體系帶來(lái)的挑戰(zhàn)是巨大的。您也許會(huì)擔(dān)心PaaS留給研發(fā)人員定制基礎(chǔ)架構(gòu)的途徑不充分,您也許會(huì)抱怨現(xiàn)在互聯(lián)網(wǎng)上PaaS的運(yùn)維功能不友好,但別忘記PaaS一直在批評(píng)中進(jìn)步,求取易用性和可定制性的平衡,這是主流廠商追求的方向和PaaS可以預(yù)期的目標(biāo)。
由于PaaS的多租戶特性,它的控制和管理一定是“網(wǎng)絡(luò)化”和“集中式”的。對(duì)于公有云的PaaS用戶,不一定能體會(huì)到集中統(tǒng)一管理帶來(lái)的好處。但當(dāng)我們最終將PaaS應(yīng)用在私有云和混合云環(huán)境中,集中統(tǒng)一管理的優(yōu)勢(shì)便凸顯無(wú)遺了。從前,管理層從開發(fā)和測(cè)試團(tuán)隊(duì)得到的信息總是“資源和環(huán)境不夠用”,對(duì)有些服務(wù)器“正在干什么?”或“參與過(guò)哪次集成測(cè)試?”,這類問(wèn)題有可能是沒(méi)人知道的。經(jīng)由私有PaaS的集中管控,研發(fā)和測(cè)試團(tuán)隊(duì)拿到資源的過(guò)程是快速的,而且對(duì)于管理者來(lái)說(shuō),使用情況是清晰的。管理員可以將用過(guò)的集成測(cè)試環(huán)境通過(guò)PaaS管理進(jìn)行完整歸檔、快速恢復(fù),減少對(duì)資源的長(zhǎng)期占有。CIO一定會(huì)對(duì)觸手可及的開發(fā)/運(yùn)維環(huán)境機(jī)制,以及細(xì)致的資源利用率監(jiān)測(cè)和充分利用愛(ài)不釋手。
PaaS為研發(fā)帶來(lái)的直接影響是,研發(fā)獲得的是一個(gè)標(biāo)準(zhǔn)化的,為企業(yè)定制的一套研發(fā)環(huán)境和技術(shù)路線。在私有的PaaS環(huán)境中,開發(fā)人員個(gè)體在一定程度上“喪失”了對(duì)編程語(yǔ)言、技術(shù)框架、第三方依賴包自由選擇的權(quán)力;與之對(duì)應(yīng),團(tuán)隊(duì)的管理者和咨詢師獲得了更強(qiáng)的對(duì)技術(shù)路線掌控的能力——所謂企業(yè)研發(fā)規(guī)范不再是一紙空文了。標(biāo)準(zhǔn)化、定制的研發(fā)環(huán)境帶來(lái)的并非是死板和不靈活,而是實(shí)實(shí)在在的效率提升,以及不可控風(fēng)險(xiǎn)的減少。隨著PaaS風(fēng)格研發(fā)環(huán)境的引入,研發(fā)“個(gè)人英雄主義”的時(shí)代將會(huì)過(guò)去,團(tuán)隊(duì)的每個(gè)成員都按照既定的“游戲規(guī)則”實(shí)現(xiàn)軟件功能,交付測(cè)試。同時(shí),由于技術(shù)路線的簡(jiǎn)單化和對(duì)第三方依賴的梳理和減少,對(duì)團(tuán)隊(duì)新成員的培訓(xùn)成本也會(huì)大幅度降低。
很多CIO、CTO發(fā)現(xiàn),“開源”的方向是企業(yè)應(yīng)用研發(fā)的雙刃劍。一方面,開源組件和開源基礎(chǔ)架構(gòu)很大程度上降低了構(gòu)建應(yīng)用所需的購(gòu)買成本;另一方面,開源組件和基礎(chǔ)架構(gòu)卻無(wú)形中增加了應(yīng)用的維護(hù)成本。開源軟件本身變化太快,缺乏很好的后向兼容與彼此兼容;開源軟件良莠不齊,成功選型過(guò)多依賴于開發(fā)人員和架構(gòu)師的經(jīng)驗(yàn)……。諸如此類問(wèn)題,讓項(xiàng)目經(jīng)理對(duì)開源始終抱著又愛(ài)又恨的態(tài)度。事實(shí)上,根據(jù)我們對(duì)PaaS的理解,PaaS實(shí)際上可以為開源在企業(yè)研發(fā)中合理的利用帶來(lái)正確的途徑。在PaaS中分析依賴,將研發(fā)環(huán)境實(shí)施標(biāo)準(zhǔn)化的過(guò)程,實(shí)際上也就是對(duì)開源技術(shù)進(jìn)行審視、梳理、選擇和測(cè)試的過(guò)程。同時(shí),很多PaaS解決方案的提供商,如Spring Source、CloudBees、CloudEra和Red Hat,也提供開源組件和基礎(chǔ)架構(gòu)企業(yè)化的咨詢。
企業(yè)IT決策者最為痛恨的是“廠商鎖定”。所謂“廠商鎖定”是指用戶對(duì)某廠商專有產(chǎn)品和私有解決方案過(guò)度依賴的狀況。廠商鎖定抹殺了了用戶選擇的自由度,使得供求主次關(guān)系倒掛。同時(shí),使用戶的IT發(fā)展路線受制于廠商的產(chǎn)品路線與商業(yè)利益,與“IT基于業(yè)務(wù)增長(zhǎng)而合理擴(kuò)張”的正確方向相悖。PaaS方式的應(yīng)用開發(fā)環(huán)境將會(huì)促成應(yīng)用之于特定廠商軟件技術(shù)(操作系統(tǒng)、中間件、數(shù)據(jù)庫(kù)、私有API)的解耦合。隨著一系列交互規(guī)范(包括云端API、數(shù)據(jù)操作接口以及Java EE接口規(guī)范)的不斷成熟,軟件基礎(chǔ)架構(gòu)的功能在PaaS平臺(tái)上將漸漸走向同質(zhì)化。由于可選擇性的增多,廠商從功能層面去鎖定用戶就變得不太可能了。用戶和研發(fā)組織能夠選擇標(biāo)準(zhǔn)化接口的基礎(chǔ)軟件去構(gòu)建應(yīng)用,然后部署在PaaS之上運(yùn)行。
PaaS環(huán)境下,開發(fā)人員對(duì)底層資源(內(nèi)存、進(jìn)程、文件、網(wǎng)絡(luò))的訪問(wèn)能力是受限的。操作系統(tǒng)虛擬化或共享操作系統(tǒng),無(wú)論采用何種途徑實(shí)現(xiàn)PaaS,租戶與租戶之間的相互安全隔離是PaaS平臺(tái)必須解決的問(wèn)題。在實(shí)現(xiàn)上,可能通過(guò)底層虛擬化或IaaS有關(guān)技術(shù)解決;也可能在多租戶共享操作系統(tǒng)的情況下,使用SELinux或cgroups等資源隔離技術(shù)解決。因此“安全性”是PaaS系統(tǒng)的固有特性。即使在PaaS建設(shè)初期缺乏安全性考慮,隨后也可以通過(guò)簡(jiǎn)單一致的技術(shù)手段將其統(tǒng)一解決。企業(yè)CSO(首席安全官)也許很早就認(rèn)識(shí)到,將操作系統(tǒng)和數(shù)據(jù)庫(kù)的底層權(quán)限開放給研發(fā)人員決不是一個(gè)好主意,但卻在項(xiàng)目與易用性需要的“殘酷現(xiàn)狀”下不得已而為之。有了PaaS與它先天提供的安全機(jī)制,針對(duì)開發(fā)人員的安全問(wèn)題便可找到很好的途徑解決。
SNA(Share Nothing Architecture)是高性能的互聯(lián)網(wǎng)應(yīng)用推崇的架構(gòu),基于SNA思想或REST風(fēng)格構(gòu)建的應(yīng)用,有非常好的水平擴(kuò)展特性。即應(yīng)用的處理能力可通過(guò)增加服務(wù)器實(shí)例來(lái)線性的擴(kuò)展,而不是靠增強(qiáng)單服務(wù)器的處理能力(CPU、內(nèi)存、網(wǎng)絡(luò)帶寬)來(lái)進(jìn)行有限的彌補(bǔ)。這樣的架構(gòu)風(fēng)格成就了在多個(gè)低廉硬件支撐下并發(fā)訪問(wèn)量達(dá)數(shù)千萬(wàn)的互聯(lián)網(wǎng)應(yīng)用。由于源自互聯(lián)網(wǎng)環(huán)境,PaaS環(huán)境下的很多基礎(chǔ)服務(wù)天生就是支持SNA和REST風(fēng)格的,例如數(shù)據(jù)網(wǎng)格、NoSQL、分布式文件系統(tǒng)等。依據(jù)這些基礎(chǔ)服務(wù),結(jié)合成熟的事務(wù)處理、分布式計(jì)算機(jī)制來(lái)構(gòu)建企業(yè)應(yīng)用,必將對(duì)傳統(tǒng)的企業(yè)應(yīng)用架構(gòu)產(chǎn)生積極變革,“企業(yè)級(jí)應(yīng)用=恐龍式的低性能應(yīng)用”的狀況會(huì)得到改變。價(jià)值8:智能負(fù)載均衡帶來(lái)的健壯性
PaaS的一個(gè)非常吸引人的特性便是“智能負(fù)載均衡”。在理想的PaaS環(huán)境中,在訪問(wèn)量變化時(shí)計(jì)算資源能自動(dòng)調(diào)節(jié),不需要人工干預(yù),并對(duì)最終用戶透明。負(fù)載均衡/集群?jiǎn)栴}往往是困擾運(yùn)維人員最主要的問(wèn)題之一,首先是容量規(guī)劃問(wèn)題,有趣的是,在現(xiàn)實(shí)項(xiàng)目中最終回答這個(gè)問(wèn)題的往往不是開發(fā)經(jīng)理或測(cè)試人員,而是預(yù)算本身;而后是架構(gòu)健壯性問(wèn)題,從技術(shù)的觀點(diǎn)來(lái)看,要同時(shí)做到高開發(fā)效率、高性能和高可靠性是比較困難的,甚至很多時(shí)候要實(shí)現(xiàn)這些目標(biāo)是彼此矛盾的,它給架構(gòu)師、開發(fā)人員和運(yùn)維人員都帶來(lái)了不小的挑戰(zhàn)。很多時(shí)候,一個(gè)“看起來(lái)很健壯”,或“理論上伸縮性很好”的系統(tǒng)卻經(jīng)不起實(shí)際生產(chǎn)環(huán)境的考驗(yàn)。而PaaS從基礎(chǔ)架構(gòu)的層面帶來(lái)了智能負(fù)載均衡和單點(diǎn)故障避免的最佳實(shí)踐,分擔(dān)了架構(gòu)設(shè)計(jì)人員的憂慮,讓他們更好地集中精力于業(yè)務(wù)實(shí)現(xiàn)本身。
“持續(xù)集成”和“自動(dòng)構(gòu)建”是重要的現(xiàn)代研發(fā)方法論,也是敏捷開發(fā)的精髓之一。而在企業(yè)的實(shí)際項(xiàng)目中,實(shí)現(xiàn)持續(xù)集成是有一定難度的,特別是在國(guó)內(nèi)。現(xiàn)有的很多PaaS平臺(tái)本身強(qiáng)制集成了持續(xù)集成的機(jī)制:開發(fā)人員的開發(fā)工作站僅僅是編寫代碼的場(chǎng)所,代碼需要經(jīng)由軟件配置管理工具(subversion或git)推送到PaaS云端進(jìn)行編譯、構(gòu)建、測(cè)試和發(fā)布;主流的PaaS平臺(tái)集成了對(duì)持續(xù)集成系統(tǒng)(例如hudson、jenkins、continuum)的支持?;谶@樣的機(jī)制,通過(guò)強(qiáng)制的流程和手段,先進(jìn)的軟件開發(fā)與管理理論得到應(yīng)用,軟件質(zhì)量和管理成熟度得到強(qiáng)制提高。項(xiàng)目經(jīng)理能夠每天看到自動(dòng)構(gòu)建的結(jié)果,從而了解到項(xiàng)目開發(fā)的真實(shí)進(jìn)度,審查到快速迭代成品對(duì)需求的符合程度,達(dá)到“快速期望驗(yàn)證”的效果。除此之外,借助公有PaaS或混合PaaS,項(xiàng)目經(jīng)理能夠以非常低的成本驗(yàn)證軟件產(chǎn)品的性能。他們可以在公有PaaS上快速租用上百個(gè)中間件和數(shù)據(jù)庫(kù)運(yùn)行實(shí)例,在幾天內(nèi)完成壓力測(cè)試后退還,因?yàn)樵赑aaS環(huán)境中完成這樣的任務(wù)花費(fèi)很低,甚至還不到購(gòu)買一臺(tái)物理服務(wù)器的成本。
PaaS給企業(yè)開發(fā)和運(yùn)維帶來(lái)的不止是技術(shù)和方法上的變化,更重要的是有關(guān)組織架構(gòu)和流程上的革新。傳統(tǒng)的IT組織中,一般分為“研發(fā)”和“運(yùn)維”兩個(gè)職責(zé)團(tuán)體?!把邪l(fā)”部門需要“運(yùn)維”部門提供的基礎(chǔ)架構(gòu)來(lái)支撐和體現(xiàn)其勞動(dòng)成果;而“運(yùn)維”部門需要“研發(fā)”創(chuàng)造出的應(yīng)用來(lái)實(shí)現(xiàn)業(yè)務(wù)價(jià)值。兩個(gè)團(tuán)體相互依賴,密不可分。但在現(xiàn)實(shí)中,這兩股力量往往是相互不滿、相互抱怨的——特別是在IT系統(tǒng)運(yùn)轉(zhuǎn)出現(xiàn)問(wèn)題,不能滿足服務(wù)質(zhì)量保證時(shí)。我們?cè)O(shè)想,在PaaS的環(huán)境中,“研發(fā)”能夠親自負(fù)責(zé)“運(yùn)行”生產(chǎn)環(huán)境,他們是應(yīng)用的實(shí)現(xiàn)者,最了解自己編制的代碼的特性,很多溝通的問(wèn)題和復(fù)雜的人員交互流程消耗就可以避免了。而“運(yùn)維”可以更加集中力量維護(hù)和擴(kuò)展PaaS平臺(tái)和IaaS平臺(tái)本身,在一個(gè)可控的工作范圍內(nèi)提升服務(wù)績(jī)效。新的人力分派和協(xié)作模式帶來(lái)的效率提升是可以預(yù)期的。
回顧信息技術(shù)發(fā)展的不平凡的數(shù)十年,互聯(lián)網(wǎng)計(jì)算環(huán)境和企業(yè)計(jì)算環(huán)境總是相互促進(jìn)的。其中有技術(shù)上的影響,有架構(gòu)上的影響,還包括最重要的對(duì)人的影響。所謂“云計(jì)算”,包括PaaS也蓋莫能外??梢哉J(rèn)為,現(xiàn)在基于互聯(lián)網(wǎng)的、運(yùn)營(yíng)租用服務(wù)的PaaS是第一代PaaS,是網(wǎng)絡(luò)大眾參與、改造、提煉、淘汰的一種研發(fā)模型。待之羽翼豐滿、優(yōu)勝劣汰后,將產(chǎn)生第二代PaaS。那時(shí)的PaaS將是更加標(biāo)準(zhǔn)化,私有云和混合云友好的PaaS,完全可用于企業(yè)IT系統(tǒng)的改造。第一代PaaS影響互聯(lián)網(wǎng)產(chǎn)業(yè),第二代PaaS會(huì)給企業(yè)應(yīng)用環(huán)境帶來(lái)變革,其價(jià)值觸動(dòng)每位IT決策者的神經(jīng)。