With increased emphasis on cost cutting among mid-sized and larger organisations, multi-tenancy of software has come up to be a legitimate way of reducing IT cost overheads without compromising operations. Let’s take a deeper dive into what this concept is and how Liferay can be utilized to achieve operational efficiency.
What is Multi-tenancy in Software?
Multi-tenancy is a reference to the mode of operation of software where multiple independent instances of one or multiple applications operate in a shared environment. The different tenants or instances needs to be completely distinct and isolated with a single JVM. While the isolation has to be complete, the degree of physical integration may vary.
A key difference between single tenancy and multi-tenancy is the way resources are used across diverse users. So, in single tenant architecture, for 4 users, there will be 4 separate instances interacting with 4 databases. In a multi-tenant environment, the use of resources is optimized to a greater extent. A single instance will be created among 4 users and will access the database on a need basis.
Benefits of Multi-tenancy
This example brings us to the immediate visible benefits of multi-tenancy in IT systems –
1. Operational efficiency from shared code
2. Lesser load spikes
3. Low system requirements – shared servers
4. Easier to upgrade
Limitations of Multi-tenancy
There are some limitations that an IT head needs to be aware of before embracing Multi-tenancy:
1. Risk of hardware failure
2. Needs close monitoring to achieve desired performance
As is evident, these challenges can be easily overcome with a smart assessment of existing IT capabilities and integrating monitoring systems to track performance.
Ways to Apply Multi-tenancy in Enterprise Systems
1. SaaS or on-demand software
2. Thinking global but factoring in Local flavours
3. Country specific applications
4. Business Platform as a Service (BPaaS)
5. G2B, G2C or G2G implementation
How Liferay Supports Multi-tenancy?
Liferay has some distinct characteristics that makes it inherently ready for implementing multi-tenancy as given below:
- Liferay enables us to have multiple virtual hosts on a single instance
- It follows a well-defined hierarchy as given below:
- Each instance has its own set of groups, users
- Each instance has its own set of communities, pages
- Each user group has its own set of pages
- Each user has its own pages
- Groups can inherit from one another
- Portal instance with a unique company-id
- Liferay's database architecture allows every record to be identified uniquely on the basis of portal instance
Ways to Implement Multi-tenancy in Liferay
- Organization level Multi-tenancy
- This can be further drilled down to community level Multi-tenancy
- It can also be implemented by having multiple instances of the Liferay portal:
1. Implementation at Database Level - The single tenant model follows Independent Database, Independent Instances (IDII) architecture. By introducing Shared Tables, Shared Database Instances (STSI), you can bring in multi-tenancy. It can also be achieved by Independent tables, shared database instances (ITSI).
2. Implementation at Hosting Level – By putting up multiple domains to use the same host server’s resources, we can implement multi-tenancy at hosting level
3. Via Communities and Organizations – Multi-tenancy can be classified into 3 degrees:
Highest degree – PaaS, IaaS and SaaS all implement multi-tenancy
Middle degree – PaaS and IaaS implement multi-tenancy. SaaS is divided into smaller clusters provided to each tenant
Lowest degree – PaaS and IaaS implement multi-tenancy. Each tenant gets one instance of SaaS service
Successful Examples of Liferay Multi-tenancy implementation
A leading learning center portal needed integration with a waste management portal and a CSR website as part of their knowledge initiatives. It also needed to be open to future integration depending on the scope and coverage of knowledge program. Implementation of Liferay multi-tenancy brought multiple advantages for client –
1. Enhanced client satisfaction at lower cost – The solution utilized a shared environment comprising of Amazon S3 Web Servers, PostGRE SQL database and GIT version control
2. Multi-tenancy for multiple use cases –
- The learning center portal had a community based multi-tenancy
- The waste management portal had a role based and SSO based multi-tenancy
- The CSR website had a role based and SSO based multi-tenancy
Key Takeaways
- Multi-tenancy is a fantastic methodology to better utilize your resources
- Liferay is an ideal platform for multi-tenancy for inherent reasons
- The decision for adoption of multi-tenancy has to be made at the onset of designing your architecture. This should include the depth of multi-tenancy based on your business case
- The depth of your architecture can also be determined by analysing the physical hardware/cloud capacity
Interested in achieving cost optimization while increasing productivity? Get to know more about our Liferay Multi-tenancy expertise here. Connect with us to get an assessment done of your existing IT systems and determine its fitness for implementing Liferay based multi-tenancy architecture within your existing IT systems.