誰是開發(fā)者的夢中情人?PaaS與IaaS之爭
推薦者:怕冷的南瓜 (積分 27914) | 原作者:吳朱華
2
頂一下
收藏
前言
云計算主要有SaaS,PaaS和IaaS這三種服務模式。對普通用戶而言,他們主要面對的是SaaS這種服務模式,但是對普通的開發(fā)者而言,云計算對他們而言,卻有兩種服務模式可供選擇,PaaS和IaaS,而且這兩種模式有很多的不同,而且它們之間還存在一定程度的競爭,接下來將首先對這兩種模式進行比較,之后將預測一下它們的未來,也就是那種模式將會更受到開發(fā)者的親密。
比較
大家應該知道,PaaS的主要作用是將一個開發(fā)和運行平臺作為服務提供給用戶,而IaaS的主要作用是提供虛擬機或者其他資源作為服務提供給用戶。下面將在七個方面對PaaS和IaaS兩者進行比較:
開發(fā)環(huán)境
PaaS基本都會給開發(fā)者提供一整套包括IDE在內的開發(fā)和測試環(huán)境,而在IaaS方面用戶主要還是沿用之前那套開發(fā)環(huán)境,雖然比較熟悉,但是因為之前那套開發(fā)環(huán)境在與云的整合方面比較欠缺,所以有時候會很不方便,比如通過PaaS提供的工具部署一個應用到云上,可能只需幾下鼠標點擊和十多秒即可完成,而在IaaS平臺上部署應用,相對而言比較復雜,特別是在剛開始使用的時候。
支持的應用
因為IaaS主要是提供虛擬機,而且普通的虛擬機能支持多種基于X86架構的操作系統(tǒng),包括Linux、OpenBSD和Windows等,所以IaaS支持的應用的范圍是非常廣泛的。但如果要讓一個應用能跑在某個PaaS平臺不是一件輕松的事,因為不僅需要確保這個應用是基于這個平臺所支持的語言,而且也要確保這個應用只能調用這個平臺所支持的API,如果這個應用調用了平臺所不支持的API,那么就需要在部署之前,對這個應用進行修改。
開放標準
雖然很多IaaS平臺都存在一定的私有功能,但是由于OVF等協(xié)議的存在,使得IaaS在跨平臺和避免被供應商鎖定這兩面是穩(wěn)步前進的。而PaaS平臺的情況則不容樂觀,因為不論是Google的App Engine,還是Salesforce的Force.com都存在一定的私有API。
可伸縮性
PaaS平臺會自動調整資源來幫助運行于其上的應用更好地應對突發(fā)流量。而IaaS平臺則常需要開發(fā)人員手動對資源進行調整才能應對。
整合率和經濟性
PaaS平臺整合率是非常高,比如PaaS的代表Google App Engine能在一臺服務器上承載成千上萬的應用,而普通的IaaS平臺的整合率最多也不會超過100,而且普遍在10左右,使得IaaS的經濟性不如PaaS。
計費和監(jiān)管
因為PaaS平臺在計費和監(jiān)管這兩方面不僅達到了IaaS平臺所能企及的操作系統(tǒng)層面,比如,CPU和內存的使用量等,而且還能做到應用層面,比如,應用的反應時間(Response Time)或者應用調用某個服務的次數等,這將提高計費和管理的精確性。
學習難度
對于那些熟悉類UNIX系統(tǒng)的程序員而言,能很快學習在IaaS的開發(fā)和管理應用的方式,雖然現在IaaS產品普遍對Windows開發(fā)環(huán)境沒有很好的支持,而如果要學會PaaS上面開發(fā)則有可能需要學一門新的語言或者新的框架,所以IaaS學習難度更低。
下面將通過一張表來總結一下上面的比較:
表1. PaaS和IaaS之間的比較
未來的競爭
在當今云計算環(huán)境當中,IaaS是非常主流的,無論是Amazon EC2還是Linode或者Joyent等,都占有一席之地,但是隨著Google的App Engine,Salesforce的Force.com還是微軟的Windows Azure等PaaS平臺的推出,使得PaaS也開始嶄露頭角。談到這兩者的未來,特別是這兩者之間的競爭關系,我個人認為,短期而言,因為IaaS模式在支持的應用和學習難度這兩方面的優(yōu)勢,使得IaaS將會在短期之內會成為開發(fā)者的首選,但是從長期而言,如果PaaS能解決諸如通用性和支持的應用等方面的挑戰(zhàn),PaaS模式會因為其高整合率所帶來經濟性從而替代IaaS成為開發(fā)者的“新寵”。
本站僅提供存儲服務,所有內容均由用戶發(fā)布,如發(fā)現有害或侵權內容,請
點擊舉報。