The Different Flavours of Multi-tenancy

Posted June 19th @ 1:01 am by Darren

Phil Wainewright started an excellent discussion about the different variations of multi-tenant applications. He identifies different multi-tenant architectures implemented by leading SaaS vendors. For example Salesforce.com, Intacct and Oracle all claim to host multi-tenant applications; but the architecture of each system varies greatly.

For example, Salesforce.com is the purest multi-tenant application. Each component from hardware to software, right down to the database tables are shared by all users. Therefore all users will be making queires the exact same set of tables and hence the same schema. This is what Phil calls: “1st Degree Multi-Tenancy”.

There are also lesser degrees of multi-tenancy where some organizations can choose not to be upgraded to the next version. In which case, users will be hosted on different instances based on the version they requested. This is what is known as “2nd Degree of Multi-Tenancy”

Even lesser degrees of multi-tenancy exists, for example Isolated-Tenancy. This architecture can include virtualized servers in which the application is running in separate virtual machines on the same hardware. In this case, the software and database is not being shared, just the hardware.

But the most important part of this discussion came from the debate of whether or not it is compulsory for SaaS companies to have a pure multi-tenant system.

In my opinion, I don’t believe in tying down the definition of SaaS with a specific application architecture. The best analogy I can think of is that SaaS is like renting property. It does not matter if you’re renting a townhouse shared by 10 other tenants or an apartment which is shared by 100 tenants. Heck, it doesn’t even matter if you rent a house. The point is, you’re paying a monthly fee for a service (i.e. shelter, maintenance & facility).

SaaS is like renting software, regardless of whether you’re sharing the server with 10 or 10 000 other customers. Even if a vendor is hosting isolated servers for each customer I would still consider that SaaS. Ultimately, the user is paying for the hosting, maintenance and the use of software, regardless of what form it takes. I guess you will always run into a Definition Police (consultants or PHDs) who likes to make different definitions for the same concept just to sound smart.

I think it would be more productive to discuss which multi-tenant architecture is better. For example, is it better to rent a house or an apartment? Likewise, is it better to go with a SaaS vendor who provides isolated-tenancy? Sure it’s better for security and guaranteeing performance. But think about the maintenance ramifications when a vendor needs to maintain 1000s of customers all on isolated systems.

Advertisement


No Comments Yet

You can be the first to comment!

Leave a comment

Standard Login

Options:

Colors