Skip to main content
← All capabilities
Available now

Platform capability · Multi-tenancy

Choose how separate each customer’s data and infrastructure are

Checks on every request, a separate database, or dedicated infrastructure

Shared platform services check the organization and the app instance on every customer request. Customer data in Authorization, Audit, Comments, Support, AI and sign-in accounts is kept in a separate database for each organization. Data and Automation use a separate database for each app instance. Where supported, a higher level of separation moves a customer’s data into a separate database or gives the customer dedicated infrastructure. Notification delivery is planned to follow.

Built in

What you get

  • Three layers: provisioning, then the platform for each deployment, then the apps for each customer
  • Shared services check the organization and the app instance on every customer request
  • Data and Automation give each app instance its own database, which can share a database server with others
  • Authorization, Audit, Comments, Support, AI and sign-in accounts keep each organization's data in a database of its own
  • Supported customer databases can run on a shared database server or on one dedicated to the customer
  • Dedicated components or a fully isolated stack give a customer its own infrastructure
  • The platform’s provisioning creates the AWS infrastructure for the level of separation you select
  • The same app can have different settings and data for each customer
  • Customer lifecycle: set up, suspend, resume and remove
  • A move from shared to dedicated creates the new component and tracks the data move, the switch and any rollback
  • Your own domain, a dedicated stack and customer-managed encryption keys
Under the hood

How it works

Two levels of data separation, then dedicated infrastructure

Shared services start with customer data in shared tables, where each row is marked with its organization. Customer application data can use a separate database on a shared database server. Supported databases and components can then move to dedicated infrastructure, or the customer can use a fully isolated stack. Which level applies depends on the service and the deployment plan.

Provisioning sets up and upgrades the infrastructure

The platform’s provisioning creates and upgrades infrastructure across regions from one place, using infrastructure-as-code: databases, caches, queues, storage and service containers. Once created, each deployment runs on its own. Provisioning handles setup and lifecycle only, and customer requests do not pass through it.

Move an eligible component to dedicated infrastructure

An operator or an authorized customer can ask for dedicated capacity for an eligible component. The platform records the request and creates the new component. A migration for that component then tracks preparation, the data move, the switch, any rollback and completion. Database moves above the standard size limit for automatic moves run in a scheduled maintenance window.

Request checks come before physical separation

Rows in shared services carry the organization and app instance they belong to, and the data-access layer requires both on customer queries. A separate database or separate infrastructure is an added boundary. It does not replace the check on each request.

Further additions

Additions that extend the capability described above.

  • Notification history, in-app messages, preferences and suppression state in each organization's own database

Want a deeper walkthrough of Multi-tenancy?

A solution architect will demo the live service against your domain model.

Get a deployment assessment