Multitenant System Pitfalls

Having worked on a couple of multi-tenant projects I thought I'd share my experiences with them.

For those unfamiliar with multitenant systems; the idea is to have a single production platform servicing multiple clients (tenants) at the same time rather than setting up a new production platform for each one of them. Mulit-tenancy promises better economies of scale and simplify deployment at the expense of additional development complexity. When the application is being developed to run on (expensive) application servers and databases it makes sense to utilize them fully before scaling out. Not having to deploy your application for every customer will save money.

The trade-off is development complexity. Here is a list of challenges you might face when implementing multi-tenancy:

Before starting a multitenant system do consider the development complexities involved. Multitenant systems make sense when buying expensive licenses for your application servers and databases, but they make much less sense when you're able to provision the system in the cloud or on cheap open source platforms.