Skip to main content
04 Nov 2015

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.