It’s a debate that has been going on for a long time and like most debates there’s no silver bullet that will work for everyone. While SaaS giants like Salesforce run on a pure multi-tenant model, we live in a world where spinning up a new “server” can happen in less than a minute and five years from now it will probably be less than ten seconds. Before I dive-into the debate and share my own two cents it’s important to go over the difference between a single and multi-tenant model.Quick note: I’ll be comparing single vs. multi-tenant specifically for SaaS businesses, this could still apply to other business models but SaaS is where my focus has been and what I know the best so I’ll stick with that.
Single-tenant SaaS is an architecture where each company using the software has their own instance of it, running on their own infrastructure. Go back in time ten years and this literally could mean each SaaS client getting their own physical server, provisioned just for them and with a version of the software just for them. Fast-forward to 2015 and this often happens through virtualization or as we love to now say, “it all happens in the cloud!”
Multi-tenant SaaS is an architecture where each company using the software is on the same instance, running on the same infrastructure. Now this doesn’t mean that everyone runs the exact same software, customizations can be made but all the customer data is store on the same server instance.
One of the best analogies I’ve heard to describe the difference between Single and Multi-tenant solutions is this. Think of single-tenancy as someone buying a house in a subdivision where you get your own house, pick the design, layout, and have the opportunity to customize the heck out of it. Now think of multi-tenancy as a skyscraper, all the units might be the same but you can do things like change out the light fixtures, update the sink, but you’re not going to be knocking down walls and changing the actual layout of the unit.
Got it? Good, now I’ll share my thoughts.
I’m a fan of the single-tenant model prior to a SaaS company hitting true scale. The reason here is a simple one, I’m a security nut and I know that humans are, well human, and they can make mistakes. In a multi-tenant model all of your customers are running on top of the same code-base which means if a human makes a mistake, you could break everyone. Also if security is compromised, they get the farm.
In a single-tenant model you do have more to manage since everyone could be running a very different version of your software, but if you break one person, it’s only that one person who is impacted, not everyone.
This is also why I say that I’m a fan of single-tenant until a SaaS company hits true scale. Once you have a lot of customers single-tenant definitely becomes significantly harder and more expensive to manage. At scale, and particularly at massive scale a multi-tenant model will be significantly less expensive.
That’s my two cents, now I’d like to hear yours. What are your thoughts on Single vs. Multi-tenant models for Saas? Comment and let your voice be heard!