servermulti-tenantsaassingle-instancemulti-instance-deployment

Saas: Single-instance vs Multi-instance vs Single-tenant vs Multi-tenant?


I've been reading about instances and tenants and in the Saas architecture. My questions are as follows (please correct anything that you notice I've gotten wrong with any of the following terms):

1) Instance: Is an instance of a piece of software just a copy of that software with its own database? Is there anything more to it than that?

2) Tenant: Is a tenant a user / group of users that share a common set of access privileges to an individual instance?

3) Single-instance: If a Saas provider offers single-instance service, does this mean that they create only a single instance of their software? Or does it mean that there could be multiple instances, but that each instance can serve multiple tenants? If so, is single-instance the same as multi-tenant?

4) Multi-instance: Does this mean that each instance can serve only one tenant, or can there be multiple instances that each serve multiple tenants? ie. Can a multi-instance service be either single-tenant or multi-tenant?

5) Single-tenant: Does this just mean that an individual instance can serve only one tenant, or does it also imply that there are multiple instances? ie. Can a single-tenant service be both single-instance and multi-instance?

6) Multi-tenant: Does this just mean that an individual instance can serve multiple tenants, or does it imply that there is only a single instance? ie. Can a multi-tenant service be both single-instance and multi-instance?

7) To sum up: Can you have single-instance+single-tenant, single-instance+multi-tenant, multi-instance+single-tenant, and multi-instance+multi-tenant?


Solution

  • I'm going to write from my direct experience:

    1) simple answer is 'yes'.

    2) nearly yes: there will probably be refined access rights, say an administrator or two, and general users.

    3) they're providing you with just one instance of that module, which will be single tenant.

    4) they're providing you with multiple instances of that module, which will be single tenant.

    5) I would use single-tenant to refer to the server hosting the instances is used by only one tenant. This might be done for perceived security benefits, or the server is running on a time zone that is non-standard for SaaS provider, like staying on UTC all year round.

    6) I would use multi-tenant to refer to the server hosting the instances is used by more than one tenant. This tends to be more cost effective and probably just as secure as single-tenant.

    7) yes, no, yes, yes.