圖解架構(gòu) | SaaS、PaaS、IaaS
你好,我是悟空哥。
上次聊到了架構(gòu)圖如何畫,其中涉及到了云服務的架構(gòu)圖,里面提到了很重要的三個概念 PaaS、IaaS、SaaS,很有必要在這里總結(jié)一波。
本文內(nèi)容如下:
隨著互聯(lián)網(wǎng)行業(yè)的飛速發(fā)展,云服務也變得尤為重要,幾乎每個企業(yè)都需要使用云計算服務,來管理大量敏感和機密數(shù)據(jù),因此,在任何類型的企業(yè)中使用云服務都是不可避免的。
定義
這里我想到了一個比較通俗易懂的解釋:
SaaS:租的房子,只能住人和存放物品,不能修改房間的設(shè)施。
PaaS:買的精裝修房,可以布置一些家電(如電視機、空調(diào)等等)、墻上掛一些裝飾等等,俗稱軟裝。
IaaS:買來的毛坯房,可以自己裝修水電、安裝柜子,家電等等,俗稱硬裝。
一般而言,企業(yè)有三種云計算服務模式可以選擇.
- 軟件即服務(SaaS):這是一個完整的軟件應用程序,具有用戶界面;
- 平臺即服務(PaaS):開發(fā)人員可以在其中部署自己的應用程序的平臺;
- 基礎(chǔ)設(shè)施即服務(IaaS):提供機器、存儲和網(wǎng)絡資源,開發(fā)人員可以通過安裝自己的操作系統(tǒng)、應用程序和支持資源來管理。
IaaS
英文就是 Infrastructure-as-a-Service(基礎(chǔ)設(shè)施即服務)。
IaaS 提供給消費者的服務是對所有計算基礎(chǔ)設(shè)施的利用,包括處理 CPU、內(nèi)存、存儲、網(wǎng)絡和其它基本的計算資源,用戶能夠部署和運行任意軟件,包括操作系統(tǒng)和應用程序。
消費者不管理或控制任何云計算基礎(chǔ)設(shè)施,但能控制操作系統(tǒng)的選擇、存儲空間、部署的應用,也有可能獲得有限制的網(wǎng)絡組件(例如路由器、防火墻、負載均衡器等)的控制。
PaaS
英文就是 Platform-as-a-Service(平臺即服務)。
PaaS,某些時候也叫做中間件。就是把客戶采用提供的開發(fā)語言和工具(例如Java,python, .Net等)開發(fā)的或收購的應用程序部署到供應商的云計算基礎(chǔ)設(shè)施上去。
客戶不需要管理或控制底層的云基礎(chǔ)設(shè)施,包括網(wǎng)絡、服務器、操作系統(tǒng)、存儲等,但客戶能控制部署的應用程序,也可能控制運行應用程序的托管環(huán)境配置。
SaaS
英文就是 Software-as-a-Service(軟件即服務)
SaaS提供給客戶的服務是運行在云計算基礎(chǔ)設(shè)施上的應用程序,用戶可以在各種設(shè)備上通過客戶端界面訪問,如瀏覽器。
消費者不需要管理或控制任何云計算基礎(chǔ)設(shè)施,包括網(wǎng)絡、服務器、操作系統(tǒng)、存儲等等。
應用
IaaS
IaaS 會提供場外服務器,存儲和網(wǎng)絡硬件,你可以租用。節(jié)省了維護成本和辦公場地,公司可以在任何時候利用這些硬件來運行其應用。我們最熟悉的IaaS服務是我們服務器托管業(yè)務,多數(shù)的IDC都提供這樣的服務,用戶自己不想要再采購價格昂貴的服務器和磁盤陣列了,所有的硬件都由 IaaS 提供,你還能獲得品質(zhì)更高的網(wǎng)絡資源。
PaaS
PaaS 在網(wǎng)上提供各種開發(fā)和分發(fā)應用的解決方案,比如虛擬服務器和特定的操作系統(tǒng)。底層的平臺3/4幫你鋪建好了,你只需要開發(fā)自己的上層應用。這即節(jié)省了你在硬件上的費用,也讓各類應用的開發(fā)更加便捷,不同的工作互相打通也變得容易,因為在同一平臺上遵循的是同樣的編程語言、協(xié)議和底層代碼。
很多網(wǎng)頁應用,應用虛擬主機,存儲,安全以及應用開發(fā)協(xié)作工具等。我們最熟悉的 PaaS 平臺就有百度 BAE、新浪 SAE、阿里 Ali、騰訊云等等。很多電商平臺、視頻網(wǎng)站等都可以通過PaaS實現(xiàn)快速部署。
SaaS
SaaS 與我們普通使用者聯(lián)系可能是最直接的,簡單地說任何一個遠程服務器上的應用都可以通過網(wǎng)絡來運行,就是SaaS了。
我們最容易接觸到的是掛在網(wǎng)頁或微信上的各類小程序,比如H5的應用如火如荼,這些應用給了IT的門外漢實現(xiàn)自己愿望的機會。
國內(nèi)的互聯(lián)網(wǎng)巨頭竭力推薦的 SaaS 應用想必大家已經(jīng)耳熟能詳了,比如阿里的釘釘,騰訊的企業(yè)微信,這些軟件里面應用平臺上的可供使用的各類SaaS小軟件數(shù)不勝數(shù),從OA,到ERP到CRM等等,涵蓋了企業(yè)運行所需的幾乎所用應用。
原理
軟件即服務(SaaS)
軟件即服務(也稱為云應用程序服務)代表了云市場中企業(yè)最常用的選項。SaaS 利用互聯(lián)網(wǎng)向其用戶提供應用程序,這些應用程序由第三方供應商管理。大多數(shù) SaaS 應用程序直接通過 Web 瀏覽器運行,不需要在客戶端進行任何下載或安裝。
如下圖所示,數(shù)據(jù)信息由租戶自己管理,提供 SaaS 服務的企業(yè)會將應用軟件、平臺軟件、基礎(chǔ)設(shè)施都集成好,不需要租戶關(guān)心底層這些架構(gòu)。
SaaS 示意圖
平臺即服務(PaaS)
PaaS 的交付模式類似于 SaaS,除了通過互聯(lián)網(wǎng)提供軟件,PaaS 提供了一個軟件創(chuàng)建平臺。該平臺通過 Web 提供,使開發(fā)人員可以自由地專注于創(chuàng)建軟件,同時不必擔心操作系統(tǒng)、軟件更新,存儲或基礎(chǔ)架構(gòu)。PaaS 允許企業(yè)使用特殊的軟件組件設(shè)計和創(chuàng)建內(nèi)置于 PaaS 中的應用程序。由于具有某些云特性,這些應用程序或中間件具有可擴展性和高可用性。
PaaS 示意圖
基礎(chǔ)設(shè)施即服務(IaaS)
IaaS 通過虛擬化技術(shù)為組織提供云計算基礎(chǔ)架構(gòu),包括服務器、網(wǎng)絡,操作系統(tǒng)和存儲等。這些云服務器通常通過儀表盤或API提供給客戶端,IaaS 客戶端可以完全控制整個基礎(chǔ)架構(gòu)。IaaS 提供與傳統(tǒng)數(shù)據(jù)中心相同的技術(shù)和功能,而無需對其進行物理上的維護或管理。IaaS 客戶端仍然可以直接訪問其服務器和存儲,但它們都通過云中的“虛擬數(shù)據(jù)中心”。
與 SaaS 或 PaaS 相反,IaaS 客戶端負責管理應用程序、運行時、操作系統(tǒng),中間件和數(shù)據(jù)等方面。但是,IaaS 的提供商管理服務器、硬盤驅(qū)動器、網(wǎng)絡,虛擬化和存儲。一些提供商甚至在虛擬化層之外提供更多服務,例如數(shù)據(jù)庫或消息隊列。
IaaS 示意圖
每種云服務(IaaS,PaaS 和 SaaS)都是針對其目標受眾的業(yè)務需求量身定制的。從技術(shù)角度來看,IaaS 可以為你提供最大的控制權(quán),但需要廣泛的專業(yè)知識來管理計算基礎(chǔ)架構(gòu),而 SaaS 允許你使用基于云的應用程序而無需管理基礎(chǔ)架構(gòu),而 PaaS 提供了用于開發(fā),測試和管理應用程序的環(huán)境,因此,PaaS 是軟件開發(fā)公司的理想選擇。
綜上所述,IaaS,PaaS 和 SaaS,哪種云服務適合你?
現(xiàn)在該選擇所需的基于云的服務了,實際上,選擇完全取決于業(yè)務目標,因此首先要考慮自身的需求。