SaaS架构成熟度模型
作者 Steven Robbins译者 郑柯 发布于 2008年3月3日 下午9时17分
Dharmesh Shah最近撰写了有关“软件作为服务”即SaaS的架构成熟度模型的文章。之前Gianpaolo Carraro曾提出可伸缩性、多租户(multi-tenancy)与通过配置进行定制(customization throught configuration)是SaaS架构应满足的要求,Dharmesh从这一点出发,提出了关于SaaS架构成熟度模型的5个级别——从“混乱”到 “乌托邦“,并针对每个级别背后的经济考虑提出了自己的想法。
- 第0级(混乱):每次新增一个客户,都会新增软件的一个实例。
- 第1级(受控的混乱):所有客户都运行在软件的同一个版本上,而且任何的定制化都通过修改配置来实现。
- 第2级(多租户[multi-tenant]、高层建筑[Highrise]):所有的客户都已经可以在软件的同一个版本上运行了,而且他们都在同一个“实例”上运行。
- 第3级(多租户, 扩建[Build-Out]):此时你已经拥有了多租户、单一版本的软件模型。不过你还是可以通过硬件扩展(scale-out)的方式来进行扩充。
- 第4级(乌托邦):如同第3级,除非你可以找出有效的方式,以在不同的“实例”上运行不同版本的软件。
Gianpulo原先的成熟度模型分为:定制版本和每个客户一个实例、所有的客户运行同一个版本的软件但是各自运行在不同的实例之上、让客户运行单 一版本的软件而且具备可伸缩的实例。Dharmesh添加了“乌托邦”级别,在这个级别中可以轻松地为任何给定的客户发布“沙箱(sandbox)”实 例。
说到这个模型,Dharmesh的主要观点是:
以SaaS起步的创业公司的重大优势之一是:通过多租户的方式可以在多个维度上达到更加经济的效果。但是有这样的机会不等于每个创业公司都能够做得到。
经济优势背后的关键,是要使用能够“通过配置进行定制”的架构以及聪明的数据分区模式。做不到这两点,就很难跨越第1级(受控的混乱)并认识到多租户方式的效率所在。
Nole Huelsenbeck认为该成熟度模型也许不适合开发人员所在组织的业务模型:
难道价格点[译注1]和整个的市场情况不会影响最后所达到的级别吗?在网上像Quicken这类应用也许还有一点可能实现定制化,因此达到第三或第四级;可如果我是财富500强的公司,我想Salesforce.com一定会采取第0级的方式来争取我的业务。
评论者“brk”观察到:在SaaS成熟度模型背后,当经济成本上升到很高的程度之后,会伴随有一些巨大的风险。当所有客户都共享同样的软件、硬件(无论是虚拟的还是物理的)和管理时,一个客户身上产生的任何小问题,都有可能会影响到整个的客户群体。
译注1:价格点(Price Point):简称PP点,即对于该门店或业态的某类商品而言,最容易被顾客接受的价格或价位,确定了PP点后,备齐在此PP点价位左右的商品,就会给顾客造成商品丰富,价格便宜的感觉和印象。