雲計算架構圖

1、雲計算是什麼?
雲計算(cloud computing)是基於互聯網的相關服務的增加、使用和交付模式,通常涉及通過互聯網來提供動態易擴展且經常是虛擬化的資源。雲是網絡、互聯網的一種比喻說法。雲計算甚至可以讓你體驗每秒10萬億次的運算能力,擁有這麼強大的計算能力可以模擬核爆炸、預測氣候變化和市場發展趨勢。用戶通過電腦、筆記本、手機等方式接入數據中心,按自己的需求進行運算。
通俗的來說雲計算就是以前的服務器計算的升級版,其主要有擴展性強、廉價、虛擬化、計算能力強這幾個特點。
2、IaaS是什麼意思?
IaaS:
Infrastructure-as-a-Service(基礎設施即服務)
第一層叫做IaaS,有時候也叫做Hardware-as-a-Service。
幾年前如果你想在辦公室或者公司的網站上運行一些企業應用,你需要去買服務器,或者別的高昂的硬件來控制本地應用,讓你的業務運行起來。
但是現在有了IaaS,你可以將硬件外包到別的地方去。IaaS公司會提供場外服務器,存儲和網絡硬件,你可以租用。節省了維護成本和辦公場地,公司可以在任何時候利用這些硬件來運行其應用。
一些大的IaaS公司包括Amazon, Microsoft, VMWare, Rackspace和Red Hat.不過這些公司又都有自己的專長,比如Amazon和微軟給你提供的不只是IaaS,他們還會將其計算能力出租給你來host你的網站。
3、PaaS是什麼意思?
PaaS: Platform-as-a-Service(平台即服務)
第二層就是所謂的PaaS,某些時候也叫做中間件。你公司所有的開發都可以在這一層進行,節省了時間和資源。
PaaS公司在網上提供各種開發和分發應用的解決方案,比如虛擬服務器和操作系統。這節省了你在硬件上的費用,也讓分散的工作室之間的合作變得更加容易。網頁應用管理,應用設計,應用虛擬主機,存儲,安全以及應用開發協作工具等。
一些大的PaaS提供者有Google App Engine,Microsoft Azure,Force.com,Heroku,Engine Yard。最近興起的公司有AppFog, Mendix 和 Standing Cloud
4、SaaS是什麼意思?
SaaS: Software-as-a-Service(軟件即服務)
第三層也就是所謂SaaS。這一層是和你的生活每天接觸的一層,大多是通過網頁瀏覽器來接入。任何一個遠程服務器上的應用都可以通過網絡來運行,就是SaaS了。
你消費的服務完全是從網頁如Netflix, MOG, Google Apps, Box.net, Dropbox或者蘋果的iCloud那裡進入這些分類。儘管這些網頁服務是用作商務和娛樂或者兩者都有,但這也算是雲技術的一部分。
一些用作商務的SaaS應用包括Citrix的GoToMeeting,Cisco的WebEx,Salesforce的CRM,ADP,Workday和SuccessFactors。
目前三者的發展情況都不錯,三者之間也有着較為密切的聯繫,其中IaaS是基礎層、PaaS是平台層的,而SaaS是軟件層的。
近年來隨着團隊協作的深入發展,CaaS、MaaS也不斷的進入人們的視野,那CaaS、MaaS又是什麼意思呢?
根據現在最常用,也是比較權威的NIST(National Institute of Standards and Technology,美國國家標準技術研究院)定義,雲計算主要分為三種服務模式,而且這個三層的分法重要是從用戶體驗的角度出發的:
Software as a Service,軟件即服務,簡稱SaaS,這層的作用是將應用作為服務提供給客戶。
Platform as a Service,平台即服務,簡稱PaaS,這層的作用是將一個開發平台作為服務提供給用戶。
Infrastructure as a Service, 基礎設施即服務,簡稱IaaS,這層的作用是提供虛擬機或者其他資源作為服務提供給用戶。

