Multi-Tenant Architecture
  • 22 Nov 2021
  • 3 Minutes to read
  • Dark
    Light

Multi-Tenant Architecture

  • Dark
    Light

Article Summary

v.7x instances do NOT CURRENTLY SUPPORT Multi-Tenant (MT)
v8.x instances expect to support MT. Please plan upgrades accordingly or contact Support for assistance.

Overview

Multi-Tenancy (MT) is a type of Server Architecture that allows a single software instance to serve multiple, different groups of users. The primary characteristic of an MT architecture is the segregation of data at rest. In Decisions, users have a variety of approaches available to deploy an MT architecture. The following document compares and contrasts the characteristics of these approaches by looking at three primary Multi-Tenant design methodologies.


Standard Server vs Multi-Tenant Server

About Chart 
The following chart represents a direct comparison between a Standard Decisions Server and a Multi-Tenant one. 
Standard Multi-Tenant

One version of each Workflow

Multiple Versions of each Workflow

One DatabaseOne Database per Tenant + one for Default and Prototype Instance
One RuntimeOne Runtime per Tenant 
All users share same Portal/Studio Individual Portals per Tenant
Single Login PageSingle Login Page
Single Global Theme Tenants share the same Portal Theme
Warning
Note that Decisions MT Servers should never exceed 30 tenants per individual Server as MT Servers have default resource requirements that may make this number of tenants (or higher) too expensive to host from a resource perspective.

Standard Server

In a Standard Server, all users on the Server share the same Portal/Studio. All data that is saved into Decisions Default Database Types by the Workflows executed, is stored within a single Database. While users share the same physical Portal, the view of that Portal can be configured uniquely at the Group/User Account level. 

The resource requirements for the Host Server depends completely on the usage of the applications running on it. Further, Admins can control the amount of accessible data and how it is accessed via user context and Folder Permissions; this allows the ability to create separate unique work environments while utilizing just a single Server. 

Additional Information 
For more information on Portal Permissions in Decisions, see User Portal Permissions.

Multi-Tenant Server 

By contrast, Multi-Tenant Servers provide the ability to allow multiple User Accounts to log into separate instances hosted on a single Server. A Multi-Tenant Architecture allows the ability to break out individual installations/instances from the Control (Primary) Instance. This provides the ability to host each instance as a separate instance running on a Single-Host Server.

Additional Information 
For more information on Multi-Tenant environments, see About Multi-Tenancy.



Differences Between Physical and Logical Multi Tenancies

The primary difference between Standard and MT Servers is that data is segregated into separate Databases by default. This type of architecture is referred to as Physical Multi-Tenancy. Decisions provides the flexibility of an additional option when designing a MT architecture that is known as Logical Tenancy.
Logical Tenancies can be separated into two different types: Standard and Data Segregated. The option a user chooses depends on the requirements of their process under consideration.

Decisions Flows do not put any constraints on where the data being handled is read from or is written to. Default Decisions Datatypes save themselves into the Server's SQL Server Database. Though there is no configuration available to define different Databases for these Dataypes, Decisions does not require users to save data into the Backend Database. There is an Integration Layer that allows the ability to access data from external sources using the same patterns. This feature paired the Flow Engine’s ability to integrate with an unlimited number of external Datastores can be used to imagine a process defined to read data from/write data to user/customer-specific Databases at runtime. 

Additional Information 
For more information on External Databases, see External Database Integration. 
About Diagram 
The following diagram represents a Data Segregated Logical Mult-Tenancy setup. 


Use Case Examples 

Standard (Physical) Multi-Tenancy 

  • An example Physical MT environment involves multiple customers each with their own completely separate process. This customer wants to reduce hosting costs by moving hosting to a single instance. As Multi Tenancies allow a customer to run multiple instances on one Windows Server, but they wish to provide their customers with independent work environments, a Physical MT is a good fit. This allows each customer to have their own unique work and environment.
  • Another example would be a Workflow 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 that may consider a Logical Tenancy has built a Business Rule engine that they need each of their customers to consume. Each customer uses the same version of the Flow-based Business Rule config but needs to view their transaction data separately (via a Customer Portal). Logical Tenancy allows the ability to separate the data being viewed so each customer can only view their own data.

Data-Segregated Logical Tenancy 

  • The above example for the Standard Logical Tenancy may be applied with the added requirement that the transactional data from the Business Rules Engine gets saved into customer-specific datastores.

Was this article helpful?