skip to main content
10.1145/3622748.3622749acmotherconferencesArticle/Chapter ViewAbstractPublication PagessbcarsConference Proceedingsconference-collections
research-article

SPL integrated with Microservices: a hybrid architectural proposal for multitenant SaaS

Published:25 September 2023Publication History

ABSTRACT

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, we conduct a SLR that identified 3 architectures that proposed the combination of these techniques. 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 a proposal for the design of a hybrid SPL architecture, through the combination of large backend APIs and microservices. In addition, this research paper presents a case study that consisted of defining the architecture of a medical clinics SPL as a Multi-tenant Software as a Service. Finally, we compare the complexity of the architecture generated using our approach, with a microservice architecture constructed using other approach found in literature.

References

  1. Sven Apel, Don Batory, Christian Kästner, and Gunter Saake. 2016. Feature-oriented software product lines. Springer.Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. Wesley KG Assunção, Jacob Krüger, and Willian DF Mendonça. 2020. Variability management meets microservices: six challenges of re-engineering microservice-based webshops. In Proceedings of the 24th ACM Conference on Systems and Software Product Line: Volume A-Volume A. 1–6.Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. Saša Baškarada, Vivian Nguyen, and Andy Koronios. 2020. Architecting microservices: Practical opportunities and challenges. Journal of Computer Information Systems 60, 5 (2020), 428–436.Google ScholarGoogle ScholarCross RefCross Ref
  4. Alex Malmann Becker and Daniel Lucrédio. 2020. The Impact of Microservices on the Evolution of a Software Product Line. In Proceedings of the 14th Brazilian Symposium on Software Components, Architectures, and Reuse. 51–60.Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. Benjamin Benni, Sébastien Mosser, Jean-Philippe Caissy, and Yann-Gaël Guéhéneuc. 2020. Can microservice-based online-retailers be used as an spl? a study of six reference architectures. In Proceedings of the 24th ACM Conference on Systems and Software Product Line: Volume A-Volume A. 1–6.Google ScholarGoogle Scholar
  6. Kyle Brown and Bobby Woolf. 2016. Implementation patterns for microservices architectures. In Proceedings of the 23rd conference on pattern languages of programs. 1–35.Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. Simon Brown. 2018. Just Enough Software Architecture: A Risk-Driven Approach. Marshall Press, New York, NY.Google ScholarGoogle Scholar
  8. Mike Cohn. 2004. User Stories Applied: For Agile Software Development. Addison Wesley Longman Publishing Co., Inc., USA.Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. Ana Claudia LAI Costa, Thelma E Colanzi, Anderson S Marcolino, and Ellen F Barbosa. 2019. Microservice-oriented Product Line Architecture Design: An Exploratory Study. In Proceedings of the XIII Brazilian Symposium on Software Components, Architectures, and Reuse. 113–122.Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. Manoel Marisergio Alves de Oliveira. 2023. Integração de LPS e Microsserviços para o Desenvolvimento de SaaS Multilocatário: proposta de diretrizes para o projeto arquitetural com variabilidades implementadas por meio de microsserviços. Master’s thesis. Universidade Federal Rural do Semi-Àrido e Universidade do Estado do Rio Grande do Norte, Mossoró.Google ScholarGoogle Scholar
  11. Eric Evans. 2014. Domain-Driven Design Reference: Definitions and Pattern Summaries (1st edition ed.). Addison-Wesley Professional.Google ScholarGoogle Scholar
  12. Martin Fowler. 2017. Microservice Trade-Offs (2015). Dostupné z:https://martinfowler. com/articles/microservice-trade-offs. html (2017).Google ScholarGoogle Scholar
  13. Sara Hassan and Rami Bahsoon. 2016. Microservices and Their Design Trade-Offs: A Self-Adaptive Roadmap. https://doi.org/10.1109/SCC.2016.113Google ScholarGoogle ScholarCross RefCross Ref
  14. Kyo C Kang, Sholom G Cohen, James A Hess, William E Novak, and A Spencer Peterson. 1990. Feature-oriented domain analysis (FODA) feasibility study. Technical Report. Carnegie-Mellon Univ Pittsburgh Pa Software Engineering Inst.Google ScholarGoogle Scholar
  15. James Lewis and Martin Fowler. 2014. Microservices: a definition of this new architectural term. https://martinfowler.com/articles/microservices.html. Accessed: 2023-05-07.Google ScholarGoogle Scholar
  16. Welder Luz, Everton Agilar, Marcos César de Oliveira, Carlos Eduardo R de Melo, Gustavo Pinto, and Rodrigo Bonifácio. 2018. An experience report on the adoption of microservices in three Brazilian government institutions. In Proceedings of the XXXII Brazilian Symposium on Software Engineering. 32–41.Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. Peter Mell, Tim Grance, 2011. The NIST definition of cloud computing. (2011).Google ScholarGoogle Scholar
  18. Vinicius Feitosa Pacheco. 2018. Microservice Patterns and Best Practices: Explore patterns like CQRS and event sourcing to create scalable, maintainable, and testable microservices. Packt Publishing Ltd.Google ScholarGoogle Scholar
  19. Daniela Rabiser, Herbert Prähofer, Paul Grünbacher, Michael Petruzelka, Klaus Eder, Florian Angerer, Mario Kromoser, and Andreas Grimmer. 2018. Multi-purpose, multi-level feature modeling of large-scale industrial software systems. Software & Systems Modeling 17, 3 (2018), 913–938.Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. Grand View Research. 2022. Cloud Computing Market Size, Share & Trends Report, 2030. https://www.grandviewresearch.com/industry-analysis/cloud-computing-industry. (Accessed on 06/14/2023).Google ScholarGoogle Scholar
  21. Maya RA Setyautami, Hafiyyan S Fadhlillah, Daya Adianto, Ichlasul Affan, and Ade Azurat. 2020. Variability management: re-engineering microservices with delta-oriented software product lines. In Proceedings of the 24th ACM Conference on Systems and Software Product Line: Volume A-Volume A. 1–6.Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. Elemar Rodrigues Severo Junior. 2021. Manual do Arquiteto de Software. Arquitetura de Software, Brasil. https://arquiteturadesoftware.online/Google ScholarGoogle Scholar
  23. Davide Taibi, Valentina Lenarduzzi, and Claus Pahl. 2017. Processes, motivations, and issues for migrating to microservices architectures: An empirical investigation. IEEE Cloud Computing 4, 5 (2017), 22–32.Google ScholarGoogle ScholarCross RefCross Ref
  24. Leonardo P Tizzei, Marcelo Nery, Vinícius CVB Segura, and Renato FG Cerqueira. 2017. Using microservices and software product line engineering to support reuse of evolving multi-tenant saas. In Proceedings of the 21st International Systems and Software Product Line Conference-Volume A. 205–214.Google ScholarGoogle ScholarDigital LibraryDigital Library
  25. David Tripp. 2005. Pesquisa-ação: uma introdução metodológica. Educação e pesquisa 31, 03 (2005), 443–466.Google ScholarGoogle Scholar
  26. Frank J Van der Linden, Klaus Schmid, and Eelco Rommes. 2007. Software product lines in action: the best industrial practice in product line engineering. Springer Science & Business Media.Google ScholarGoogle Scholar
  27. João Varajão. 2021. Software Development in Disruptive Times. Commun. ACM 64, 10 (sep 2021), 32–35. https://doi.org/10.1145/3453932Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. SPL integrated with Microservices: a hybrid architectural proposal for multitenant SaaS

    Recommendations

    Comments

    Login options

    Check if you have access through your login credentials or your institution to get full access on this article.

    Sign in
    • Published in

      cover image ACM Other conferences
      SBCARS '23: Proceedings of the 17th Brazilian Symposium on Software Components, Architectures, and Reuse
      September 2023
      81 pages
      ISBN:9798400709524
      DOI:10.1145/3622748

      Copyright © 2023 ACM

      Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than the author(s) must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected].

      Publisher

      Association for Computing Machinery

      New York, NY, United States

      Publication History

      • Published: 25 September 2023

      Permissions

      Request permissions about this article.

      Request Permissions

      Check for updates

      Qualifiers

      • research-article
      • Research
      • Refereed limited

      Acceptance Rates

      Overall Acceptance Rate23of79submissions,29%
    • Article Metrics

      • Downloads (Last 12 months)23
      • Downloads (Last 6 weeks)2

      Other Metrics

    PDF Format

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader

    HTML Format

    View this article in HTML Format .

    View HTML Format