A middleware layer for flexible and cost-efficient multi-tenant applications

  • Authors:
  • Stefan Walraven;Eddy Truyen;Wouter Joosen

  • Affiliations:
  • IBBT-DistriNet, Katholieke Universiteit Leuven, Leuven, Belgium;IBBT-DistriNet, Katholieke Universiteit Leuven, Leuven, Belgium;IBBT-DistriNet, Katholieke Universiteit Leuven, Leuven, Belgium

  • Venue:
  • Proceedings of the 12th International Middleware Conference
  • Year:
  • 2011

Quantified Score

Hi-index 0.00

Visualization

Abstract

Application-level multi-tenancy is an architectural design principle for Software-as-a-Service applications to enable the hosting of multiple customers (or tenants) by a single application instance. Despite the operational cost and maintenance benefits of application-level multi-tenancy, the current middleware component models for multi-tenant application design are inflexible with respect to providing different software variations to different customers. In this paper we show that this limitation can be solved by a multi-tenancy support layer that combines dependency injection with middleware support for tenant data isolation. Dependency injection enables injecting different software variations on a per tenant basis, while dedicated middleware support facilitates the separation of data and configuration metadata between tenants. We implemented a prototype on top of Google App Engine and we evaluated by means of a case study that the improved flexibility of our approach has little impact on operational costs and upfront application engineering costs.