无需置疑,微软现在推广的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进行应用开发的供应商 来说,应该先评估所处行业中目标客户对此模式的接收程度,并要评估自身的技术特点,以便更快的接收这种从软件构建、销售到部署方式的彻底改变。