沒有人否認(rèn)
SaaS是一個非常熱的話題。真的非常熱。2010年,Gartner指出95%的組織將增長或者維持他們在SaaS上的投資。根據(jù)GigaOM的數(shù)據(jù),SaaS公司的估值要遠(yuǎn)超過傳統(tǒng)軟件廠商的估值。當(dāng)絕大多數(shù)的組織都在增加他們對SaaS的投入,很多組織也在考慮一種將他們現(xiàn)有應(yīng)用以SaaS交付出來的模式。“SaaS你的應(yīng)用”意味著什么呢?接下來的文章將重點(diǎn)介紹如何在現(xiàn)有應(yīng)用基礎(chǔ)上創(chuàng)建(或轉(zhuǎn)換)成SaaS。在這篇文章里,我們將指出SaaS的關(guān)鍵判別要素,以及當(dāng)你在規(guī)劃和架構(gòu)你的軟件時你該考慮哪些因素。
ASP(應(yīng)用托管)和SaaS的對比
“SaaS難道不是ASP模式下的產(chǎn)品和服務(wù)的重新包裝嗎?”對這個問題的回答顯然是“肯定不是!”,但在對比多個打上“云”標(biāo)簽的產(chǎn)品時,你確實(shí)很容易弄混。公平的說,SaaS是對ASP引入的概念的擴(kuò)展,但是卻有著非常明顯的差別。
我們快速過一遍兩種交付模式的差別。
從本質(zhì)上來說,ASP替客戶運(yùn)營軟件環(huán)境,而SaaS則讓客戶通過可擴(kuò)展、自服務(wù)的方式租用他們的服務(wù)。
SaaS你的應(yīng)用——確認(rèn)架構(gòu)
在一個應(yīng)用能夠以SaaS方式交付之前,你必須評估它的架構(gòu)是否可以支持。
無狀態(tài)的Web服務(wù)器:為了能夠清晰的支持橫向擴(kuò)展和增加新的機(jī)器,構(gòu)建Web服務(wù)器的時候必須要求他們不能有任何本地的狀態(tài)。Web服務(wù)器必須依仗一些共享的數(shù)據(jù)庫來保存他們的狀態(tài)。為了提供一個“面向云”的應(yīng)用,如果你的Web服務(wù)器有本地的狀態(tài),你就不可能支持一個無縫的、自動的彈性擴(kuò)展。
沒有硬連接:如果你的應(yīng)用服務(wù)器有一些硬連接(比如寫死的IP地址)作為數(shù)據(jù)庫或者服務(wù)器-服務(wù)器的連接方式,你在遷移應(yīng)用到云端的時候肯定會遇到問題。這些問題不容易被發(fā)現(xiàn),但是你務(wù)必要保證不同層之間都可以獨(dú)立的擴(kuò)展,而不需要拆開層之間的連接。
可擴(kuò)展的數(shù)據(jù)模型:如果你已經(jīng)預(yù)見了特定客戶的定制化需求,這一點(diǎn)非常關(guān)鍵。是否允許用戶擴(kuò)展現(xiàn)有的數(shù)據(jù)對象、增加新的數(shù)據(jù)結(jié)構(gòu)、以及施加唯一的驗(yàn)證邏輯?如果是這樣,那么就需要在設(shè)計(jì)數(shù)據(jù)存儲的時候設(shè)計(jì)一種方式,支持用戶的擴(kuò)展。
多租戶的支持:這并不像想象中的那么直接。SaaS的一個關(guān)鍵原則是將多個用戶,或者租戶,放在同一個服務(wù)器或者軟件實(shí)例里面。這種模型的好處是軟件提供者可以獲得高效的運(yùn)營,因?yàn)樗麐屇夭辉傩枰獮槊恳粋用戶維護(hù)唯一的環(huán)境了。這一點(diǎn)同時意味著,多租戶可以在你應(yīng)用的各個層次都發(fā)生作用。三個漸進(jìn)的階段包括:
第一階段:為每個客戶提供唯一的Web應(yīng)用和數(shù)據(jù)庫。雖然底層的基礎(chǔ)架構(gòu)是租戶之間共享的,也必須為每個客戶分割出唯一的應(yīng)用環(huán)境。這個分割的好處是實(shí)現(xiàn)租戶之間的物理隔離(這在某些行業(yè),如醫(yī)療行業(yè),會很關(guān)鍵),并且提供每個用戶按照自己定義的日程來升級的可能。這個雖然會和ASP模型混在了一起,但是一個有著好的架構(gòu)、高度自動化的應(yīng)用提供方式的軟件仍然可以讓這種交付模型變得持久。
第二階段:允許客戶共享應(yīng)用(版本)但是維護(hù)獨(dú)立的數(shù)據(jù)庫。在這個場景下,軟件只需要安裝一個版本,但是每個客戶的配置信息提供了一個獨(dú)立的數(shù)據(jù)庫的連接方式。在這里,物理數(shù)據(jù)的分割仍然存在,仍然支持每用戶加密或者直接數(shù)據(jù)庫隧道,但是全部應(yīng)用的維護(hù)變得更簡單了。
最終:實(shí)現(xiàn)像Salesforce那樣的模型,所有的租戶共享相同的應(yīng)用版本和數(shù)據(jù)庫。數(shù)據(jù)在邏輯上實(shí)現(xiàn)隔離,但是共享同一套物理資源。
界面的配置:如果租用你軟件的客戶不需要做任何修改,那么顯然沒有必要暴露用戶驅(qū)動的配置點(diǎn)。但是,如果你希望用戶都以自服務(wù)的模式,獲得擴(kuò)展數(shù)據(jù)模型、更改外觀、設(shè)置組織特定的流程、構(gòu)建安全組和權(quán)限這方面的靈活性,那么如何設(shè)計(jì)你的應(yīng)用來支持用戶驅(qū)動的配置變化將變得非常關(guān)鍵。SaaS的一個關(guān)鍵原則是“自服務(wù)”,不需要用戶致電服務(wù)提供商來實(shí)現(xiàn)任何更改。通過在你的架構(gòu)中暴露一些可以支持的、用戶驅(qū)動的配置變更,你可以讓自服務(wù)變得更現(xiàn)實(shí),進(jìn)而讓支持的成本變得更低。
API:如果你不能提供API,那么你就不能成為真正的云端應(yīng)用。沒有API的應(yīng)用將逐步成為“煙囪”式的應(yīng)用,變得更難集成或者以后更難管理。好的API的設(shè)計(jì)需要投入,但是卻能夠讓SaaS應(yīng)用的客戶變得更能接受你的產(chǎn)品。
細(xì)致的考慮安全架構(gòu):顯然,當(dāng)構(gòu)建一個“共享托管”的應(yīng)用時,安全是一個主要的考慮因素。在這里,“安全”指的是包括“你的身份是如何鑒權(quán)的”、“你的身份是如何授權(quán)的”、“靜態(tài)數(shù)據(jù)是如何加密的”、“傳輸數(shù)據(jù)是如何加密的”、“審計(jì)是如何實(shí)現(xiàn)的”乃至更多。理想情況下,你的應(yīng)用允許通過SAML這樣的標(biāo)準(zhǔn)機(jī)制實(shí)現(xiàn)SSO,來讓用戶只需要記住一個賬戶和密碼就可以登錄不同的SaaS系統(tǒng)。
同其它云平臺的集成:雖然不是必需的,但云端應(yīng)用如果能夠擁抱其他的云平臺,它們將變得更加強(qiáng)大。試想一下,如果你的SaaS應(yīng)用能夠和Google Docs或者Office365實(shí)現(xiàn)集成會怎樣?如果你可以使用Facebook或者Twitter ID來實(shí)現(xiàn)身份的聯(lián)合呢?
以上的列舉還不夠全面,但希望能夠幫助你在將應(yīng)用作為SaaS的模式提供出來之前,讓你重新審視一下你的應(yīng)用是否適合SaaS化。
SaaS你的應(yīng)用:找到應(yīng)用托管的環(huán)境
你已經(jīng)有了一個SaaS友好的架構(gòu)。恭喜你。你如何以一種最高可靠性以及最小支持代價的方式來部署呢?你需要找到一個成熟的IaaS提供商,并且提供一個有如下特性的、成熟和彈性的環(huán)境。
可測量的計(jì)費(fèi):按量使用是SaaS應(yīng)用的關(guān)鍵特性,你需要確認(rèn)你可以輕松的獲取按月的使用量。雖然你可以制定一個簡單的按用戶收費(fèi)的價格策略(放棄了對類似存儲、帶寬和CPU之類的資源計(jì)費(fèi)),你的托管商為你的SaaS提供一個清晰的資源成本結(jié)構(gòu)還是顯得很重要。
快速的水平/垂直擴(kuò)展:對于特定的應(yīng)用,你有時候會需要更多的處理能力,因此你會需要更多的RAM和CPU。但是記住,“云”和廉價硬件提供的橫向擴(kuò)展能力是緊密相關(guān)的。你SaaS應(yīng)用底層的平臺必須能夠保證能夠以自動和自服務(wù)的方式提供快速擴(kuò)展的能力。
可訪問基于Web的安裝包:當(dāng)需要擴(kuò)展的時候,選擇自動構(gòu)建新服務(wù)器的方式,而不要通過現(xiàn)有應(yīng)用的鏡像來重新組合。如果你使用了VM快照,你將不得不在你需要他們的時候?qū)λ麄冞M(jìn)行升級和補(bǔ)丁,來保證他們可用。相反,如果你可以訪問到應(yīng)用的源碼(或者Web安裝包),你可以使用很多工具來快速構(gòu)建新的服務(wù)器。
積極的監(jiān)控:為了能夠支持海量的用戶,你的應(yīng)用需要能夠?qū)Σ豢杀苊獾摹⒂捎谟布蛙浖䥺栴}導(dǎo)致的故障進(jìn)行快速響應(yīng)。你的SaaS托管平臺需要能夠積極的監(jiān)控到它們服務(wù)器的健康狀況,不僅需要告訴你問題發(fā)生了,還需要能夠根據(jù)既定的策略采取行動(比如重啟服務(wù)器、讓故障服務(wù)器下線、增加更多的服務(wù)器等)。
全球部署的選項(xiàng):SaaS軟件的一個價值就是它是在公共的互聯(lián)網(wǎng)上運(yùn)營。這意味著應(yīng)用有可能被全球的用戶訪問。如果你的SaaS應(yīng)用要考慮到支持全球的用戶訪問,那么就需要選擇一個能夠在全球的數(shù)據(jù)中心提供服務(wù)的托管商。
一鍵部署:一個云應(yīng)用的架構(gòu)可能并不簡單。你的軟件可能會需要很多個前端服務(wù)器,一個Web服務(wù)層,分布式的數(shù)據(jù)庫,批量的任務(wù)處理系統(tǒng),等等。如果可能,找到一個IaaS能夠提供將解決方案做成模板,并且支持一鍵部署的。
健壯的備份和恢復(fù)選項(xiàng):災(zāi)難總會發(fā)生。即使是最好的云環(huán)境,在未知問題的發(fā)生時,也會毀掉一整個數(shù)據(jù)中心。你需要保證你的應(yīng)用數(shù)據(jù)能夠及時(并且常規(guī)化)的保存在主數(shù)據(jù)中心之外的地點(diǎn)。容災(zāi)的規(guī)劃是一個非常嚴(yán)謹(jǐn)?shù)墓ぷ。理想狀態(tài)下,你的托管商需要在這個領(lǐng)域有很多的經(jīng)驗(yàn),能夠提供權(quán)威的幫助和工具來提供可靠的能力。
一個架構(gòu)優(yōu)秀的應(yīng)用,如果陷在了一個不入流的托管環(huán)境里,會導(dǎo)致你的客戶快速流失。除非你提供不可比擬的、必需的功能,否則你的客戶會輕松的轉(zhuǎn)投你競爭對手的懷抱。
SaaS你的應(yīng)用—提供注冊、管理和計(jì)費(fèi)服務(wù)
一個好的應(yīng)用,托管在一個世界級的基礎(chǔ)架構(gòu)上,剩下的就只是讓客戶來使用了。為了構(gòu)建一個最小人工介入的、可持續(xù)服務(wù)的平臺,你需要提供如下的功能:
注冊頁面:這個太顯然不過了,但是你需要仔細(xì)的構(gòu)建一種能夠讓客戶快速使用起應(yīng)用的方式。如果你的注冊過程還需要讓客戶撥打一個電話,你已經(jīng)錯了。
管理控制臺:前面我們提到了界面的價值,它能夠允許用戶對外觀或者功能進(jìn)行一定程度的更改。不應(yīng)該讓你的客戶通過一系列腳本或者REST API來實(shí)現(xiàn)這些配置更改,而必須提供一系列讓客戶查看和編輯這些數(shù)據(jù)的方法。比如,一個好的管理控制臺需要能夠支持安全角色設(shè)定(用戶創(chuàng)建)和計(jì)費(fèi)服務(wù)。
數(shù)據(jù)導(dǎo)入/導(dǎo)出服務(wù):恭喜你,有人決定使用你的SaaS產(chǎn)品了。他們?nèi)绾螌F(xiàn)有的數(shù)據(jù)導(dǎo)入進(jìn)來?如果你說“手工錄入吧”,你已經(jīng)邁出了錯誤的一步。數(shù)據(jù)導(dǎo)入工具允許用戶以一種正確的方式開始使用應(yīng)用,并且創(chuàng)建了一種快速的數(shù)據(jù)集成的能力。你不僅需要提供簡單的數(shù)據(jù)導(dǎo)入能力,還需要相同簡單的數(shù)據(jù)導(dǎo)出應(yīng)用的能力。雖然你很自然的希望鎖住你的客戶,但你讓簡單的集成變得更困難的同時也在傷害你的客戶。
花一些時間來考慮如何讓你的客戶(或者潛在客戶)更容易評估、購買和快速使用你的產(chǎn)品。
核心關(guān)注:拓步ERP系統(tǒng)平臺是覆蓋了眾多的業(yè)務(wù)領(lǐng)域、行業(yè)應(yīng)用,蘊(yùn)涵了豐富的ERP管理思想,集成了ERP軟件業(yè)務(wù)管理理念,功能涉及供應(yīng)鏈、成本、制造、CRM、HR等眾多業(yè)務(wù)領(lǐng)域的管理,全面涵蓋了企業(yè)關(guān)注ERP管理系統(tǒng)的核心領(lǐng)域,是眾多中小企業(yè)信息化建設(shè)首選的ERP管理軟件信賴品牌。
轉(zhuǎn)載請注明出處:拓步ERP資訊網(wǎng)http://www.ezxoed.cn/
本文標(biāo)題:如何SaaS化你的應(yīng)用?
本文網(wǎng)址:http://www.ezxoed.cn/html/news/10515518863.html