前言:
cfans轉載的《誰適合ASP模式的ERP》、《ASP模式綜述》對ASP模式做了較詳細的介紹。
本文簡單描述了ASP和SaaS模式的聯絡和區別。
在閱讀本文以前,強烈推薦你先閱讀微軟官方有關SaaS的兩篇文檔:
《抓住長尾市場的架構戰略》
《多使用者資料體繫結構》
兩篇文章的英文版在這裡:
英文版在這裡:
Architecture Strategies for Catching the Long Tail
Multi-Tenant Data Architecture
作者的Blog:
Frederick Chong
Gianpaolo Carraro
SaaS和ASP的聯絡:
無需置疑,微軟現在推廣的SaaS(Software as a Service )是從ASP模式演變而來。雖然微軟在上述的文檔裡面沒有過多地提到ASP,但是SaaS和ASP還是有千絲萬縷的聯絡。
ASP和SaaS和重點都是“軟體部署為託管服務,通過網際網路存取”。他們相同的地方有:
運營模式:
軟體所有權屬於供應商,供應商來負責基礎設施和軟體維護升級工作。
服務方式:
客戶按一定的付費周期來租賃供應商的服務,費用可能隨著客戶使用規模大小不同。供應商定期和客戶一起整理需求,以使服務能響應客戶變化。
盈利方式:
通過專業化和規模經濟來降低供應商軟體服務成本,以此達到盈利目的。附加的盈利方式有廣告和無線增值等。
只有達到一定的規模,才能使供應商投入的硬體和專業服務成本和營業收入達到平衡。在此之後,隨著規模的增大,供應商的銷售成本絲毫不受影響,
利潤才開始增長。
ASP和SaaS不同的地方在哪裡?
傳統的ASP只是針對每個客戶定製不同的應用,而沒有將所有的客戶放在一起進行考慮。在SaaS模式中,在使用者和Web伺服器上的應用之間增加了一個中介層,這個中介層用來處理使用者的定製、擴充性和多使用者的效率問題。技術上來說,要不ASP模式複雜。
為《抓住長尾市場的架構戰略》中使用的SaaS成熟模型
在此圖中可以清晰地看出ASP和SaaS的最大區別:
ASP處於成熟模型層級1的地區,每個客戶運行供應商為自己定製的特有執行個體。從技術角度來說,就是每個客戶使用一個資料庫、一個Web網站或者虛擬目錄。資料庫中的資料結構和應用的代碼可能都根據客戶需求做過定製化修改。
而成熟模型層級2的的主要特點是:代碼和資料結構都是相同的,供應商在設計應用的時候已經考慮了擴充性,所以針對不同需求的客戶,可以採用靈活的配置來響應,但是應用資料仍然是隔離的。從技術角度來說,所有客戶都是使用一套安裝包,資料庫結構和一樣。在此模式下,供應商面臨的挑戰主要是:
1.在資料庫設計時如何?使用者的定製資料存放區?
2.在UI層設計時如何?使用者可定製UI和表單欄位的自主增減?
成熟模型層級3的的主要特點是:使用一套應用程式來承載所有客戶執行個體。在資料庫中也是使用一個資料庫儲存資料。所有客戶的UI和應用資料是通過授權和安全性原則等方式進行隔離。在這種模式下,供應商面臨的挑戰主要是:
1.如何在設計時就處理好大量並發和海量資料?
2.如何保證應用系統的穩定性?
3.如何說服客戶接收這種資料儲存策略?
最為理想的成熟模型是層級4,採用這種模型,使用者接入的是負載平衡的伺服器群,其它和層級3相同。在這種模式下,供應商面臨的主要挑戰是:
1.如何在伺服器群硬體投入和客戶規模之間找到平衡?
2.如何降低伺服器群的前期投入和維護成本?
小結:
SaaS模式ASP模式都秉承“軟體即服務”的理念,但是SaaS要比ASP複雜的多。對於有志於採用SaaS進行應用開發的供應商來說,應該先評估所處行業中勘探對此模式的接收程度,並要評估自身的技術特點,以便更快的接收這種從軟體構建、銷售到部署方式的徹底改變。