5、三種模式之間的關係
它們之間的關係主要可以從兩個角度進行分析:其一是用戶體驗角度,從這個角度而言,它們之間關係是獨立的,因為它們面對不同類型的用戶。其二是技術角度,從這個角度而言,它們並不是簡單的繼承關係(SaaS基於PaaS,而PaaS基於IaaS),因為首先SaaS可以是基於PaaS或者直接部署於IaaS之上,其次PaaS可以構建於IaaS之上,也可以直接構建在物理資源之上。
6、Iaas和Paas之間的比較
PaaS的主要作用是將一個開發和運行平台作為服務提供給用戶,而IaaS的主要作用是提供虛擬機或者其他資源作為服務提供給用戶。接下來,將在七個方面對PaaS和IaaS進行比較:
1) 開發環境:PaaS基本都會給開發者提供一整套包括IDE在內的開發和測試環境,而IaaS方面用戶主要還是沿用之前比較熟悉那套開發環境,但是因為之前那套開發環境在和雲的整合方面比較欠缺,所以使用起來不是很方便。
2) 支持的應用:因為IaaS主要是提供虛擬機,而且普通的虛擬機能支持多種操作系統,所以IaaS支持的應用的範圍是非常廣泛的。但如果要讓一個應用能跑在某個PaaS平台不是一件輕鬆的事,因為不僅需要確保這個應用是基於這個平台所支持的語言,而且也要確保這個應用只能調用這個平台所支持的API,如果這個應用調用了平台所不支持的API,那麼就需要對這個應用進行修改。
3) 開放標準:雖然很多IaaS平台都存在一定的私有功能,但是由於OVF等協議的存在,使得IaaS在跨平台和避免被供應商鎖定這兩面是穩步前進的。而PaaS平台的情況則不容樂觀,因為不論是Google的App Engine,還是Salesforce的Force.com都存在一定的私有API。
4) 可伸縮性:PaaS平台會自動調整資源來幫助運行於其上的應用更好地應對突發流量。而IaaS平台則需要開發人員手動對資源進行調整才能應對。
5) 整合率和經濟性: PaaS平台整合率是非常高,比如PaaS的代表Google App Engine能在一台服務器上承載成千上萬的應用,而普通的IaaS平台的整合率最多也不會超過100,而且普遍在10左右,使得IaaS的經濟性不如PaaS。
6) 計費和監管:因為PaaS平台在計費和監管這兩方面不僅達到了IaaS平台所能企及的操作系統層面,比如,CPU和內存的使用量等,而且還能做到應用層面,比如,應用的反應時間(Response Time)或者應用所消耗的事務多少等,這將提高計費和管理的精確性。
7) 學習難度:因為在IaaS上面開發和管理應用和現有的方式比較接近,而PaaS上面開發則有可能需要學一門新的語言或者新的框架,所以IaaS學習難度更低。
PaaSIaaS開發環境完善普通支持的應用有限廣通用性欠缺稍好可伸縮性自動伸縮手動伸縮整合率和經濟性高整合率,更經濟低整合率計費和監管精細簡單學習難度略難低

PaaS和IaaS之間的比較
總結:
在當今雲計算環境當中,IaaS是非常主流的,無論是Amazon EC2還是Linode或者Joyent等,都佔有一席之地,但是隨着Google的App Engine,Salesforce的Force.com還是微軟的Windows Azure等PaaS平台的推出,使得PaaS也開始嶄露頭角。談到這兩者的未來,特別是這兩者之間的競爭關係,我個人認為,短期而言,因為IaaS模式在支持的應用和學習難度這兩方面的優勢,使得IaaS將會在短期之內會成為開發者的首選,但是從長期而言,因為PaaS模式的高整合率所帶來經濟型使得如果PaaS能解決諸如通用性和支持的應用等方面的挑戰,它將會替代IaaS成為開發者的“新寵”。
原創文章,作者:投稿專員,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/311674.html