InfoQ

新闻

SaaS架构成熟度模型

作者 Steven Robbins译者 郑柯 发布于 2008年3月3日 下午9时17分

社区
Architecture
主题
SaaS
标签
成熟度模型

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

没有回复

回复

独家内容

剖析短迭代

敏捷教练Dave Nicolette提出:我们应该如何设定迭代长度?是要根据发布周期的时间么?使用短迭代又有哪些好处?

应用JSF、Ajax和Seam开发Portlets(1/3)

本文主要讲述了如何用JBoss Portlet Container 和JBoss Portlet Bridge创建新项目,怎样配置一个JSF应用去使用JBoss Portlet Bridge,以及JBoss Portlet Bridge所具备的功能。

AtomServer:数据分发的发布动力(第二部分)

在这篇文章里,Bryon Jacob和Chris Berry将和我们继续探讨AtomServer,它是基于Apache Abdera的完整Atom存储实现。作者还创建了几个Atompub规范扩展,其中包括自动标记、批处理和Feeds聚合。

架构师(试刊第二期)

InfoQ中文站的电子杂志《架构师》试刊第二期出版了!相比于上期,我们在内容的选择安排和版式上都根据读者的意见重新做了修正。“细节决定成败”,我们希望基于InfoQ中文站的专业内容,《架构师》能逐渐成为大家喜欢的电子刊物!

一种正规的性能调优方法:基于等待的调优

在本文中,Steven Haines探讨了Web应用性能调优问题。该领域过去更像是一门艺术而不是一门科学。他提出了一种称为基于等待调优的方法,使整个调优过程更加可度量,也因此更具科学性。

Java程序员ActionScript 3入门

通常来说,改变技术路线时最艰难的部分是辨别语言语法之间的不同。这篇文章就为Java开发者提供了一份如何转向Flex基础语言ActionScript的指南。

浅谈如何创建Rails应用

本视频主要以财帮子为例,介绍了如何创建一个PV为百万级的Rails应用。其中包括:Rails应用的服务器架构、Rails Cache的优化、负载均衡的处理、Web服务器的调试、分布式解决方案、Open API的设计等等。

Alexandru Popescu谈InfoQ.com网站架构

InfoQ首席架构师Alexandru Popescu在采访中谈论了InfoQ架构、Webwork与DWR、Hibernate与JCR、Hibernate可扩展性、最新的InfoQ视频流系统和InfoQ的未来规划。