Integration of SPL and Microservices for the Development of Multi-tenant SaaS: a proposal for
architectural guidelines to design variabilities implemented through microservices
Software Product Line; Microservices; Software Architecture; Software Reuse; Multi-tenant SaaS;
architectural guidelines
Designing systems to serve a large number of people, who have similar demands, but also have varied needs and generate a huge volume of data, requires a software architecture that allows constant evolution, is easy to maintain, and has the ability to scale smartly. The SPL technique with microservices architecture seems promising to meet these requirements, but this integration is not trivial. Thus, an SLR that identified 3 architectures that
proposed the combination of these techniques for the implementation of variability was performed. However, the architectures found were complex and reduced time-to-market, as they proposed the implementation of all resources through microservices. Thus, in order to reduce the complexity of development and, consequently, reduce the time to market, this work presents guidelines for the design of a hybrid architecture, through the combination of traditional architectures and microservices. In addition, this research paper presents a case study that consisted of defining the architecture of an SPL of medical clinics as a Multi-tenant Software as a Service (SaaS). This architecture was analyzed and compared with an architecture built from the guidelines presented in one of the works found in SLR.