软件即服务(SaaS)越来越成为很多中小企业为降低成本和实现信息化的选择。在SaaS中的核心技术就是多租户技术。
多租户技术从实现模式上来讲,有如下几种方法:
方法 1 是所有租户共享单一应用程序实例,也就是相同的服务器、中间件和应用程序。
方法 5 是租户在单独的服务器上运行自己的应用程序实例(当前许多 Application Service Provider [ASP] 采用这种方法)。
在这两种方法之间,还有至少三种主要方法,它们具有不同的资源共享程度和开发复杂性。每种方法提供不同的收益(在可伸缩性和运营效率方面),需要不同的成本(在开发复杂性和投入市场的时间方面)。
这些方法中,方法1是共享程度最高,成本最低的,但是需要程序能够支持。
方法3-5是成本较高,但是不需要程序的任何改变。
Wiki上Multi-tenant的定义:
Multitenancy refers to a principle in software architecture where a single instance of the software runs on a software-as-a-service (SaaS) vendor's servers, serving multiple client organizations (tenants). Multitenancy is contrasted with a multi-instance architecture where separate software instances (or hardware systems) are set up for different client organizations. With a multitenant architecture, a software application is designed to virtually partition its data and configuration so that each client organization works with a customized virtual application instance.