SaaS 应用程序,需要满足以下 7 个条件:

1. 应用程序必须支持多租户

多租户是决定 SaaS 效率的关键因素。通常,应用程序支持多个用户,但是前提是它认为所有用户都来自同一个组织。这种模型适用于未出现 SaaS 的时代,组织会购买一个软件应用程序供自己的成员使用。但是在 SaaS 和云的世界中,许多组织都将使用同一个应用程序;他们必须能够允许自己的用户访问应用程序,但是应用程序必须只允许每个组织自己的成员访问其组织的数据。

能够让多个组织(SaaS 中的术语称为租户)共存于相同的应用程序,同时不会破坏这些组织的数据的安全性,具备这种能力的应用程序就可以称之为多租户应用程序。

2. 应用程序必须具备某种程度的自助注册功能

应用程序必须具备某种程度的自助注册功能,即便仅仅是一种请求机制,即产生一种向应用程序添加租户的业务流程。

3. 必须具备订阅/记账机制

必须提供订阅和记账机制。因为 SaaS 应用程序被设计为根据各种因素进行支付,如每个租户的用户数、应用程序选择,还可能包括使用时间等,必须通过某种方式来跟踪和管理应用程序的使用,然后生成可由租户管理人员访问的记账信息。

4. 应用程序必须能够有效地扩展

必须能够随着订阅的增长进行扩展。云基础架构是实现这一目的的逻辑方式,因为它嵌入了许多功能,可以支持您实现有效的、高效的扩展。

同样,必须提供治理和应用程序管理功能,以监视、配置和管理应用程序及所有租户。

5. 必须能够监视、配置和管理应用程序和租户

必须提供一种机制,可以对所有的用户进行监视和配置,并且可以管理租户使用的应用程序模块。SaaS运营商那,必须具备管理平台能够统一管理这些信息。

6. 必须有一种机制能够支持惟一的用户标识和身份验证

需要提供一种机制以支持用户标识和身份验证,允许用户拥有惟一的身份标识。由于多租户要求识别注册到系统中的所有用户,从而确定他们所属的租户,因此必须有一种明确的关系来将用户识别为属于某个特定租户。这种用户与租户的关系是非常重要的信息,用于限制用户可以访问的数据。

电子邮件地址是实现这一目的的一种典型方法,通过这种方式可以确保惟一性,每个用户可以被识别和标识为属于某个特定租户。

有多种身份验证机制和集成方法,因此必须具备一种灵活的机制来识别用户。通常,某个特定的租户需要能够利用其现有的 LDAP 或其他目录服务或身份验证机制来支持对 SaaS 应用程序的单点登录。尽管这种外部的用户身份验证非常重要,但是,需要由 SaaS 应用程序确定已识别的用户是属于它们所宣称的租户的成员。

7. 必须有一种机制能够支持对每个租户进行某种程度的自定义

必须提供一种机制来支持对每个租户进行一定程度的基本自定义,从而使它们具有惟一的 URL、登入页面、标识、配色方案、字体,甚至包括语言。

对每个租户的基本配置是预期的功能,但是要真正地满足多租户的需求,必须在基本配置的基础上对每个租户实现一定程度的自定义。

所需的典型定制类似于租户对内部应用程序版本所作出的定制。包括添加字段甚至是表格,设置特殊的业务逻辑,或集成另一种应用程序。在每个租户的基础上能够进行这类自定义,同时无需建立单独的实例(否则会降低多租户设计的效率),这就是高性能 SaaS 架构的典型特征。