Using microservices and software product line engineering to support reuse of evolving multi-tenant saas
LP Tizzei, M Nery, VCVB Segura… - Proceedings of the 21st …, 2017 - dl.acm.org
Proceedings of the 21st International Systems and Software Product Line …, 2017•dl.acm.org
In order to achieve economies of scale, a Software as a Service (SaaS) should be
configurable, multi-tenant efficient, and scalable. But building SaaS with these
characteristics comes at a price of having more complex services. Some works in the
literature integrate software product line engineering and service-oriented architecture to
tackle the complexity of building multi-tenant SaaS. Most of these works focused on
centralized approaches that rely on middleware or platforms, but they do not investigate the …
configurable, multi-tenant efficient, and scalable. But building SaaS with these
characteristics comes at a price of having more complex services. Some works in the
literature integrate software product line engineering and service-oriented architecture to
tackle the complexity of building multi-tenant SaaS. Most of these works focused on
centralized approaches that rely on middleware or platforms, but they do not investigate the …
In order to achieve economies of scale, a Software as a Service (SaaS) should be configurable, multi-tenant efficient, and scalable. But building SaaS with these characteristics comes at a price of having more complex services. Some works in the literature integrate software product line engineering and service-oriented architecture to tackle the complexity of building multi-tenant SaaS. Most of these works focused on centralized approaches that rely on middleware or platforms, but they do not investigate the use of decentralized architectural style. Microservices architecture is an architectural style that relies on small, decentralized, and autonomous services that work together. Thus, this paper investigates the integrated use of microservices architecture and software produt line techniques to develop multi-tenant SaaS. We conducted an empirical study that analyzes the behavior of software reuse during the evolution of a multi-tenant SaaS. This empirical study showed an average software reuse of 62% of lines of code among tenants. We also provide lessons we learned during the the re-engineering and maintenance of such multi-tenant SaaS.
ACM Digital Library