一文了解SAAS開(kāi)發(fā)、模板定制開(kāi)發(fā)、全定制開(kāi)發(fā)
互聯(lián)網(wǎng)產(chǎn)品的研發(fā)做了一下分析, 大致有三種模式: SAAS開(kāi)發(fā)、模板定制開(kāi)發(fā)、全定制開(kāi)發(fā)。技術(shù)架構(gòu)難度由低到高。
?SaaS開(kāi)發(fā)
開(kāi)發(fā)一個(gè)系統(tǒng)要支持SaaS模式,系統(tǒng)應(yīng)滿足:
l首先,它必須是Web程序,這樣客戶不用另外安裝程序,只需要瀏覽器就可以直接使用;
l其次,系統(tǒng)要支持“按需收費(fèi)”,不同級(jí)別的客戶可能使用的系統(tǒng)模塊有區(qū)別,那么我們的系統(tǒng)必須支持按權(quán)限配置系統(tǒng)模塊;
l第三,系統(tǒng)肯定只有運(yùn)行一套在中心服務(wù)器,數(shù)據(jù)庫(kù)也只有一套,卻要滿足不同的客戶使用系統(tǒng),而且客戶之間的數(shù)據(jù)又要完全獨(dú)立,這樣需要我們?cè)谙到y(tǒng)中有隔離機(jī)制可以按照機(jī)構(gòu)區(qū)分業(yè)務(wù)數(shù)據(jù);
Saas系統(tǒng)架構(gòu)的核心設(shè)計(jì)為多租戶Saas架構(gòu),Saas系統(tǒng)架構(gòu)實(shí)現(xiàn)應(yīng)注意的設(shè)計(jì)包括:
1.做分層設(shè)計(jì)
Saas系統(tǒng)分層包括4級(jí):
Saas系統(tǒng)分層:租戶識(shí)別>應(yīng)用層>數(shù)據(jù)訪問(wèn)層>緩存層>數(shù)據(jù)庫(kù)
2、數(shù)據(jù)隔離要透明
在數(shù)據(jù)庫(kù)訪問(wèn)層對(duì)SQL進(jìn)行改寫,加入tenant_id(租戶id)
3. 租戶識(shí)別方案
比較好做法是通過(guò)url識(shí)別租戶。系統(tǒng)是給租戶生成一個(gè)隨機(jī)的三級(jí)域名,比如 abc.crm.baidu.com. ? 如果客戶想使用自己的域名,可以在cname到我們生成的三級(jí)域名,并在管理系統(tǒng)里面做綁定。
4. 智能DNS
5. 租戶管理系統(tǒng)(計(jì)費(fèi),訂購(gòu),定制,充值,催繳)
Saas系統(tǒng)是必須考慮計(jì)費(fèi)系統(tǒng)和租戶控制系統(tǒng)。這個(gè)系統(tǒng)需要都是獨(dú)立設(shè)計(jì)。比如那個(gè)租戶購(gòu)買了那些模塊,一個(gè)月多少錢。租戶可以創(chuàng)建最多的用戶數(shù)。計(jì)費(fèi)到期郵件提醒等功能。
計(jì)費(fèi)方式一般有兩種,周期性計(jì)費(fèi),類似月租方案,和使用量計(jì)費(fèi),用多少付多少。
6. 定制化開(kāi)發(fā)
SAAS的優(yōu)勢(shì)在于一套系統(tǒng)多人使用,定制化開(kāi)發(fā)是無(wú)法避免的,比如CRM系統(tǒng)這樣復(fù)雜的系統(tǒng),不可能一套系統(tǒng)滿足所有公司的要求。定制化開(kāi)發(fā)盡可能分系統(tǒng),分模塊去做。
7. 灰度升級(jí)
SAAS付費(fèi)企業(yè)客戶對(duì)系統(tǒng)問(wèn)題特別敏感。為了減少升級(jí)可能出現(xiàn)問(wèn)題的影響范圍,一般都采用灰度升級(jí)策略。
使用了url來(lái)區(qū)分不同租戶,灰度升級(jí)配置就會(huì)很方便??梢耘渲胣ginx 來(lái)根據(jù)域名做分發(fā),比如租戶A(aaa.com)到實(shí)例1(版本1.0),租戶B(bbb.com)到實(shí)例2(版本)。需要域名配置非常多時(shí),可以考慮寫一些擴(kuò)展模塊。
8. 容量估計(jì)
9. Saas平臺(tái)架構(gòu)分層分析
Saas平臺(tái)架構(gòu)要完成從用戶申請(qǐng)鏈接到使用購(gòu)買功能模塊的整個(gè)過(guò)程,用saas看似簡(jiǎn)單快捷,但卻需要saas平臺(tái)架構(gòu)完成的非常復(fù)雜的處理過(guò)程。saas平臺(tái)架構(gòu)設(shè)計(jì)可分為4部分:
↘呈現(xiàn)層
↘調(diào)度層
↘業(yè)務(wù)層
↘數(shù)據(jù)層
? 模板開(kāi)發(fā)
模板就像模具一樣,用于批量生產(chǎn),固定開(kāi)發(fā)。
模板開(kāi)發(fā),指功能已經(jīng)成型,用戶只需要選擇模板再把內(nèi)容改成自己的內(nèi)容就可以使用。模板類軟件開(kāi)發(fā)相對(duì)來(lái)說(shuō)比較簡(jiǎn)單,一套模板并不是只給一個(gè)客戶使用,分?jǐn)傁聛?lái)的開(kāi)發(fā)成本比較低,價(jià)格相對(duì)較低。
模板開(kāi)發(fā)的優(yōu)點(diǎn)是成本低、周期短、可行性高。
模板開(kāi)發(fā)不需要找團(tuán)隊(duì)進(jìn)行全新的設(shè)計(jì)開(kāi)發(fā),省去了大量的開(kāi)發(fā)時(shí)間,節(jié)省了人工成本費(fèi)用??蛻糁恍枰x擇符合自身需求的模板即可使用,操作簡(jiǎn)單。對(duì)于預(yù)算不多的企業(yè)是一個(gè)好的選擇。
?軟件定制開(kāi)發(fā)
軟件定制開(kāi)發(fā)是根據(jù)客戶想要的功能來(lái)制作一款軟件,是從客戶的實(shí)際需求出發(fā)來(lái)設(shè)計(jì)的,只要是客戶想要實(shí)現(xiàn)的功能模塊,都可以開(kāi)發(fā)的。
軟件定制開(kāi)發(fā)相比于模板開(kāi)發(fā),更符合客戶的需要,開(kāi)發(fā)的過(guò)程也更復(fù)雜,時(shí)間更長(zhǎng)。因?yàn)檐浖ㄖ崎_(kāi)發(fā),要經(jīng)過(guò)需求分析、設(shè)計(jì)階段、開(kāi)發(fā)階段、測(cè)試階段,上線運(yùn)行等工序。因此和模板開(kāi)發(fā)相比,定制開(kāi)發(fā)的價(jià)格就相對(duì)高一些,并且價(jià)格區(qū)間比較大,以軟件需求為準(zhǔn),軟件功能越多越復(fù)雜,定制價(jià)格往往就越高。
定制開(kāi)發(fā)的優(yōu)點(diǎn)是安全性高、可塑造性強(qiáng)、用戶體驗(yàn)佳、兼容性好。
軟件開(kāi)發(fā)的所有的代碼以及運(yùn)營(yíng)的數(shù)據(jù)都在客戶手里,安全性高,同時(shí)更利于后期的更新和迭代。軟件完全根據(jù)用戶的要求設(shè)計(jì)開(kāi)發(fā),能最大化的滿足用戶的需求,并且經(jīng)過(guò)多次測(cè)試,用戶體驗(yàn)和兼容性更好。
?
模板、定制、SaaS軟件開(kāi)發(fā)方式的區(qū)別
l開(kāi)發(fā)方式不同
開(kāi)發(fā)方式的不同是3者本質(zhì)上的不同。
模板開(kāi)發(fā):根據(jù)此前已有的適用模板進(jìn)行復(fù)用和二次開(kāi)發(fā),模板框架和頁(yè)面風(fēng)格基本固定;
SaaS開(kāi)發(fā):開(kāi)發(fā)商預(yù)先投入成本開(kāi)發(fā)完成,然后通過(guò)賬戶為單位的形式,按照模塊功能租用給客戶;
定制開(kāi)發(fā):可根據(jù)客戶需求、商業(yè)模式、業(yè)務(wù)流程,由策劃到開(kāi)發(fā)量身定制開(kāi)發(fā)。
l用戶體驗(yàn)不同
在用戶體驗(yàn)上,按照高低排序一般為:定制>SaaS>模板,
定制開(kāi)發(fā)是根據(jù)目標(biāo)受眾的需求和喜好,從策劃、設(shè)計(jì)、開(kāi)發(fā)上面進(jìn)行量身訂造,最能切合用戶的痛點(diǎn)和需求,
SaaS和模板限制于覆蓋面的需要,只能做出相對(duì)基礎(chǔ)和標(biāo)準(zhǔn)的程度,且可能未必能真正切合,但相對(duì)穩(wěn)定。
?
l系統(tǒng)安全不同
數(shù)據(jù)安全在互聯(lián)網(wǎng)時(shí)代下,變得越來(lái)越重要,數(shù)據(jù)等于一間公司的財(cái)產(chǎn)。
模板開(kāi)發(fā)由于是同一套源發(fā)進(jìn)行不斷的復(fù)用,等于把風(fēng)險(xiǎn)像炸彈捆綁在一起,其中一套源碼被攻陷,那么等于全部所使用同一套源碼的公司全部被攻陷
SaaS則要看開(kāi)發(fā)公司的技術(shù)能力水平,但租用系統(tǒng)的話,其實(shí)數(shù)據(jù)已經(jīng)被開(kāi)發(fā)公司所掌控
定制開(kāi)發(fā)相對(duì)于前兩者有著先天的安全優(yōu)勢(shì)。
?
l價(jià)格周期不同
客戶比較關(guān)心的是價(jià)格和周期。
定制開(kāi)發(fā)是從0到1開(kāi)發(fā)落地一個(gè)完整的項(xiàng)目,包括產(chǎn)品、設(shè)計(jì)、前端、后臺(tái)、測(cè)試至少5個(gè)崗位的人力成本,定制價(jià)格相對(duì)高,工期一般需要3個(gè)月左右;
模板開(kāi)發(fā)相當(dāng)于是一個(gè)成品,能減少很多定制所需的工作量,所以價(jià)格相對(duì)低,工期一般1~2周;
SaaS租用,與前兩者不同,是以租用的方式進(jìn)行購(gòu)買,一般是持續(xù)性的周期性付費(fèi),比如多少錢/年這樣,工期的話基本就是開(kāi)通賬戶時(shí)間,一般幾天可以完成,與模板一樣能夠快速部署。
?
l拓展維護(hù)不同?
在業(yè)務(wù)日常進(jìn)行當(dāng)中,一定會(huì)遇到與實(shí)際落地磨合的情況,那么對(duì)于軟件來(lái)說(shuō)會(huì)有一個(gè)拓展和維護(hù)功能的需求。
模板和SaaS因?yàn)槭枪潭ǖ目蚣芟到y(tǒng),開(kāi)發(fā)商不會(huì)因?yàn)槟愕膫€(gè)別情況去做拓展升級(jí),而且也不止服務(wù)你一個(gè)人在用同一套系統(tǒng),
定制開(kāi)發(fā)公司會(huì)根據(jù)業(yè)務(wù)情況預(yù)留拓展接口,有專門負(fù)責(zé)的項(xiàng)目開(kāi)發(fā)組,可以根據(jù)實(shí)際情況進(jìn)行拓展與調(diào)整。