SaaS软件系统成熟度模型分级

/ 0评 / 27

对于SaaS应用的架构师而言,尤其是从传统软件转型到SaaS的架构师,遇到的首要挑战就是多租户的思维转变。传统软件的销售模式决定了软件的每一个运行实例都服务于一个客户,因此对于性能、可配置性、伸缩性方面的处理策略都是针对单一客户所设计的。
而对于SaaS应用,为了最大化SaaS的规模效应,一般采用的都是多个租户共享一个运行实例的架构( Multi-Tenant架构,即多租户架构)。如何在Multi-Tenant架构下,实现SaaS应用的高性能、可配置性、伸缩性的目标,就是SaaS应用架构师所面临的最大挑战。这些也构成判定SaaS成熟度模型的主要特性。

根据SaaS应用是否具有可配置性、高性能、可伸缩性的特性,SaaS 成熟度模型被分成四级。每一级都比前一级增加以上三种特性中的一种。

SaaS成熟度模型

等级一:定制开发

在这种模型下,软件服务提供商为每个租户定制一套软件,并为其部署。 每个客户使用一个独立的数据库实例和应用服务器实例。数据库中的数据结构和应用代码可能都需要根据租户需求做过定制化的修改。

等级二:可配置

定制成本成为了每个客户付出成本中的最大部分。 降低软件的定制开发成本应该也是传统软件开发发展的一个趋势。 但是SaaS软件必须满足不同客户的不同需求,通用型的产品通常具有可配置型,客户可以通过简单的配置,让通用型的软件产品能够满足自己的一些个性化需求,而通用型的产品可配置项的高低,也是衡量软件是否通用的一项重要指标。

等级三:高性能的多租户架构

在应用架构上,等级一与等级二对比传统软件没有太大的差别,只是商业上符合SaaS的定制。
但由于我们需要降低软件成本,需要实现多租户“单实例”的应用架构才是真正意义上的SaaS应用架构,也就是Multi-Tenant架构。
Multi-Tenant架构可以有效地降低SaaS应用的硬件及运行维护成本,最大化发挥SaaS应用的规模效应。

等级四:可伸缩性的多租户架构

随着租户数量的增加,如数据库仍是“单实例”部署方式将成为SaaS应用的性能瓶颈,在前期可能我们可以通过硬件设备进行向上扩展,但随着数量成几何倍的增加,一定会达到单一硬件设备的极限。

也就是说,随着租户数持续大量增加,无需对系统进行大规模的改动,只需要增加硬件设备的数量,就可以支撑应用规模的增加,这个就是我们所说的:微服务架构。

如何选择合适的SaaS成熟度模型

需要考虑的因素主要有3点,包括但不局限:

  1. 产品面向的客户群体的特征和需求。
  2. 产品的租户数量级别。
  3. 团队的开发能力与愿意付出的开发/改造成本。

在选择合适SaaS成熟度模型时,必须也保持着架构演化这一原则,不需要一步到位。可以结合业务情况,从等级一 -> 等级二 -> 等级三 -> 等级四 进行逐步演化。 而对于不同等级里所细分的等级也不一样,比如就算达成了等级四,但可能只实现了等级四的入门版本,我们也需要持续改进。

我们当时SaaS生鲜配送系统最开始是选择从等级3开始,之后逐步前进到等级四,目前仍处于等级四中的持续改进。

发表评论

您的电子邮箱地址不会被公开。