Technical programming journals, websites, and blogs all over the internet are littered with people’s views and assertions about making the decision between single tenancy or multi-tenancy.
Quite often, we talk to people who know a little bit about what this means, enough to have a semi-informed conversation. However, when it comes to their business and how this type of architecture fits in, they’re a little in the dark.
So, let me explain this in layman’s terms.
Multi-tenancy means that a single instance of the software and all of the supporting infrastructure serves multiple customers. Each customer shares the software application and also shares a single database. The data is tagged in the database as belonging to one customer or another, and the software is smart enough to know who the data belongs to.
A single instance of the software and all of the supporting infrastructure serves a single customer. With single tenancy, each customer has their own independent database and instance of the software. With this option, there’s essentially no sharing going on. Everyone has their own, separate from everyone else.
So what are the pros and cons?
Each of these options comes with their associated pros and cons within the context of enterprise-grade software. (And when I talk about enterprise software, I mean software that any size business uses to solve problems.)
From our own experiences with many types of businesses using digital workplace software, from small start-ups to the Fortune 500, I’m going to focus on highlighting the virtues of single tenancy over multi-tenancy.
Here are a few of the pros of single tenant software over multi-tenant:
1. Single tenant gives you enhanced security.
With single tenant, each customer’s data is completely separate from any other customer, so there’s little chance of one customer accessing another customer’s data accidentally.
Single tenancy systems can leverage all of the security that is built into databases to prevent and discourage hacking, whereas multi-tenant systems need to develop their own security systems to achieve these same benefits … with the walls between data of different customers much thinner.
You have to keep in mind that no system is 100% secure. A determined hacker with considerable time and resources can break through. The task of the software developer is to make sure the security is robust enough so it’s not worth a hacker’s time. Multi-tenant applications make reaching that threshold more difficult and costly, since they are more prone to security risks because every customer’s data resides inside a single database.
2. Single tenant systems are usually more reliable.
The performance of one customer’s system is not affected by the actions of other customers. If one customer’s software instance goes down — while they are working on some particularly tricky integration, for example, or if the software has bugs that causes it to give errors — it will not affect other customers’ sites. But … with the multi-tenant model … what one customer does can impact all of the other customers.
3. Single tenant systems are easier to backup and restore.
Backing up and restoring customer databases in a single tenant system is extremely easy, since each client database has its own separate backup.
Backing up multi-tenant databases can be a nightmare, and this is why many multi-tenant systems do not offer this option. To get around this, multi-tenant systems often limit customers on the choices they have to manage content, imposing storage and access limitations … which could also present potentially serious legal issues as well.
4. Single tenant is easier to migrate from SaaS to Self-Hosted.
If a customer using a single tenant system wants to move from a SaaS environment (where the software is hosted for them, usually by the offering company) into a self-hosted environment (where they host the software on their own managed servers), it is a simple process with little or no headaches. With the multi-tenant model, it gets a little more complicated, and is often impossible to move or extremely costly to move to a self-hosted environment.
5. Single tenant systems are more flexible.
The single tenant model allows customers to have a wide range of customization options, since both the database and software instances are unique to each customer. With single tenant, you can be given access to the underlying code to modify and customize it however you want.
In contrast, multi-tenant systems are often very limited to the kinds of customizations you can do. You might be able to change the logo and colors, drag-and-drop some widgets here and there, and set up some basic business rules or workflows. But since you are using a shared system, making changes to the platform are usually impossible. And most importantly, these systems are created by the imagination of software developer, thinking they know exactly the features you want and need for your unique business.
We don’t think our customers would want to be limited by anyone else’s imagination.
6. Single tenant gives you control over upgrades.
Now, this can be seen a pro or a con, depending on what is important to you.
In a multi-tenant system, all customers are upgraded at one time, in a single push of new code. This is great for systems where all customers are doing the same thing, and the users can accommodate and cope with change well.
In a single tenant system, each customer has to be upgraded separately. This gives you full control over when and how an upgrade takes place. You may choose to delay or maybe even skip an upgrade cycle … possibly because it comes at a particularly busy time for you, and you don’t want to disrupt your users with change.
Being in control over when and how updates happen is a virtue for most of our customers.
What’s important to you?
Do you want a system that you can customize without limitations? Or are you happy with using a one-size-fits-all system? It’s really up to you.
With Communifire, our social intranet software … given the flexibility we offer our customers and the amount of control they like to have … there is a clear case for single tenancy. We certainly don’t want to impose any limitations on our customers, and this is why we chose single tenancy over multi-tenacy.
Communifire stands out in a particularly crowded marketplace for its reasonable price and (more interestingly) the extreme flexibility it offers customers … to bring their own ideas to life. It goes well beyond ordinary concepts of customization, like changing the logo and the color palette (some of our low-end competitors don’t even offer this).
And with a basic understanding of how a REST API works, just about all limitations fall away. You can add new apps to the platform, bring in updates from other systems to populate the activity stream or notifications, or use Communifire’s broad range of applications and features in new and creative ways.
We believe that each customer has unique needs and deserves to have a solution that meets their needs with a minimum of compromise.