Skip to main content
GullySystem

Multi-Tenant Platform Development

A multi-tenant platform serves many customer organisations from one system while keeping each organisation’s data apart. The separation model chosen sets hosting cost and support load.

Three ways to keep tenants apart

The separation model is decided first. It is hard to change once paying customers are live.

A tenant column on every table

Data for all customers sits in shared tables and every query filters by tenant. It costs least to run and needs discipline in each query written afterwards.

A database for each tenant

Each customer has its own database, which keeps separation clean and restores simple. Deployment and upgrades involve more moving parts.

A schema for each tenant

A middle path. Migrations run tenant by tenant instead of all at once.

What else a shared platform needs

Separation alone does not make a platform.

Tenant-aware backups

A restore brings one customer back to an earlier point without touching anybody else’s records.

Limits on heavy users

Per-tenant limits stop one customer’s year-long report from slowing the counter screen for the rest.

Settings for each tenant

Logos, tax rules, numbering series and working hours are set per customer, so two organisations on the same platform can look and behave differently. Nothing is shared by accident.

When separate installations are wiser

Sharing has a cost, and for a handful of large customers it can outweigh the saving.

A few large customers

Enterprise clients on different release schedules are often better served by installations of their own, each upgraded when that client is ready, not when the others are.

Data that must stand alone

A contract may require a separate database. That settles it.

Very different features

If every customer needs its own workflow, the work is closer to separate projects than to one platform.

FAQ

Frequently asked questions

Can a customer verify that their data stays private?

Yes, by inspecting the mechanism. Queries are filtered by tenant at the data layer, backups and exports run per tenant, and access by your team is recorded against a name.

Can one customer be moved to their own server later?

Yes, if the design allowed for it from the start. A tenant export and a fresh deployment is routine work when the separation was clean.

Does this make upgrades harder?

It changes them. All tenants move to the new version together. Support stays simple, and no customer can remain several releases behind.

Talk to us

Tell us what you need.

Share your requirements and one of our engineers will come back to you within one business day.

  • No obligation
  • A reply within one business day
  • Your details stay private

Start with your requirements

Seven short steps that tell us what you need. An engineer reads them before getting in touch.

Share your requirements