Friday, April 3, 2015

Your SaaS May Not be Multi-tenant–But Why Should You Care?

Over the past couple of years, single-tenant vs. multi-tenant SaaS debate has been creating loads of buzz in the technology circles. Let me ask you a few questions:
 
1. Does multi-tenancy matter if you are a SaaS provider?
  •  
  • 2. Does multi-tenancy matter if you are a SaaS subscriber - do you need to care if your SaaS is a single-tenant or multi-tenant?
  •  
  • If you are curious to know an instant and short answer, it’s an emphatic - YES, it matters! Either 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 mentioned 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 (over)simplified in this article for the sake of understanding.

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:
Single-tenant-SaaS
Multi-tenant SaaS architecture, in plain English, is an application that is designed/architected in such a way that it maintains only one code base and possibly (though not necessary) 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:

Multi-tenant-SaaS
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.

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 onboarding 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 having good track record of security and uptime. Peace of mind!
 

How does it Benefit the SaaS Consumer?

All the points mentioned above would obviously lead to make a provider as an efficient SaaS player who can in turn pass on the extra benefits to her/his subscribers. An efficient service may attract higher number of subscribers and as 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 her/his subscribers from a single code base and database instance s/he will put her/his best effort to offer a quality service.

Bottom-line
 
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. Is your SaaS multi-tenant?

0 comments:

Post a Comment