RSS Feed
Download our iPhone app
Browse DevX
Sign up for e-mail newsletters from DevX


Implementing a Multi-Tenancy Architecture, Tier by Tier

Go step by step through the tiers of a typical software stack, exploring the options for implementing multi-tenancy on each.


A typical software stack consists of two tiers (an application tier and a database tier) and three layers (the application layer, the middleware layer and the infrastructure layer). In this second installment of my implementing a multi-tenant cloud architecture series, I go step by step through the application layers and tiers, exploring the options for implementing multi-tenancy on each. The first installment explored the common strategies for implementing a multi-tenant architecture.

Multi-Tenancy for All Layers of the Application Tier

I begin with the multi-tenancy options for the three layers of the application tier. Figure 1 below provides a reference for our discussion, where T refers to tier, MW refers to middleware, and VT refers to virtualized tenant.

Multi-tenant cloud architecture
Figure 1. Multi-Tenancy for Application Layer of the Application Tier

Multi-Tenancy for the Application Layer

Here are the multi-tenancy options at each application layer:

  1. Enable a complete multi-tenancy application that serves multiple tenants, T1 to T3. The application itself resides on MW. This is a typical consideration for applications and services that are either built from scratch or re-engineered. In such a scenario, the application has all the capabilities required to serve multiple tenants at the same time.

  2. Enable multi-tenancy with virtualized tenants through a smart feature of the underlying MW1. If the application is not enabled with multi-tenancy, but the MW has capabilities to deploy it virtually in a multi-tenancy fashion, this might provide the application multi-tenancy capabilities.

  3. Instantiate an application instance and a corresponding MW instance per tenant. This might not be the only option if neither the application nor the capabilities in the MW allow multi-tenancy, as in options 1 and 2. In this case, multi-tenancy capabilities can be achieved on only the MW layer or the infrastructure layer.

Multi-Tenancy for the Middleware Layer

Each MW instance requires its own OS environment (see Figure 3 below). The OS is capable of serving multiple instances of the MW, which requires process-level and address space-level separation capabilities. The OS has virtualized OS capabilities with the instances vOS1 to vOS3. Each MW runs on its own virtualized OS environment.

Multi-tenant cloud architecture
Figure 2. Multi-Tenancy for Middleware Layer of the Application Tier

Multi-Tenancy for the Infrastructure Layer

For infrastructure layer, you have only two options:

  1. A single OS instance per hardware instance

  2. Multiple OS instances (OS1 to OS3) per hardware instance

Close Icon
Thanks for your registration, follow us on our social networks to keep up-to-date