2021-01-27 分類: 網(wǎng)站建設(shè)
——saas(軟件即服務(wù))平臺架構(gòu)設(shè)計(jì)指南
1、介紹
從計(jì)算機(jī)誕生開始,就伴隨著計(jì)算機(jī)應(yīng)用程序的演變。簡短的回顧歷史,我們可以清楚的看到應(yīng)用程序發(fā)生的巨大變化。上世紀(jì)70年代中期,隨著個人PC機(jī)的爆炸式增長以及程序員的崛起,讓計(jì)算機(jī)的計(jì)算能力得到了大跨越的提升,個人PC機(jī)上可以運(yùn)行非常復(fù)雜的應(yīng)用程序。
進(jìn)入上世紀(jì)80年代,隨著Bulletin Board System(簡稱:BBS)電子公告板系統(tǒng)的興起,它可以為廣大PC機(jī)用戶提供基本的在線服務(wù),如在線聊天、電子郵件、消息發(fā)送和文件下載。由于受到那個時代計(jì)算機(jī)網(wǎng)絡(luò)傳輸速度的限制,在線服務(wù)的響應(yīng)速度慢,交互體驗(yàn)差是大的通病。
進(jìn)入90年代中后期,隨著萬維網(wǎng)的出現(xiàn),計(jì)算機(jī)的計(jì)算能開始進(jìn)入快速提升階段,加之網(wǎng)絡(luò)基礎(chǔ)設(shè)施的持續(xù)完善,計(jì)算機(jī)網(wǎng)絡(luò)技術(shù)也隨之發(fā)展起來,這讓W(xué)eb網(wǎng)站可以提供功能多元化和更為復(fù)雜的在線服務(wù),直到今天,我們所看到的互聯(lián)網(wǎng)(或云)開發(fā)的在線服務(wù)應(yīng)用程序。
在這段計(jì)算機(jī)技術(shù)快速成長的時間里,計(jì)算機(jī)軟件到底發(fā)生了哪些變化?從歷史的發(fā)展中,我們可以看到,應(yīng)用程序本身沒有發(fā)生本質(zhì)的變化(程序=數(shù)據(jù)結(jié)構(gòu)+算法),變化的是軟件的供需方式發(fā)生了改變?,F(xiàn)在,應(yīng)用程序消費(fèi)者不需要再在他們的PC機(jī)上下載和安裝特定的應(yīng)用程序,即可獲得軟件所提供的計(jì)算服務(wù)。在云計(jì)算技術(shù)的支持下,消費(fèi)者(企業(yè)或個人)只需要使用Web工具(瀏覽器)訪問并登錄軟件提供商的Web系統(tǒng),通過簡單的配置,就可以獲得自己所需應(yīng)用程序服務(wù)。這種通過網(wǎng)絡(luò)即可使用軟件的服務(wù),即使saas(軟件即服務(wù))。
圖 1-1 2015中國saas生態(tài)
在本篇文章中,我們將著重介紹saas架構(gòu)設(shè)計(jì),并圍繞WHAT(是什么?)、WHY(為什么?)、WHERE(在哪里?)和HOW(怎么樣?)這四個問題,對以下的幾點(diǎn)進(jìn)行闡述:
圖 1-2 文章結(jié)構(gòu)
2、什么是saas平臺?
圖 2-1 saas組成結(jié)構(gòu)
在你決定實(shí)施saas品臺架構(gòu)設(shè)計(jì)前,你有必要先了解saas平臺是什么。從宏觀的角度來看,saas是一種軟件應(yīng)用程序交付方式,軟件提供商集中化托管一個或多個軟件應(yīng)用程序,并通過互聯(lián)網(wǎng)向租戶體用這些軟件應(yīng)用程序。從分類上看,saas(軟件即服務(wù))也是云計(jì)算重要的一部分。目前國內(nèi)主流的云服務(wù)提供商如阿里云、百度云、騰訊云等,為廣大用戶提供了不同業(yè)務(wù)需求的云服務(wù),它們大致可以分為以下幾類:
saas應(yīng)用程序的任何更新或者修復(fù)漏洞操作都是由軟件提供商負(fù)責(zé)實(shí)施和處理的,由于租戶是通過互聯(lián)網(wǎng)獲取軟件服務(wù),所以租戶端無需下載任何的升級包或者修復(fù)補(bǔ)丁,是一種開箱即獲取最新軟件產(chǎn)品的服務(wù)方式。
通過對什么是saas的介紹,接下來,我們了解一下選擇saas作為軟件架構(gòu)來設(shè)計(jì)產(chǎn)品的一些理由。
3、為什么選擇saas?
我們將從不同的角度來闡述幾個為什么選擇saas的理由。透過對這些因素的分析,為你是否需要將自己的軟件saas化提供一定的參考依據(jù)。
3.1、消費(fèi)者角度
獲取軟件服務(wù)的方式足夠簡單,saas也許是迄今為止使用軟件最簡單的方式之一,租戶只需要動動鼠標(biāo)和鍵盤,即可在幾小時甚至幾分鐘內(nèi)獲得一個大型的軟件服務(wù)。相比于傳統(tǒng)使用軟件的方式,租戶省去了研發(fā)、部署、運(yùn)維等一系列繁復(fù)的過程,且獲得軟件的時間和費(fèi)用成本都大幅度降低。
3.2、商業(yè)角度
saas可以體用跨地域、跨平臺的軟件服務(wù)。與此同時,軟件服務(wù)商可以統(tǒng)一對軟件進(jìn)行版本管理,這將帶來以下幾點(diǎn)好處(包括但不限于):
4、saas的特性和優(yōu)勢
我們將saas應(yīng)用程序與傳統(tǒng)的桌面應(yīng)用程序做一個水平的對比,部署一個saas產(chǎn)品將可以獲得以下的幾點(diǎn)優(yōu)勢。
4.1、簡單
saas化的產(chǎn)品通過互聯(lián)網(wǎng)向租戶提供軟件服務(wù),隨著Web技術(shù)(如jQuery、Node.js)的進(jìn)步,Web頁面的交互體驗(yàn)度大幅度提升,交互更流暢、更人性化。與傳統(tǒng)的桌面應(yīng)用程序的人機(jī)交互效果相差無幾。
4.2、經(jīng)濟(jì)實(shí)惠
saas化產(chǎn)品可以為租戶提供彈性的付費(fèi)方案,如按日、按月、按年、按使用人數(shù)或者按使用量進(jìn)行計(jì)費(fèi),它將給租戶提供更經(jīng)濟(jì)的使用軟件的財(cái)務(wù)預(yù)算表。
4.3、安全
使用saas產(chǎn)品無需擔(dān)心數(shù)據(jù)安全問題,這好比將錢存入銀行一樣安全。相較于企業(yè)內(nèi)部部署的軟件系統(tǒng)而言,saas產(chǎn)品具備更高的安全保障能力,因?yàn)檐浖峁┥叹哂懈嘬浖踩雷o(hù)的技術(shù)資源、人力資源和財(cái)政資源。
4.4、兼容性
與傳統(tǒng)軟件相比、saas軟件的兼容性更好,它沒有傳統(tǒng)軟件的多本版維護(hù)問題和操作系統(tǒng)兼容問題。在saas軟件中,租戶用戶在使用軟件的過程中,幾乎上感覺不到軟件發(fā)生了改變。當(dāng)租戶用戶登錄到系統(tǒng)上時,就已經(jīng)獲得了最新版本的軟件。
5、saas軟件的適用范圍
saas產(chǎn)品具有廣泛的適應(yīng)范圍,特別是與其他云產(chǎn)品(如IaaS(基礎(chǔ)設(shè)施即服務(wù))和PaaS(平臺即服務(wù)))配合使用時這種能力表現(xiàn)尤為突出,例如阿里云之類的云計(jì)算技術(shù)允許你配置可托管的Web站點(diǎn)、數(shù)據(jù)庫服務(wù)器等。你只需要打開瀏覽器并登錄到阿里云控制臺,通過操作對應(yīng)的控制面板,即可獲得相關(guān)的軟件服務(wù)。
從理論上講,saas可以將任何的軟件saas,下面列舉一些通用的分類供大家參考:
6、saas產(chǎn)品的天生缺陷
圖 6-1 saas產(chǎn)品的缺點(diǎn)
從上圖我們可以直觀的看到,saas產(chǎn)品與生俱來的幾個缺陷,接下來我們將逐一進(jìn)行描述。
6.1、軟件控制權(quán)
與企業(yè)內(nèi)部部署的軟件不同,由于saas軟件被擊中托管在服務(wù)提供商的Web服務(wù)器中,所以租戶無法控制所有的軟件應(yīng)用程序,saas化的軟件比企業(yè)自行部署的軟件獲得的控制權(quán)更少,租戶可操作的自定義控制權(quán)極度有限。
6.2、消費(fèi)者基數(shù)小
由于saas軟件是將一套應(yīng)用程序共享給一個或者多個租戶共同使用,這種共享的消費(fèi)方式還未被大多數(shù)的消費(fèi)者所接受。同時,受制于市場環(huán)境的影響,目前還有大多數(shù)的軟件還未saas化。
6.3、性能瓶頸
共享應(yīng)用程序必然會帶來服務(wù)器性能的下降、如計(jì)算速度、網(wǎng)絡(luò)資源、I/O讀寫等都將面臨嚴(yán)峻的考驗(yàn)。在性能方面,企業(yè)內(nèi)部部署的“獨(dú)享模式”的應(yīng)用程序比saas軟件的“共享模式”略勝一籌。
6.4、安全問題
當(dāng)租戶在選擇一款saas產(chǎn)品時,產(chǎn)品的安全性將會被放置在第一位進(jìn)行考慮。如數(shù)據(jù)的隔離、敏感數(shù)據(jù)的加密、數(shù)據(jù)訪問權(quán)限控制、個人隱私等問題。在2018年5月25日,GDPR(General Data Protection Regulation)《通用數(shù)據(jù)保護(hù)條例》出現(xiàn)之后,越來越多的人開始重視數(shù)據(jù)安全問題。如何大程度的打消租戶的這一顧慮,需要服務(wù)提供商加強(qiáng)對自身信譽(yù)度的提升,以贏得租戶的信賴。
7、saas產(chǎn)品的核心組件
不同類型的saas產(chǎn)品,由于要面對不同的用戶愿景,可能在功能和業(yè)務(wù)上會有所不同,但任何一個saas產(chǎn)品,都具備以下幾個共同的核心組件。
圖 7-1 saas 核心組件
7.1、安全組件
在saas產(chǎn)品中,系統(tǒng)安全永遠(yuǎn)是第一位需要考慮的事情,如何保障租戶數(shù)據(jù)的安全,是你首要的事情。這如同銀行選需要保障儲戶資金安全一樣。安全組件就是統(tǒng)一的對saas產(chǎn)品進(jìn)行安全防護(hù),保障系統(tǒng)數(shù)據(jù)安全。
7.2、數(shù)據(jù)隔離組件
安全組件解決了用戶數(shù)據(jù)安全可靠的問題,但數(shù)據(jù)往往還需要解決隱私問題,各企業(yè)之間的數(shù)據(jù)必須相互不可見,即相互隔離。在saas產(chǎn)品中,如何識別、區(qū)分、隔離個租戶的數(shù)據(jù)時你在實(shí)施saas平臺架構(gòu)設(shè)計(jì)時需要考慮的第二個問題。
7.3、可配置組件
盡管saas產(chǎn)品在設(shè)計(jì)之初就考慮了大多數(shù)通用的功能,讓租戶開箱即用,但任然有為數(shù)不少的租戶需要定制服務(wù)自身業(yè)務(wù)需求的配置項(xiàng),如UI布局、主題、標(biāo)識(Logo)等信息。正因?yàn)闊o法抽象出一個完全通用的應(yīng)用程序,所以在saas產(chǎn)品中,你需要提供一個可用于自定義配置的組件。
7.4、可擴(kuò)展組件
隨著saas產(chǎn)品業(yè)務(wù)和租戶數(shù)量的增長,原有的服務(wù)器配置將無法繼續(xù)滿足新的需求,系統(tǒng)性能將會與業(yè)務(wù)量和用戶量成反比。此時,saas產(chǎn)品應(yīng)該具備水平擴(kuò)展的能力。如通過網(wǎng)絡(luò)負(fù)載均衡其和容器技術(shù),在多個服務(wù)器上部署多個軟件運(yùn)行示例并提供相同的軟件服務(wù),以此實(shí)現(xiàn)水平擴(kuò)展saas產(chǎn)品的整體服務(wù)性能。為了實(shí)現(xiàn)可擴(kuò)展能力,就需要saas展示層的代碼與業(yè)務(wù)邏輯部分的代碼進(jìn)行分離,兩者獨(dú)立部署。例如使用VUE+微服務(wù)構(gòu)建前后端分離且可水平進(jìn)行擴(kuò)展的分布式saas應(yīng)用產(chǎn)品。對于可擴(kuò)展,還有另外一種方式,即垂直擴(kuò)展,其做法比較簡單,也比較粗暴:通過增加單臺服務(wù)器的配置,如購買性能更好的CUP、存儲更大的內(nèi)存條、增大帶寬等措施,讓服務(wù)器能夠處理更多的用戶請求。但此做法對于提升產(chǎn)品性能沒有質(zhì)的改變,且成本很高。
7.5、0停機(jī)時間升級產(chǎn)品
以往的軟件在升級或者修復(fù)Bug是,都需要將運(yùn)行的程序脫機(jī)一段時間,等待升級或修復(fù)工作完成后,再重新啟動應(yīng)用程序。而saas產(chǎn)品則需要全天候保障服務(wù)的可用性。這就需要你考慮如何實(shí)現(xiàn)在不重啟原有應(yīng)用程序的情況下,完成應(yīng)用程序的升級修復(fù)工作。
7.6、多租戶組件
要將原有產(chǎn)品saas化,就必須提供多租戶組件,多租戶組件是衡量一個應(yīng)用程序是否具備saas服務(wù)能力的重要指標(biāo)之一。saas產(chǎn)品需要同時容納多個租戶的數(shù)據(jù),同時還需要保證各租戶之間的數(shù)據(jù)不會相互干擾,保證租戶中的用戶能夠按期望索引到正確的數(shù)據(jù),多租戶組件是你必須要解決的一個問題。其余的組件都將圍繞此組件展開各自的業(yè)務(wù)。
總結(jié)
本文將軟件應(yīng)用程序的發(fā)展歷程作為切入點(diǎn),并圍繞WHAT(是什么?)、WHY(為什么?)、WHERE(在哪些領(lǐng)域?qū)嵤?和HOW(怎么樣?)這四個問題對saas展開了介紹。文中詳細(xì)的闡述了基于saas架構(gòu)的軟件設(shè)計(jì)需要注意的問題,并分析了saas產(chǎn)品的特性、有點(diǎn)、缺點(diǎn)。最后還介紹了基于saas架構(gòu)的軟件產(chǎn)品應(yīng)該具備的幾個核心組件以及他們各自的作用。希望本次能夠讓你對saas平臺架構(gòu)有一個全面的了解,并且在你準(zhǔn)備實(shí)施saas平臺架構(gòu)設(shè)計(jì)前能夠提供一些價(jià)值的參考信息。
新聞標(biāo)題:SaaS(軟件即服務(wù))平臺架構(gòu)設(shè)計(jì)指南
轉(zhuǎn)載注明:http://www.rwnh.cn/news/97752.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站排名、搜索引擎優(yōu)化、企業(yè)網(wǎng)站制作、做網(wǎng)站、定制開發(fā)、云服務(wù)器
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容