Multi-Tenant Architecture
  • 24 Jun 2022
  • 2 Minutes to read
  • Dark
    Light

Multi-Tenant Architecture

  • Dark
    Light

Multi-Tenancy (MT) server architecture allows a single software instance to serve multiple, different groups of user accounts that also segregates data at rest.

MT architecture achieves this by separating instances from a designated Control instance into separate Tenant instances running on the same single-host server.

There are three supported deployment methods of MT: physical, standard logical, and segregated logical.

The following document compares and contrasts standard servers to MT servers, lists each method of MT deployment, and discusses example use cases for both.


Standard Server vs Multi-Tenant Server

Tenant Instance Limit
MT servers with default resource requirements should not exceed 30 tenants per individual server due to high resource intensity. 

Compared to a standard server, MT servers:

Standard Multi-Tenant

Supports only one version of each Flow.

Supports multiple versions of each Flow. 

Connects to only one database.Connects to one database per Tenant server in addition to one database for both the Default and Prototype Instances.
Initiates via one runtime.Initiates one runtime per Tenant server.
Shares the same Portal/Studio.Supports individual Portals per Tenant server.
Supports one Global Theme with different views respecting group/account levels.Supports Tenant servers sharing the same Portal Theme.

For Standard servers, resource requirements for the host server depends on the usage of the applications running on it. 

Furthermore, Administrators control the amount of accessible data and how it is accessed via user context and folder permissions. This allows Administrators to create separate unique work environments within a single server. 

This diagram depicts a Standard server setup.

Physical MT vs Logical Tenancies

Physical MT segregating data into separate databases by default.
This diagram depicts a physical MT setup.

Alternatively, Logical Tenancies can be separated into two different types: Standard and Data segregated. Consider all process requirements before choosing a method.

Flows do not restrict where data is read or written. Default Data Structures save into the server's SQL server database.

Data segregated logical MT environments instead implement an Integration Later to access external data sources with the same patterns. In combination with flexibility of integrating Flow logic, processes may support reading and writing data from both backend-specific and customer-specific databases at runtime.

With other deployment methods, Data Structures cannot be configured to save in different databases. Furthermore, users are not required to save data into the backend database.

This diagram represents a Data Segregated Logical Multi-Tenancy setup. 

 


Use Case Examples 

Standard (Physical) Multi-Tenancy 

  • A customer wants to provide unique work environments to clients while reducing hosting costs.

    Physical MT runs multiple instances on one Windows server which allows each customer to work in their own independent environments from one another. Since this is all done with one server, hosting costs are minimalized.

  • A Flow that shares all of its main components amongst all of the customers accessing it. The customer needs to retain the flexibility to handle the biggest customers with completely custom Workflow versions. Physical MTs allow the ability to run 99% of the customers on the Single-Tenant and break these bespoke customers out into their own, independent Tenants.

Standard Logical Tenancy 

  • A customer offers an extensive business rule engine for clients to process transactions. While each client uses the same version of the business rule engine, each client should have a personalized view of only their transaction data via a customer Portal.

    To achieve this, implementing standard logical tenancy allows data separation so each customer can only view their own data.

Data-Segregated Logical Tenancy 

  • The example for standard logical tenancy may apply with the added requirement that the transactional data also gets saved into customer-specific datastores.

For more information regarding Multi-Tenancy, see Decisions Forum: Multi-Tenant.

Was this article helpful?