Multi-Tenancy

Scalable and large systems are often required to service multiple organizations. Such systems provide isolated security domain for each organization.  authorized users manage their organizational data and systems as if a dedicated server was set up for them. if authorized,  some users (administrators)  can create new organizations (called tenants) and extend rights to newly created administrators. 

Flexicore multi tenant service allows the creation of rules governing secure access of data across multiple tenants.

What is multi-tenancy?

 A software architecture in which a single instance of the software runs on a server or server cluster and serves multiple tenants (In most cases a tenant is an organization)

Why multi-tenancy is required?

When a service provider, that is, the organization building a system, needs to service organizations and not just discrete users, multi-tenancy becomes a must.

When organizations consuming the services need to delegate rights and services to sub-organizations such as subsidiaries or branches a hierarchical multi-tenancy is required.

FlexiCore Multi-tenancy

Flexicore is built from the ground up to support hierarchical multi-tenancy. Authorized users can create new tenants along with new tenant administrators, new administrators can create new tenants if so allowed.

If so authorized, administrators can access data across multiple tenants.   

Flexicore multi-tenancy is extremely efficient and uses default policies whenever explicit permission or denial is not required.

 

FlexiCore multi-tenancy in plugins.

When plugins are developed and new entities (entity instances are stored in the database) are defined in them, multi-tenancy is automatically included. All data queries and other data access operations are multi-tenancy  aware.

 

FlexiCore multi-tenancy in distributed systems.

When FlexiCore distributed systems support is used, tenants’ definitions and access rights are synchronized across the network, thus, a cloud-based cluster can transactionally synchronize data among multiple relational databases. Synchronization is intelligent and resilient.

Often, the cloud Saas or Paas based on Flexicore serves multiple organizations while connected edge systems or servers on-premises synchronize single-tenant data on them.

The edge device data can be managed locally or remotely. When managed remotely, connected users do not connect directly to the edge unit, they connect to the cloud based server. Updated data is then synchronized to the edge system.

Ready to get started?