Single vs Multi-tenancy

The defining feature of an enterprise application used to be a multi-tenant architecture. Managing computers used to be difficult, programmed infrastructure was not a thing and manual work to maintain installations was required. It was rational to try to handle as many tenants as possible per installation.

With cloud everything changed and applications started being built in a different way, single tenant architecture became the norm.

This shift is now the single easiest way to tell if an application has a  modern or legacy architecture. If you are sold a multi-tenant application you know you are getting obsolete "pre-cloud" software.

What are the primary issues to be aware of?

With a single tenant architecture you only needed to scale up enough to handle a single instance of your largest tenant scaling out can be handled at infrastructure level easily. Multi-tenant applications are rarely easily managed and automated.

Single tenancy improves security and allows for better isolation of tenants. The risk of application issues causing security problems is reduced. The downside of this isolation is that if you want tenants to share considerable amounts of information it will come with a higher overhead cost. Any multi-tenant application is likely to have hidden issues or complexities that limits scalability.

Regardless who is building the application yourself or a vendor, keeping it simple and going for a single tenant architecture is much faster. Removing the internal application complexities of a multi-tenant architecture is going to allow for faster application development.

When could multi-tenancy still be of value?

Even for modern super slim methods of deploying an application there is currently an overhead. If you need to scale to thousands or more tenants eventually this overhead will be considerable specially if the application is very light weight itself. Depending on business value per tenant this might be a scalability issue.

You want this:


Not this:

Comments

Popular Posts