SaaS是Software as a Service(軟件即服務(wù))的縮寫,它是云計算的主要體現(xiàn)形式之一,其他的還有諸如平臺即服務(wù)(PaaS),基礎(chǔ)設(shè)施即服務(wù)(IaaS)以及數(shù)據(jù)即服務(wù)(DaaS)等。簡而言之,SaaS是一種軟件交付模式,旨在以“即用即付”服務(wù)的方式為客戶提供軟件服務(wù),客戶不需要安裝軟件便可獲得應用程序提供的所有功能。
SaaS是一種基于云計算的軟件交付系統(tǒng),客戶只需要通過瀏覽器便可輕松訂閱應用程序所提供的功能。這種“按需使用”或“軟件+服務(wù)”的軟件交付系統(tǒng),被廣泛應用于各大中小企業(yè),組織中,以幫助他們降低軟件的使用成本。當下,SaaS軟件正被用于各種行業(yè)的業(yè)務(wù)領(lǐng)域中,例如:客戶關(guān)系管理軟件(CRM),企業(yè)資源規(guī)劃軟件(ERP),信息管理軟件(MIS),人力資源管理軟件(HRM),地理信息管理軟件(GIS)以及學習管理軟件(SIS)等等。
SaaS軟件交付模式的概念最早于20世紀60年代被提出,到20世紀90年代,隨著互聯(lián)網(wǎng)技術(shù)的不斷發(fā)展,SaaS的發(fā)展速度也隨之加快,許多軟件提供商開始通過互聯(lián)網(wǎng)托管和提供軟件服務(wù),而SaaS(軟件即服務(wù))這個術(shù)語也是在這一時期確定下來的。使用SaaS軟件在以下幾個方面可以獲得較大優(yōu)勢:
1 在軟件使用早期,可以大幅度降低硬件,帶寬,安裝和運營成本。
2 可以以更小的人員和資金的開銷,準確的預測業(yè)務(wù)數(shù)據(jù),更快的完成軟件的升級和維護工作。
3 與傳統(tǒng)軟件相比,用戶通過互聯(lián)網(wǎng)獲的軟件服務(wù),從而降低了管理軟件所帶來的安全風險。
4 快速部署,快速接入。由于不需要自行安裝和部署軟件,只需要向服務(wù)提供商注冊信息,并為訂閱的服務(wù)付費,便可獲得軟件服務(wù)。從而減少了獲得軟件的等待時間。
5 跨平臺操作。借助互聯(lián)網(wǎng),客戶可以在任何時間,任何地點,通過瀏覽器便可接入服務(wù)。
任何有價值的東西,在其出現(xiàn)之前都會歷經(jīng)各種困難與挑戰(zhàn),沒有什么事物是一蹴而就的。接下來,將介紹構(gòu)建一個SaaS軟件在系統(tǒng)測試,數(shù)據(jù)安全和升級維護三個方面面臨的巨大挑戰(zhàn)。
任何有價值的軟件在交付之前,都需要進行大量的測試。這和我們買衣服一樣,在確定付款前,都需要在試衣間試穿各種樣式的衣服。SaaS軟件的測試與傳統(tǒng)的軟件測試基本相同,通過執(zhí)行各種邏輯驗證,確保作為服務(wù)提供的軟件在質(zhì)量上是否符合客戶的需求。SaaS軟件的測試通常會包含數(shù)據(jù)安全測試,業(yè)務(wù)邏輯測試,數(shù)據(jù)集成測試,接口兼容測試,可伸縮測試和高并發(fā)測試。但SaaS軟件的測試也有有別于傳統(tǒng)軟件測試的地方。
與傳統(tǒng)軟件開發(fā)相比,SaaS軟件的測試在測試周期和實施等方面都面臨著諸多的挑戰(zhàn)。盡管實現(xiàn)SaaS軟件的技術(shù)框架會有所不同,但在測試環(huán)節(jié)都將面臨一些常見的技術(shù)挑戰(zhàn)。
SaaS軟件可以為使用者帶來巨大的好處,但仍然有很多用戶在質(zhì)疑SaaS應用軟件的數(shù)據(jù)安全。基于云計算應用的數(shù)據(jù)安全一直以來都是一個居高不下的熱點話題。因此,針對SaaS軟件的安全性測試必須慎重對待,需要有專門的測試策略和工具。
與其他任何的云計算平臺一樣,在云計算環(huán)境下維護數(shù)據(jù)的安全性和完整性具有很大的風險與挑戰(zhàn),和傳統(tǒng)的軟件相比,SaaS應用軟件的安全性測試更為復雜。在SaaS應用軟件測試中,需要模擬多個租戶下,不同安全級別的隱私要求,權(quán)限分配粒度,資源隔離等級和用戶行為模式。傳統(tǒng)的測試手段很難測試并發(fā)現(xiàn)SaaS軟件中存在的安全漏洞,軟件測試場景也很難完全發(fā)現(xiàn)漏洞并消除這些安全威脅。
可伸縮(也稱可擴展)性是SaaS軟件服務(wù)提供商重要的商業(yè)模型指標之一,要求SaaS應用軟件可以根據(jù)客戶量的大小進行水平方向的伸縮。簡單來說,SaaS平臺可以根據(jù)當前用戶量的多少,動態(tài)地增加或者減少運行實例的數(shù)量;而高可用(性能)是客戶衡量SaaS軟件好壞的一個重要指標。
如何成功的測試SaaS軟件的可伸縮和高可用性,需要有專門的測試策略,才能組織出可用的測試場景,并且需要比傳統(tǒng)軟件測試更多的測試樣本數(shù)據(jù)和測試標準。這些數(shù)據(jù)和標準需要仔細的考慮SaaS軟件的應用場景,才可能被量化和設(shè)計。另外,還需要考慮如何在不同租戶類型,不同的用戶數(shù)量組合,不同使用環(huán)境(移動端,PC端)的復雜條件下,對系統(tǒng)的性能,峰值和負載能力進行測試。
SaaS應用軟件在一定程度上需要集成第三方的業(yè)務(wù)系統(tǒng),同時還有可能需要開放一定的API接口,以支持從其他平臺集成或遷移數(shù)據(jù)。在何種情況下,保護數(shù)據(jù)的安全性和完整性將給測試帶來巨大的壓力。在SaaS應用軟件的集成測試和API測試中,需要對入站和出站數(shù)據(jù)進行驗證,以及對所有API的功能,安全性,性能以及文檔的完整性進行測試。即便是這樣,你也很難提前組織起所有的測試場景,而且這個過程非常的耗時。也許第一版的API還沒有測試完,新版本的API已經(jīng)添加到測試列表。實現(xiàn)SaaS軟件是一個不斷迭代的過程,因此很難在短時間內(nèi)一次測試就涵蓋所有的API。
對于SaaS軟件而言,更為復雜和艱難的工作是如何保障SaaS平臺中用戶數(shù)據(jù)的安全。不管是大型企業(yè)還是小公司,他們對于數(shù)據(jù)的安全性要求都是一樣嚴苛的。例如常見的CRM系統(tǒng),HR系統(tǒng),ERP系統(tǒng)和財務(wù)管理系統(tǒng)等,它們都存儲了大量高度敏感的用戶信息,如果SaaS軟件的數(shù)據(jù)安全無法得到保障,不僅是客戶的數(shù)據(jù)會遭受破壞,服務(wù)提供商的信譽也會收到嚴重的影響,甚至會伴隨著相關(guān)法律的處理。因此,相比于傳統(tǒng)的軟件,SaaS軟件的安全性要求更高,系統(tǒng)結(jié)構(gòu)更為復雜,實現(xiàn)難度也更大。
構(gòu)建一個SaaS平臺,在滿足高性能和可伸縮的條件下,還需要著力保障用戶數(shù)據(jù)的高度安全,這主要體現(xiàn)在以下三個方面:
1 多租戶數(shù)據(jù)隔離:多租戶架構(gòu)是SaaS軟件的一個重要評定標準,如何對各個租戶的數(shù)據(jù)進行識別,分割和存儲需要在效費比,安全性和性能上取得一個平衡。
2 數(shù)據(jù)備份與恢復:由于各租戶訂閱服務(wù)的組合不同,使用軟件的時間段也不盡相同,對不同租戶的數(shù)據(jù)進行備份和恢復的難度也相當大。另外,在操作其中一個租戶數(shù)據(jù)時,需要保障其他所有租戶的數(shù)據(jù)不會受到影響。在發(fā)生系統(tǒng)故障時,還需要及時恢復租戶數(shù)據(jù),面對龐大的數(shù)據(jù)量,數(shù)據(jù)恢復的復雜度和難度都比單體應用高很多。
3 數(shù)據(jù)入站和出站校驗:SaaS軟件允許用戶在任何地點通過瀏覽器獲取服務(wù),這就要求SaaS軟件在數(shù)據(jù)傳輸,用戶輸入,系統(tǒng)輸出等環(huán)節(jié)有著更高的安全性要求。相比于單體架構(gòu)的應用程序,需要更高級別的安全傳輸加密/解密手段,更細粒度的用戶認證和鑒權(quán)措施。另外,對用戶的日志的收集,追蹤和審計工作比單體軟件更難。
保護存儲在SaaS平臺中的數(shù)據(jù)安全,需要仔細的分析平臺中每一個業(yè)務(wù)流程,細化權(quán)限下放的粒度,嚴格把控訪問接入設(shè)置以及數(shù)據(jù)的存儲規(guī)則。即便如此,由于SaaS系統(tǒng)通常需要面對比單體架構(gòu)軟件更為龐大的數(shù)據(jù)量,且業(yè)務(wù)流程更為復雜,更新周期相對較短,因此如何確保存儲在SaaS平臺中的數(shù)據(jù)不易被破壞或者泄露是一個永久存在的工作。
SaaS應用軟件免去了客戶使用軟件時的安裝,維護,升級等工作,但這些繁雜的工作并未因為SaaS而消亡,而是轉(zhuǎn)移到了SaaS軟件服務(wù)商的手中,且工作變得更為復雜和艱難。
SaaS軟件需要全天候為客戶提供可用的服務(wù),因為你完全不知道客戶會在什么時候登入系統(tǒng)開展工作。這就要求SaaS服務(wù)提供商在升級和維護軟件的工程中不能影響當前用戶使用軟件。簡單來說,SaaS軟件的升級維護不能采取“冷啟動”的方式來完成,需要采用“熱部署”的方式,讓客戶基本上感覺不到升級工作正在進行。反觀傳統(tǒng)軟件上線或更新過程,往往會出現(xiàn)各種問題:不一致的運行環(huán)境,過多的人為干預系統(tǒng)的構(gòu)建和部署,代碼改動引起不可控的質(zhì)量,向下不兼容,服務(wù)中斷,更長的更新時間,數(shù)據(jù)丟失等問題。
對于SaaS系統(tǒng),系統(tǒng)的升級維護工作不能暫停當前客戶正在執(zhí)行的業(yè)務(wù),避免業(yè)務(wù)數(shù)據(jù)丟失,因此需要一種全新的軟件發(fā)布機制,通過可視化,自動化的操作,實現(xiàn)持續(xù),無縫,零重啟的軟件交付過程。在升級維護時,SaaS軟件主要面臨以下幾個挑戰(zhàn):
1 版本可回退:如果新上線的功能模塊遇到重大問題,可以回退到之前的版本而不影響用戶的正常業(yè)務(wù)。
2 系統(tǒng)向下兼容:新版本的系統(tǒng)需要盡可能的向下兼容舊系統(tǒng)的數(shù)據(jù)。在最壞的情況下,當升級過程發(fā)生時,用戶正在使用舊版本提交數(shù)據(jù),如果適配舊版本提交的數(shù)據(jù),需要慎重考慮。
3 灰度發(fā)布:灰度發(fā)布包含兩個方面:前后端灰度發(fā)布和移動端的灰度發(fā)布。
4 零重啟:零重啟要求在不終止服務(wù)的情況下完成系統(tǒng)的升級工作,這就要求SaaS平臺具備熱部署的特性,確保SaaS平臺能夠保持7x24小時的持續(xù)服務(wù)能力。
SaaS軟件易于使用是相對于軟件使用者而言的,對于SaaS軟件的提供者來說,軟件的復雜性,安全性和可用性都面臨著全新的技術(shù)難題,克服這些問題并不容易。作為SaaS軟件的實現(xiàn)者,不能看著油漆是干燥的,就想當然的坐上去,在油漆真正干燥前,一切都是脆弱的,需要耗費大量的時間去處理諸多問題,才能讓用戶放心的坐上去。
京東物流招標 | 2025年3月湖北京東大件物流宅配資源招標
2049 閱讀京東物流2025年京津冀地區(qū)洗護工廠招標
1829 閱讀極兔經(jīng)調(diào)整凈利潤2億美元!飛輪效應啟動,下一個爆發(fā)點在哪里?
936 閱讀打造最賺錢的跨境物流企業(yè),85后老板如何成就“行業(yè)一哥”?
848 閱讀小紅書官宣電商出海計劃
794 閱讀別瞎忙了,物流人的出路根本不在辦公室
720 閱讀被月薪困住的物流人
642 閱讀菜鳥推出“自動化+無人車”快遞新模式 助力縣域快遞升級
557 閱讀南航物流打造全國首個“雙前置”貨站
521 閱讀菜鳥悉尼倉入庫量猛增170%,海外倉自動化再升級
563 閱讀