Multitenancy

A multitenant system is a single system that is logically partitioned into multiple heterogeneous business processing environments, which each operate as if they were on a dedicated, stand-alone system. In multitenancy, a tenant is a secure region of a multitenant system. A tenant shares a single database, rulesets, and code that support the operations of the other tenants in the system. However, tenant specific content is stored in a tenant-safe database component visible only to the user of that tenant. A tenant is stored as an instance of the Data-Admin-Tenant class.

Pega Platform provides multitenancy in the following ways:

  • Multi-instancing where each tenant has its own system. In this model the applications are managed per system. Operations and management are typically costlier.
  • Multitenant Edition achieves multitenancy through architectural means. The database schema is enhanced so that tenant-specific information is isolated to the data access layer. Logically, a multitenant system is partitioned into a shared region (code and rules available to all tenants) and tenant region (with tenant- specific applications or overrides). The system is aware of the tenant and ensures that tenants are isolated from each other. Tenants are restricted from using certain features that might inadvertently or maliciously expose another tenant’s data or content.
  • Applications can build in multitenancy as part of the application design. In this model a tenant ID is added to the class model of the application. It was the primary way to deliver multitenant application prior to Multitenant Edition.

In all cases, a multitenant provider deploys and operates a multitenant system. The multitenant provider is responsible for all aspects of:

  • System planning, operation, and maintenance
  • Security
  • Tenant life cycle
  • Provisioning of shared content
  • Tenant application development and customization