Enabling multi-tenancy: An industrial experience report

Multi-tenancy is a relatively new software architecture principle in the realm of the Software as a Service (SaaS) business model. It allows to make full use of the economy of scale, as multiple customers - “tenants” - share the same application and database instance. All the while, the tenants enjoy a highly configurable application, making it appear that the application is deployed on a dedicated server. The major benefits of multi-tenancy are increased utilization of hardware resources and improved ease of maintenance, resulting in lower overall application costs, making the technology attractive for service providers targeting small and medium enterprises (SME). Therefore, migrating existing single-tenant to multi-tenant applications can be interesting for SaaS software companies. In this paper we report on our experiences with reengineering an existing industrial, single-tenant software system into a multitenant one using a lightweight reengineering approach.

[1]  Slinger Jansen,et al.  Customization Realization in Multi-tenant Web Applications: Case Studies from the Library Sector , 2010, ICWE.

[2]  Alexander Zeier,et al.  Customizing Enterprise Software as a Service Applications: Back-End Extension in a Multi-tenancy Environment , 2009, ICEIS.

[3]  Thomas Kwok,et al.  A Software as a Service with Multi-tenancy Support for an Electronic Contract Management Application , 2008, 2008 IEEE International Conference on Services Computing.

[4]  Harry M. Sneed,et al.  Integrating legacy software into a service oriented architecture , 2006, Conference on Software Maintenance and Reengineering (CSMR'06).

[5]  Dean Jacobs,et al.  Ruminations on Multi-Tenant Databases , 2007, BTW.

[6]  Pearl Brereton,et al.  Turning Software into a Service , 2003, Computer.

[7]  Nitu,et al.  Configurability in SaaS (software as a service) applications , 2009, ISEC '09.

[8]  Yann-Gaël Guéhéneuc,et al.  Using design patterns and constraints to automate the detection and correction of inter-class design defects , 2001, Proceedings 39th International Conference and Exhibition on Technology of Object-Oriented Languages and Systems. TOOLS 39.

[9]  Anees Shaikh,et al.  Virtualization-Based Techniques for Enabling Multi-tenant Management Tools , 2007, DSOM.

[10]  Malcolm Munro,et al.  Understanding service-oriented software , 2004, IEEE Software.

[11]  Ying Chen,et al.  SPIN: Service Performance Isolation Infrastructure in Multi-tenancy Environment , 2008, ICSOC.

[12]  Gerardo Canfora,et al.  A wrapping approach for migrating legacy system interactive functionalities to Service Oriented Architectures , 2008, J. Syst. Softw..

[13]  Cor-Paul Bezemer,et al.  Challenges of reengineering into multi-tenant SaaS applications , 2010 .

[14]  Bo Gao,et al.  A Study and Performance Evaluation of the Multi-Tenant Data Tier Design Patterns for Service Oriented Computing , 2008, 2008 IEEE International Conference on e-Business Engineering.

[15]  Petri K. Laine The role of SW architecture in solving fundamental problems in object-oriented development of large embedded SW systems , 2001, Proceedings Working IEEE/IFIP Conference on Software Architecture.

[16]  Cor-Paul Bezemer,et al.  Multi-tenant SaaS applications: maintenance dream or nightmare? , 2010, IWPSE-EVOL '10.