CMS platforms are strongly trending towards multitenancy, which will become one of their defining characteristics in the near future. Content creation typically involves a large number of people working in geographically separate areas, so most CMSs support a collaborative environment. These practices mean that multitenancy is particularly advantageous for CMSs.
What is multitenancy?
Multitenancy is a software architecture that allows a single instance of an application to serve multiple tenants. Each tenant is a group of users with a common set of privileges for accessing the software instance. A multitenant architecture allows a software application to provide each tenant with a dedicated share of the instance's functionality, including configuration, data, and user management.
A multitenant application typically requires customization for each tenant for functions such as branding, access control, extensions and workflow. Customized branding allows each tenant to specify an application's look and feel to match that tenant's corporate branding. Tenants also need to independently customize their access control so they can establish the access privileges and restrictions for each user. Extensions to the data model should also be customizable, allowing tenants to manage an application's data according to their particular needs. Multitenant applications must also accommodate a wide difference in workflow between tenants.
Benefits of Multi-Tenant Applications
The benefits of multi-tenant application primarily include improvements to security, upgrades and support.
Multitenant applications provide security measures to ensure that each tenant’s data remains isolated and invisible to other tenants. Each user in a multitenant application should be assigned an individual login, so administrators can associate a specific user with each action performed on the platform. Multitenant applications enforce isolation in three distinct ways, including restricting access to the cloud service, restricting access to individual resources and restricting access to data.
Restricting access to the cloud service is the most common method of isolating tenants on a platform. Tenants must provide the correct credentials to the platform before they can use the service. Some service providers also restrict the network addresses from which a tenant may access the platform.
Restricting access to resources involves dedicating virtual resources to each tenant. This strategy imposes an additional level of security on top of access control.
Restricting access to data typically involves the service provider dedicating a database to each tenant, rather than storing each tenant’s data in a shared database.
Traditional update management involves administrators distributing changes to applications and databases. This process requires each customer to use a separate server in the case of a single-instance application. Administrators must then install the distribution package to each individual machine.
Multitenancy simplifies update management process, since the distribution package usually needs to be installed on only one single server. This capability means that the work needed to make updates no longer depends on the number of customers. Multitenant applications therefore have the latest upgrades all the time.
Service providers who host multitenant platforms can offer shorter response times since they only need to support one version of each application. Documentation should only reference the existing version to ensure correct responses from the help desk. Many users of a multitenant platform never encounter new bugs after a new version of software is installed because these bugs are discovered and reported by other users first. Multitenancy is also less confusing to users since they don’t need to track the software version they’re using.
Consider the problem of providing support in a traditional single-tenant environment, especially during an upgrade. A CMS system frequently has thousands of users, so the help desk typically remains busy creating, testing and delivering solutions to customer cases. The company decides to install a major upgrade that will offer many new features. However, the old version must remain running until the open cases are closed, while new cases are only opened on the new version.
The company must initially double the resources needed to support the application since both versions must run in parallel during the version migration. The old version will require almost all of its allotted resources at first, while the new version will require almost none of its resources. The old version’s resource usage will gradually decrease as the new version’s usage increases. The total resource usage may not increase beyond the usual level, but the company must still provide twice the normal resources during the migration. Furthermore, doubling the resource allocation usually means doubling usage costs, since a cloud provider typically charges a fixed rate per unit of resources provisioned.
A multitenancy platform doesn’t require a cost increase to support its users during an upgrade, since it can host each version of an application in separate partitions that share the same memory heap. This approach keeps the two application versions isolated from each other, while allowing the application resources needed to support the two versions to be easily shifted over time. The overhead needed to run two partitions is quite small, so the total resource requirement for a dual partition setup is only slightly more than that needed to run a single version of the application.
Why are these benefits important to CMS?
The benefits of multitenancy are particularly significant for CMS platforms due to the rate of change in web content. Multitenancy allows remote users to work together more efficiently with other team members by supporting a collaborative environment. CMS platforms also require short response times from customer support, which is more likely with a multitenant system.
Security is a critical design requirement of a cloud-based CMS, since a website is the first layer of protection that an attacker encounters when attempting to penetrate such a system. The widespread use of content contributors working from remote locations makes it especially important to access a CMS platform through a secure web interface. This requirement is easier to meet with multitenancy, which allows administrators to isolate customers more effectively.
Digital content may be confidential, thus requiring a greater level of security than a single tenant system can easily provide. The access control of a multitenant system allows administrators to assign privileges and roles to individual users, ensuring they can only access the content for which they have authorization.