By Basant Singh, Software Engineer and Blogger
Over the past couple of years, single-tenant vs. multi-tenant SaaS debate has been creating loads of buzz in the technology circles. So, let me ask you a few questions:
Does multi-tenancy matter if you are a SaaS provider?
As a subscriber do you need to care if your SaaS is a single-tenant or multi-tenant?
Multi-tenancy has its benefits.
If you are curious and want an instant and short answer, it’s an emphatic – YES, it matters! Whether you are a SaaS provider or a SaaS consumer multi-tenancy matters to you. To simplify your decision making process let me tell you convincingly that if it’s not multi-tenant it’s not a true SaaS in the first place! Yes, The National Institute of Standards and Technology (NIST), The European Network and Information Security Agency (ENISA), Cloud Security Alliance (CSA) and many other authorities have already specified multi-tenancy as one of the essential (or at least desired) characteristics of a Cloud SaaS.
Disclosure: Many SaaS architectural considerations and the term multi-tenancy have been simplified for the purposes of this article.
Who/what are tenants?
In plain English, Tenants are subscribers (consumer/customer/client) of a service. For a B2B or Line-of-Business application like a CRM, a tenant can be a company with 100s of users. Examples: Salesforce.com and Google Apps for Business.
Similarly for Consumer oriented or B2C SaaS, individuals like you and me (yes, general public) can be tenants. A few examples could be Facebook, Twitter, Dropbox etc. But it’s important to note that though these services started themselves as a consumer oriented apps, of late they are trying to diversify themselves in to the B2B segment as well. Gmail is a true consumer oriented SaaS.
I must add here that in most of the cases, B2B services require more sophisticated architectural considerations and development efforts in comparison to the consumer oriented applications.
What is a Multi-tenant SaaS?
Do you know how a traditional web application is developed and deployed? It’s generally designed, developed and deployed keeping in mind the requirement of a single client. Simply speaking, it’s like developing and deploying different code base and different database instances for each client. So, if you have 100 clients this translates to 100 code bases (builds) and 100 databases to be deployed and maintained! See figure# 1 below for a graphical representation:
Multi-tenant SaaS architecture, on the other hand, is an application that is designed/architected in such a way that it maintains only one code base and one database for all the clients. So, all your 100 clients now may use a single code base and a single database instance! See figure# 2 below for a graphical representation:
How does it Benefit the SaaS Provider?
Reduced Support and Maintenance: It’s indeed no-brainer, as maintaining a single code base and database is far easier than maintaining and releasing patches for 100 code bases! Also, if you are upgrading your code or infrastructure it’s simply a onetime effort at one place rather than updating it in 100 different versions at many places.
…maintaining a single code base and database is far easier than maintaining and releasing patches for 100 code bases!
Cost Efficient – Sharing of resources (development and maintenance effort, infrastructure etc.) almost always converts to cost savings. Although a multi-tenant SaaS may require more time and effort initially yet it definitely pays in the long run once you’ve increased subscriber volume. In most of the scenarios, new subscriber’s signup and on-boarding process can be automated for a low or no touch sales and support.
A provider with single-tenant service can’t continue to provide the service at an affordable price point and hence may find it difficult to compete, hence may become financially unviable.
Security – You don’t need to worry about the security of every client’s applications anymore. Implement state-of-the-art security features in your single code base and database and deploy it with an infrastructure (IaaS) provider who has a good track record of security and up-time. Peace of mind!
How does it Benefit the SaaS Consumer?
All the points mentioned above would contribute to making a provider an efficient SaaS operator who can in turn pass on the extra benefits to their subscribers. An efficient service may attract higher number of subscribers and since SaaS is all about economies of scale, you have a better chance of getting the service at an affordable price point. Also, as the provider is managing all their subscribers from a single code base and database instance they will be putting their best efforts into offering a quality service.
…since SaaS is all about economies of scale, you have a better chance of getting the service at an affordable price point.
Multi-tenant SaaS is like sailing together on the same boat with everyone else. There are indeed some cons as well like even a minor hiccup can affect every subscriber (not in the scope of this article). However, on any day the pros of a multi-tenant SaaS far outweigh its cons hence do enquire about it before you sign up for your next SaaS.