Technical Article

Single Tenant vs Multi Tenancy: What Each Costs to Run

Single tenant isolates by infrastructure and charges for it in every upgrade; multi-tenant shares one release and moves isolation into code. How to choose.

Share this article

Single tenant vs multi tenancy is usually framed as a security question, and it is mostly an operations question. In a single-tenant setup each customer gets their own installation and database. In a multi-tenant one, every customer shares one installation and one database, and the application keeps them apart. I have worked on both sides: a self-hosted Perfex CRM installation, which is single tenant by design, and the multi-tenant platforms that replaced it or grew next to it, including Omnitech CRM and the platform that runs this website. This article compares the two on what they cost to run, where each one fails, and how to choose. The decisions that follow once you choose multi-tenant are in SaaS platform architecture: the decisions that come first.

The two models in one paragraph each

Single tenant: each customer runs their own copy of the application with its own database, often on its own server. Nothing is shared, so one customer can’t see another’s data even if the application has a bug. Most self-hosted business software works this way: Perfex CRM is installed once per company, and that company owns the whole installation.

Multi-tenant: one deployment serves every customer. Each customer is a tenant, and every tenant-owned row carries the tenant’s id. Omnitech CRM and this website’s platform both work this way: one codebase, one database, one release, with the application making sure each request only ever reaches its own tenant’s rows.

Left: three customers, each with their own application and database. Right: three customers sharing one application and one database, with a tenant id on every row.
Single tenant isolates by infrastructure. Multi-tenant isolates in the application.

Single tenant vs multi-tenant, side by side

Single tenantMulti-tenant
Isolation By infrastructure; a bug can’t cross customers By application code; a missing filter can
Upgrades One per customer, often on different versions One release for everyone
Cost per customer A server, a database and backups each A share of one deployment
Onboarding a customer Provision an environment Create a tenant record
Per-customer customisation Easy, and the reason upgrades get hard Through settings and modules, never forks
Noisy neighbours None One heavy tenant can slow the others
Reporting across customers A query per installation One query
Data residency or a dedicated-database contract Natural fit Needs a hybrid
The trade-offs as they showed up in practice on the platforms described below.

What single tenant cost in practice

Omnitech ran its CRM on Perfex, a single-tenant installation. The isolation was never the problem; the costs were the ones that come with owning an installation:

  • Business rules lived in custom modules inside the installation (pricing and sales discount rules among them), so each one had to be carried through every upgrade of the base product.
  • The permission model was whatever the base product shipped: visibility was baked into permission names (view, view_own, minimal_access), and changing that meant changing someone else’s code.
  • A second company or workspace means a second installation to host, back up and upgrade, which is the model’s cost in general, not a Perfex quirk.

Omnitech CRM is its replacement: a multi-tenant system designed from the start, with its own permission model (how access control works there) and an idempotent import that moved the data across (the reconciliation).

What multi-tenant cost in practice

Multi-tenant moved the cost from operations into code. On this website’s platform, which serves mmuzammilq.com and GrowBizNest from one database, that cost is concrete:

  • Every tenant-owned table has a tenant column, and 45 models carry one trait that filters reads, stamps writes and throws when no tenant is bound.
  • Queued jobs carry the tenant in their payload and restore it before they run.
  • The page cache is keyed by host and invalidated per tenant, so one site’s publish never clears the other’s cache.
  • A test suite checks each of those rules, because a weakened rule doesn’t fail loudly on its own.

In return, a fix ships to both sites in one deploy, and a new site is a seeder rather than a server. The isolation rule that makes it safe, failing closed rather than open, is compared across four platforms in multi-tenant isolation.

The hybrid: shared by default, dedicated on request

The choice is not binary. A common end state is a multi-tenant application where most tenants share a database and a few, for contractual, regulatory or load reasons, get a dedicated database or deployment running the same code. AWS’s SaaS architecture guidance describes these as different deployment models within one SaaS product.

I have not run a hybrid in production, so I won’t claim its costs from experience. What I would insist on is the same thing that makes the shared model safe: the application resolves the tenant first and never falls back, so a tenant that moves to its own database is a change in where its connection points, not a change in how the code finds its data.

How to choose

If this is trueLean towards
Customers run the same product and the same release Multi-tenant
You have more customers than people to run installations Multi-tenant
You need reporting or features across customers Multi-tenant
A customer contract requires their own database, region or server Single tenant for that customer, or a hybrid
Each customer needs deep changes to the product itself Single tenant, and plan for the upgrade cost
You have a handful of very large customers with very different load Single tenant or a hybrid
A rule of thumb. Most SaaS products end up multi-tenant with a few exceptions.

If you are deciding for an existing product, the Platform Change-Readiness Scorecard scores tenant isolation and fourteen other factors in about ten minutes. For a review of the decision with your own constraints, see SaaS architecture.

Share this article

References

  1. AWS: SaaS Architecture Fundamentals, re-defining multi-tenancy
  2. OWASP Multi-Tenant Security Cheat Sheet

Evidence and further reading

All insights →
Case studyOmnitech CRMMulti-tenant CRM and revenue platform with fail-closed tenant isolation, scoped permissions, configurable pipelines, lead conversion, and legacy-data migration. InsightSaaS Platform Architecture: The Decisions That Come FirstSeven decisions a multi-tenant platform has to make before features, in the order they bind each other, with what each one cost on four platforms I run.

Facing a similar problem?

Platform & Integration Review

For SaaS founders and engineering leads whose platform is getting slower and riskier to change.

Request an assessment

Let's build what's next

Have a complex system that needs to be built right?

Whether you are starting from an idea, replacing an existing platform, or scaling a system, let's talk.

Better Technology.
Brighter Possibilities.