home | non-tech | cs | ee | about
Abstract New

What is multitenancy? A quick explanation of Multi-tenant architecuture

Multi-tenancy is a feature that is touted as being fundamental to any cloud ecosystem (especially SaaS and PaaS) . In order to understand multi-tenancy better let us first try to answer the question –

“Who is the tenant?”

A tenant is the customer of the service provider. Multi-tenancy implies that resources are being shared between customers. These resources might be at the

  • Infrastructure level – two customers on Amazon might share the same physical hardware
  • Platform level – two customers might be sharing the platform. E.g., in Google App Engine two customers will be sharing the same instance of a database
  • Software level – two customers might be sharing the same instance of the software
In contrast, customers in the isolated tenant model do not share any resources.

Why is it cheaper?

Customers no longer require dedicated hardware and software (server, database etc). The Providers operate using a pay as you use model. Clients do not use 100% of the resources all the time. It’s a win-win situation where the provider can optimize resources to suit demand and the tenants do not need to pay for their idle time. Upgrades can happen in mass since all customers share instances of the same software. There is no necessity for the service provider to support multiple versions of the software.

Is multi-tenancy a pre-requisite for SaaS?

There has been a lot of debate around this question. Multi-tenancy is definitely a feature of mature SaaS applications. The real question is - What level of Multi-tenancy is required? There are offerings in the market that are completely multi-tenant - everything down to database tables are shared. There are other offerings where the customers just share the hardware. Deciding on the level of mulit-tenancy required is crucial for architecting a SaaS application.

No comments:

Post a Comment

© 2014 - 2015 abstract new. All rights reserved.