Multi-tenancy in SaaS – Different needs
Many technical analysts and experts define SaaS as a shared code based, multi-tenant application hosted in a data center. Some go on to stress that multi-tenancy is a must in the SaaS world, while some argue that it is just a technical decision.
Is it multi-tenancy that differentiates SaaS from other hosted solutions? Many blogs/discussions and questions still persist! But the real question is – who needs multi-tenancy? Is it the application vendors, service providers, architects or customers? Do SaaS customers relate to it? Let us look at different teams and their ‘view’ of multi-tenancy.
- Engineering: A group of geeks working behind-the-scenes to develop the application, the way it looks and behaves. Do they need multi-tenancy? It can be argued, but the answer is ‘Yes!’ To manage a single code base with so many tenants’ data, multi-tenancy is easily the best solution that the engineering team can prescribe. Though it has its own challenges to deal with, as any change or defect can affect all the customers and can create a wider impact, but a discipline and a defined methodology can overcome these easily.
- Operations: Okay, so the Engineering team has built a good scalable solution with an optimized code base to work with all the tenants. The Operations team is happy that they will not have to host different tenants on different servers, which will make their life easier. But then, if there is an issue with the instance or the database, they will have a huge task in hand to ensure that the system doesn’t go down because it if does, it impacts all the customers. Further, they need to manage on-boarding of a new tenant which demands special care as data privacy needs to be maintained. But then, these are just the kind of jobs the Operations team loves and they are outright methodical in what they do. Once documented, a guideline is all they will need.
- Sales: Now that we have developed a good multi-tenant SaaS solution with great looks and feel, the Sales team can go out in the market to sell. Probably the first few customers will be SMEs (Small & Medium Enterprises) or start-ups that are cost conscious. Then along come the big fishes and they have a lot of questions regarding the solution like where the server is hosted, how sanitized will their data be, who they will be sharing their instance with, what redundancy have been built into system, and so on. Initial reaction from the sales team is bound to be: “Wait a minute! These are technical questions that I shouldn’t be answering!” Wrong! The Sales team needs to understand what lies beneath the hood and what happens behind the scenes so that they can answer these questions comfortably.
- Customer: Agreed that initial setup and on-boarding is a breeze – a very cost effective way to start using a product without getting into overheads of who will manage it. But there are some questions from the Legal team that need to be answered. Is the application provider in compliance with the regulations? Since I share my data with other tenants, is my data safe from contamination? Can there be an instance only for me as my business does not allow me to share the instance? What guarantees do I get from the service provider? The list grows, but so does SaaS! Some amount of customer education and understanding is needed here.
- Business: “So, I have a great product which is multi-tasking for me while serving many customers but I can’t afford to put all eggs in the same basket, can I?” Business then talks to Operations and decides to bring in redundancy. They may decide to distribute the tenants across instances. In some cases tenants are informed while in other cases they are not, as it may not be relevant to them. While serving them, they may also have to deal with a big customer who doesn’t like ‘sharing’ and in order to continue the business they may decide to go solo for this customer. Will it still be called SaaS? We will handle this discussion in a different forum at a different place; let us go ahead with the original discussion first, as this is impacting the revenue and we are still in SaaS!
While designing a multi-tenant system, all the teams, including customers, have a role to play and have a say. No one wants to maintain a per customer instance, as overheads are too high in the SaaS world. Multi-tenancy may not define SaaS but it definitely does form an important attribute of SaaS. Not only is it good to have, but sometimes it is necessary to have too; otherwise all the benefits of OPEX vs. CAPEX get erased. Talk to your teams; allow the teams to collaborate to come out with the multi-tenant solution that is optimal for your business and product.
Let multi-tenant architecture or SaaS per se, define your team and how they think and operate. Bring in customers; speak to them about your multi-tenancy, make them understand how it works and most importantly how it will be benefitting them. After all, everyone in SaaS needs multi-tenancy; it is just that the needs from multi-tenancy are different.
What do you think?