What is Multi-Tenant?
Multi-tenant refers to a kind of architecture where a single instance of software runs on a server and serves multiple customers. In a multi-tenant environment, separate customers tap into the same hardware and data storage, creating a dedicated instance for each customer. Each tenant’s data is isolated and remains invisible to others, but is running on the same server.
Virtualization is closely related but involves each application running on a separate virtual machine with its own OS. Multi-tenancy has evolved to one code base and one database is used for all clients.
See Sisense in action:
How do I use it?
Instead of installing single-tenant software in isolated environments (like individual employee desktops or a dedicated server), multi-tenant allows developers to streamline and simplify access points. More recently, there’s been a trend to create an organizational layer to “house” everything together, leading to the rise of multi-tenancy. This architecture allows multiple users to share a database and its related applications. Some companies, like LogicBay, use both approaches.
Multi-tenancy originated in the 1960s, when companies rented space on mainframes, but didn’t receive more attention until the 1990s when application providers (ASPs) began to host applications on behalf of customers. More recently, multi-tenancy has become essential to SAAS companies with SAAS-based web applications like Salesforce, Microsoft Office 365, Slack and Zendesk so they can offer additional customization to groups of users within a client organization.
What value does it provide?
Multi-tenant is the ideal structure to take advantage of cloud infrastructure. More data is being migrated off-premise to the cloud. This will allow companies to better and more efficiently tap into diverse data sources. More specifically, the value of multi-tenancy includes:
- Decrease costs: Instead of each instance of an application requiring investment (for memory and processing), multi-tenancy allows multiple applications to share these costs.
- Simplify data mining: Data is more accessible. This approach allows for all data to be accessed by customers within a single database schema.
- Simplify client responsibility: Clients are responsible for software development, such as updates and patches, but not hosting and other areas that can be migrated to the Cloud.
- Streamline release: Instead of releasing data and code to individual client desktop and servers, the multi-tenant package only needs to be installed on a single server.
Key Risks of Multi-Tenancy
While multi-tenancy is the preferred and more common method in software development, it does carry some fundamental risks. They include:
- Security Risks: Shared hosting means you need stricter authentication and access controls to ensure your code is protected.
- Downtime: A shared resource introduces the risk of nationwide outages, which can affect your operations and your customers.