SaaS 架构成熟度模型

  • Steven Robbins
  • 郑柯

2008 年 3 月 3 日

话题:架构

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 点价位左右的商品,就会给顾客造成商品丰富,价格便宜的感觉和印象。

查看英文原文:SaaS Architecture Maturity Model

架构