Multi-tenancy multi-target (mt^2)an extension to cloud multi-tenant architectures for multi-service support in saas enterprise information systems
- Rico Ortega, Antonio
- José Luis Garrido Co-director
- Manuel Noguera García Co-director
Defence university: Universidad de Granada
Fecha de defensa: 04 March 2016
- Oscar Pastor López Chair
- José Samos Jiménez Secretary
- Pericles Loucopoulos Committee member
- Antonio Ruiz Cortés Committee member
- Carlos Rodríguez Domínguez Committee member
Type: Thesis
Abstract
Multi-tenancy is an architectural pattern that permits several customers to share and run the same application instance, hence reducing the overhead via amortization over several organizations. This costs reduction has made the Multi-tenant Architectures (MTAs) to be considered one of the cornerstones in the success of cloud computing and its software distribution formula Software-as-a-Service (SaaS). In SaaS, applications are no longer purchased and installed locally, but “consumed” as utility and accessed via Internet. Similarly, users cease to be owners to become tenants of the applications and pay regularly for its use. This new paradigm is especially attractive to Small and Medium Enterprises (SMEs), not only because the clear economical reasons, but also because SaaS enables the access to top quality applications, so far reserved to big corporations. Furthermore, SaaS benefits also development companies that leverage cloud capacities not only at technical level, but also at commercial to broaden the spectrum of potential clients and/or reduce the time-to-market. However, the path to SaaS adoption by SMEs is subtle and subject for scientific research. Despite the price reduction, many small companies find this formula still unaffordable or inadequate. Besides, organizations are reluctant to shared environments since privacy and security are major concerns; confidence in the system relies on them and any breach could undermine the use of the system. For this reason, the data layer of traditional MTAs has attracted serious attention in the literature. Software architects must pay particular attention to security and integrate efficient mechanisms and components so as to ensure privacy and unauthorized entries. As traditional on-premises software does, SaaS MT applications deploy a single functionality. Therefore, functional needs that are not present in the system entail new subscriptions to other application/s or integration services between systems (probably from a different vendor/s). This scenario affects not only economically to companies (due to the new fees and the integration costs), but also increases users’ complexity and learning effort. On the other hand, development companies must carry out new projects and program new applications in order to satisfy the functional demands of the market. These new solutions duplicate common architectural components across different implementations, components that could be otherwise reused on the basis of appropriate design decisions. Consequently, the current scenario with multiple mono-functional solutions hinder the support to agility, as these duplications increment the effort and time-to-market. SaaS shared environment makes its underlying AMT an artifact of critical importance. However, profound studies detailing components and relations in this architecture are scarce. Current literature, besides infrequent, focuses at application level and does not pay attention to the indispensable administrative level used by software vendors or to the integration mechanisms with other systems. At the data layer design, publications are more abundant but once again, approaches focus on customers’ level and not in the management and support required to administrate this kind of applications. This thesis studies cloud multi-tenant architectures in depth, and explicitly define detailed reference models both for the AMTs and its critical data level. On the basis of these models we propose a novel extension to the traditional AMTs that allow multiple functionalities to be deployed selectively using one single software instance. This extension aims to foster reusability, again reduce the prices and decrease complexity in software use. Moreover, the approach advocates for agile architectures, since it provides a support for the agility in development, minimizing the effort and shortening the time-to-market. Lastly, in order to demonstrate the applicability of the proposal we present Globalgest, a commercial software application with underlying extended MTA architecture. Globalgest can deploy selectively multiple functionalities and it is currently serving more than 40 companies belonging to different sectors.