PaaS服务之路漫谈(一)
網(wǎng)易杭州研究院·堯飄海
本文作于2015年2月
1983年,SUN公司提出的網(wǎng)絡(luò)即計(jì)算的理念;2006年亞馬遜(Amazon)推出彈性計(jì)算云(Elastic Compute Cloud;EC2)服務(wù),云計(jì)算可以認(rèn)為包括以下幾個(gè)層次的服務(wù):基礎(chǔ)設(shè)施即服務(wù)(IaaS),平臺(tái)即服務(wù)(PaaS)和軟件即服務(wù)(SaaS)。
網(wǎng)易目前也在云計(jì)算等各層次里進(jìn)行了較長(zhǎng)的時(shí)間的投入和研發(fā)并應(yīng)用在公司內(nèi)外的各產(chǎn)品中,云計(jì)算相關(guān)的技術(shù)也得到了較好的論證。
本系列三篇文章將主要對(duì)PaaS進(jìn)行相關(guān)探討。
PaaS(Platform-as-a-Service:平臺(tái)即服務(wù)),較早期把服務(wù)器平臺(tái)作為一種服務(wù)提供的商業(yè)模式,隨著云計(jì)算時(shí)代的發(fā)展和成熟逐漸把部署環(huán)境、測(cè)試環(huán)境、甚至開發(fā)環(huán)境也當(dāng)著一種服務(wù)來(lái)進(jìn)行提供,并最終以SaaS的模式提交給用戶。
PaaS也可以看成是SaaS模式的一種應(yīng)用。SaaS的概念的提出非常早,根據(jù)相關(guān)文獻(xiàn)和參考,理論上出現(xiàn)的時(shí)間在1998年或更早些,最早出現(xiàn)在歐美等發(fā)達(dá)國(guó)家。但最初的思想和現(xiàn)在發(fā)展的結(jié)果有相當(dāng)大的不同,不再是單純應(yīng)用的服務(wù)提供了。
PaaS服務(wù)類似于IaaS也可以分為公有云PaaS平臺(tái)和企業(yè)級(jí)PaaS平臺(tái)。最早從事公有云的PaaS平臺(tái),如Google App Engine和Amazon Beanstalk,但是這二種類型的應(yīng)用到國(guó)內(nèi)都發(fā)展不是很好,特別是在國(guó)內(nèi)GAE被墻,更是使用得其在國(guó)內(nèi)基本上屬于曇花一現(xiàn),從后來(lái)Google的IaaS的轉(zhuǎn)變路線也可以大概看到其發(fā)展也不是很好,很多只是當(dāng)做試驗(yàn)的玩具而已,一方面是由于安全問(wèn)題采用的沙箱機(jī)制使得開發(fā)人員施展能力受到相當(dāng)大的限制,另一方面整個(gè)生態(tài)圈沒(méi)有成熟,導(dǎo)致其他的云基礎(chǔ)服務(wù)跟隨不上,比如自動(dòng)化的路由,負(fù)載均衡等技術(shù)。
在2007年左右,隨著大規(guī)模互聯(lián)網(wǎng)應(yīng)用的快速成長(zhǎng)和虛擬化技術(shù)的發(fā)展,PaaS促進(jìn)了SaaS的快速發(fā)展。眾多國(guó)內(nèi)外廠商推出了自己的PaaS服務(wù)平臺(tái),國(guó)外包括 AMAZON, Google, SALEFORCES, CF等十大服務(wù)商,國(guó)內(nèi)也最早的也包括SAE,BAE到后面的阿里云等。
PaaS服務(wù)開始的時(shí)間到今年也有8年左右的時(shí)間了,中國(guó)的抗日戰(zhàn)爭(zhēng)打了八年也結(jié)束了,盡管在國(guó)外有不少看似蠻紅火的服務(wù)商,但是從國(guó)內(nèi)從實(shí)際使用效果和真正推廣的應(yīng)用的情況來(lái)看,發(fā)展的不是特別理想,沒(méi)有達(dá)到之前概念的預(yù)期發(fā)展。究竟其原因可能是多方面的,有技術(shù)方面的限制,也有產(chǎn)品化或開發(fā)人員對(duì)新概念接收度等非技術(shù)的原因。
近二年來(lái),國(guó)內(nèi)外又出新一批的PaaS服務(wù)創(chuàng)業(yè)公司,主要人員大部分是從第一批做PaaS服務(wù)平臺(tái)的人員出來(lái)的創(chuàng)業(yè)的,比如DOTCLOUD,DEIS,國(guó)內(nèi)的NICESCALE等公司,這些公司能不能很好的發(fā)展,現(xiàn)在還不好說(shuō),至少?gòu)哪壳暗陌l(fā)展趨勢(shì)來(lái)看,進(jìn)入的門檻越來(lái)截低了,這些或許是得益于容器和虛擬化技術(shù)的發(fā)展。
網(wǎng)易目前也在致力這方面的探索和建設(shè),從各服務(wù)的創(chuàng)業(yè)公司如春筍般新起和發(fā)展,大部分還是聚集在小型應(yīng)用的基礎(chǔ)上,對(duì)于中大型的應(yīng)用,包括在一些大公司也只是剛剛開始著手構(gòu)建,終究原因從技術(shù)方面來(lái)看大概有以下幾種原因:
容器技術(shù)確定能帶來(lái)些好處,但是這種好處對(duì)于相對(duì)成熟穩(wěn)定保守的公司來(lái)說(shuō)還不足以能夠撼動(dòng)其短處,使其能快速轉(zhuǎn)頭換向全力投入其懷抱。
技術(shù)儲(chǔ)備,或者說(shuō)跟風(fēng)也好,追潮流也行,特別是小公司,由于成本較低,因此先試試水,看看是不是真的有紅利或者做點(diǎn)什么,至少也得追上技術(shù)的發(fā)展趨勢(shì)。
實(shí)際的痛處,就是那些真正接受過(guò)鳳凰涅盤,想浴火重生的人,比如開發(fā)人員,測(cè)試人員和運(yùn)維人員,在經(jīng)過(guò)版本不一致,庫(kù)依賴不同,環(huán)境不一致等帶來(lái)的低效或依賴的人,希望能把精力放在解決各自專業(yè)的問(wèn)題。
分久必合,合久必分:業(yè)務(wù)從小規(guī)模的起步到后來(lái)的大規(guī)模發(fā)展,應(yīng)用的開發(fā),測(cè)試和部署越來(lái)越復(fù)雜,依賴的服務(wù)越來(lái)越發(fā)多,最后變成相互抱怨,因此架構(gòu)的演變也會(huì)隨著這個(gè)趨勢(shì)來(lái)發(fā)展。
OS
整個(gè)計(jì)算的行業(yè)的發(fā)展也經(jīng)過(guò)不同的發(fā)展,從最早有代表性的人月神話的作者所帶領(lǐng)的IBM的大型系統(tǒng)的開發(fā)到單機(jī)系統(tǒng),再到虛擬機(jī)及容器技術(shù)成熟,無(wú)一不是從之前的一個(gè)很大的一塊細(xì)分成小小的一塊。
CGI
WEB技術(shù)的應(yīng)用發(fā)展也有相似的經(jīng)歷。在Web應(yīng)用程序開發(fā)的早期,大部分應(yīng)用程序通常使用Common Gateway Interface(CGI)建立,包括前幾年的QQ里面的很多系統(tǒng)還是采用C類語(yǔ)言實(shí)現(xiàn)的CGI-BIN來(lái)完成,每個(gè)請(qǐng)求采用一個(gè)進(jìn)程來(lái)處理,當(dāng)時(shí)的Apache服務(wù)也是整個(gè)最流行的網(wǎng)絡(luò)服務(wù)器之一。
ASP和JSP
CGI技術(shù)帶來(lái)的維護(hù)和性能的問(wèn)題后來(lái)變得越來(lái)越嚴(yán)重,所有的代碼都是混在一起的,甚至HTML的輸出也是在業(yè)務(wù)代碼里面嵌入的,業(yè)務(wù)上的擴(kuò)展變成十分艱難。因此,WEB程序開發(fā)中的下一個(gè)階段中衍生了“server pages”技術(shù),比如ASP和JSP等語(yǔ)言,它們很好的實(shí)現(xiàn)應(yīng)用程序邏輯代碼與視圖代碼被很好的分離,加上設(shè)計(jì)模式得以快速演變,各層分工的越來(lái)越明細(xì),職責(zé)也越來(lái)越明確。
MVC
因此在較短的時(shí)間內(nèi)發(fā)展成了Model-View-Controller(MVC)的開發(fā)模式,包括現(xiàn)在大部分的中小型應(yīng)用還是按采這樣模式來(lái)開發(fā),Controller層主要負(fù)責(zé)各業(yè)務(wù)的路由,調(diào)用相關(guān)的實(shí)現(xiàn)方法,通過(guò)MODEL的業(yè)務(wù)數(shù)據(jù)作為輸入,最后產(chǎn)出View的輸出,用來(lái)顯示相關(guān)的視圖,在這種模式下,業(yè)務(wù)數(shù)據(jù)、應(yīng)用程序、視圖邏輯被很好的分離。
SOA
目前在大部分應(yīng)用中還會(huì)把Controller再進(jìn)一步的細(xì)分成服務(wù)層或數(shù)據(jù)操作層。各服務(wù)之間的調(diào)用可以通過(guò)RPC或REST的風(fēng)格進(jìn)行調(diào)用,實(shí)現(xiàn)類似的SOA的服務(wù)架構(gòu),各服務(wù)層只需要通過(guò)相關(guān)的接口,相互間是松散和解耦,即實(shí)現(xiàn)了數(shù)據(jù)依賴與交互,又消除了代碼庫(kù)共享的依賴性。
從公司內(nèi)各產(chǎn)品的發(fā)展趨勢(shì)來(lái)看,各種不同的產(chǎn)品在不同的規(guī)模和階段采用不同的架構(gòu)模式來(lái)組組織和運(yùn)行,但是隨著應(yīng)用的訪問(wèn)量的快速發(fā)展,產(chǎn)品正在朝著合久必分的趨勢(shì)來(lái)發(fā)展,逐步形成了服務(wù)化的架構(gòu)思想。
下期預(yù)告
下期《PaaS服務(wù)之路漫談(二)》將為大家繼續(xù)分析產(chǎn)品的不同架構(gòu)模式:整塊架構(gòu)和服務(wù)化架構(gòu)。敬請(qǐng)關(guān)注。
「
推薦閱讀
」
﹀
﹀
﹀
為什么網(wǎng)易在2016年大舉進(jìn)軍云計(jì)算?
網(wǎng)易云信∣真正穩(wěn)定的IM云服務(wù)
ID:neteaseim ?長(zhǎng)按識(shí)別,關(guān)注精彩
總結(jié)
以上是生活随笔為你收集整理的PaaS服务之路漫谈(一)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 我们可以写100%,但是这样不科学
- 下一篇: 【易创课堂】第4期深圳开讲,还有大包好礼