Wednesday, August 4, 2010

Multi-Tenancy: Maintenance Dream or Nightmare?

Although multi-tenancy can lead to an improvement in the ease with which software can be deployed, maintenance can become more difficult due to the more complex code required in multi-tenant systems. Multi-tenancy is a concept which spans several software architecture layers and therefore, should be implemented in several software layers. If this is not done correctly, maintenance can become a nightmare. In our IWPSE-EVOL 2010 paper "Multi-Tenant SaaS Applications: Maintenance Dream Or Nightmare?" we discuss the pros and cons of multi-tenant systems with regards to maintenance.
We believe that the code complexity introduced by enabling multi-tenancy should not be significant in a well-designed single-tenant system. As a research project, we have migrated an existing single-tenant application to a multi-tenant one. We have used our multi-tenant reengineering pattern as a guideline:


We were able to do the migration by adding < 100 LOC to a 165 KLOC application. You can find the details of this process in our ICSM 2010 industrial paper "Enabling Multi-Tenancy: An Industrial Experience Report".

I'll be presenting this at the IWPSE-EVOL and ICSM conferences, so if you are there, drop by and we can have a beer afterwards!

Tuesday, June 8, 2010

SAP changes opinion about multi-tenancy

SAP was one of the companies who were against multi-tenancy, but in the new release of their product Business ByDesign they appear to have changed their opinion. Business ByDesign comes in a single-tenant and multi-tenant flavour.

It is definitely good to see large software vendors showing interest in multi-tenant solutions!

Tuesday, May 25, 2010

Challenges of Reengineering into Multi-Tenant SaaS Applications

First, I apologize for not updating this blog very much. I've been very busy with doing research and paper writing. I'll try to update more often :)

We have published a technical report on multi-tenancy, which I'd like to tell you about. You can download it at http://swerl.tudelft.nl/bin/view/Main/TechnicalReports (check the list out, there's tons of other cool stuff!).

Title: "Challenges of Reengineering into Multi-Tenant SaaS Applications"
Abstract: "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 the small and medium enterprise (SME) business segment. In our paper, we identify some of the core challenges of implementing multi-tenancy. Furthermore, we present an architectural reengineering approach to support the migration of single-tenant applications into multi-tenant applications."

Feedback is welcome and much appreciated!