Nothing Special   »   [go: up one dir, main page]

skip to main content
10.1145/3336294.3336319acmotherconferencesArticle/Chapter ViewAbstractPublication PagessplcConference Proceedingsconference-collections
short-paper

Extraction of Configurable and Reusable Microservices from Legacy Systems: An Exploratory Study

Published: 09 September 2019 Publication History

Abstract

Microservices is an emerging industrial technique to promote better modularization and management of small and autonomous services. Microservice architecture is widely used to overcome the limitations of monolithic legacy systems, such as limited maintainability and reusability. Migration to a microservice architecture is increasingly becoming the focus of academic research. However, there is little knowledge on how microservices are extracted from legacy systems in practice. Among these limitations, there is a lack of understanding if variability is considered useful along the microservice extraction from a configurable system. In order to address this gap, we performed an exploratory study composed of two phases. Firstly, we conducted an online survey with 26 specialists that contributed to the migration of existing systems to a microservice architecture. Secondly, we performed individual interviews with seven survey participants. A subset of the participants (13 out of 26) dealt with systems with variability during the extraction, which stated that variability is a key criterion for structuring the microservices. Moreover, variability in the legacy system is usually implemented with simple mechanisms. Finally, initial evidence points out that microservices extraction can increase software customization.

References

[1]
N. Alshuqayran, N. Ali, and R. Evans. 2016. A Systematic Mapping Study in Microservice Architecture. In International Conference on Service-Oriented Computing and Applications (SOCA). 44--51.
[2]
Sven Apel, Don Batory, Christian Kstner, and Gunter Saake. 2013. Feature-Oriented Software Product Lines: Concepts and Implementation. Springer Publishing Company, Incorporated.
[3]
Felix Bachmann and Paul C Clements. 2005. Variability in software product lines. Technical Report CMU/SEI-2005-TR-012. Carnegie Mellon University - Software Engineering Institute.
[4]
Len Bass, Ingo Weber, and Liming Zhu. 2015. DevOps: A software architect's perspective. Addison-Wesley Professional.
[5]
Jesús Bisbal, Deirdre Lawless, Bing Wu, and Jane Grimson. 1999. Legacy Information Systems: Issues and Directions. IEEE Software 16, 5 (Sept. 1999), 103--111.
[6]
A. Bucchiarone, N. Dragoni, S. Dustdar, S. T. Larsen, and M. Mazzara. 2018. From Monolithic to Microservices: An Experience Report from the Banking Domain. IEEE Software 35, 3 (2018), 50--55.
[7]
Robert C. Martin. 2002. Agile Software Development, Principles, Patterns, and Practices (1st ed.). Pearson.
[8]
Rafael Capilla, Jan Bosch, and Kyo-Chul Kang. 2013. Systems and Software Variability Management: Concepts, Tools and Experiences. Springer Publishing Company, Incorporated.
[9]
Luiz Carvalho, Alessandro Garcia, Wesley K. G. Assuncão, Rafael de Mello, and Maria Julia de Lima. 2019. Analysis of the Criteria Adopted in Industry to Extract Microservices. In International Workshop on Conducting Empirical Studies in Industry and International Workshop on Software Engineering Research and Industrial Practice (CESSER-IP). IEEE Press, Piscataway, NJ, USA, 22--29.
[10]
Frederick Chong and Gianpaolo Carraro. 2006. Architecture strategies for catching the long tail. MSDN Library, Microsoft Corporation (2006), 9--10.
[11]
Nicola Dragoni, Saverio Giallorenzo, Alberto Lluch Lafuente, Manuel Mazzara, Fabrizio Montesi, Ruslan Mustafin, and Larisa Safina. 2017. Microservices: Yesterday, Today, and Tomorrow. Springer International Publishing, Cham, 195--216.
[12]
Yael Dubinsky, Julia Rubin, Thorsten Berger, Slawomir Duszynski, Martin Becker, and Krzysztof Czarnecki. 2013. An exploratory study of cloning in industrial software product lines. In European Conference on Software Maintenance and Reengineering (CSMR). IEEE, 25--34.
[13]
D. Escobar, D. Cárdenas, R. Amarillo, E. Castro, K. Garcés, C. Parra, and R. Casallas. 2016. Towards the understanding and evolution of monolithic applications as microservices. In XLII Latin American Computing Conference (CLEI). 1--11.
[14]
Susan Fowler. 2016. Production-Ready Microservices (1st ed.). O'Reilly Media.
[15]
P. Di Francesco, P. Lago, and I. Malavolta. 2018. Migrating Towards Microservice Architectures: An Industrial Survey. In International Conference on Software Architecture (ICSA). 29--2909.
[16]
Paolo Di Francesco, Patricia Lago, and Ivano Malavolta. 2019. Architecting with microservices: A systematic mapping study. Journal of Systems and Software 150 (2019), 77 -- 97.
[17]
J. Gouigoux and D. Tamzalit. 2017. From Monolith to Microservices: Lessons Learned on an Industrial Migration to a Web Oriented Architecture. In International Conference on Software Architecture Workshops (ICSAW). 62--65.
[18]
W. Jin, T. Liu, Q. Zheng, D. Cui, and Y. Cai. 2018. Functionality-Oriented Microservice Extraction Based on Execution Trace Clustering. In International Conference on Web Services (ICWS). 211--218.
[19]
Johan Linaker, Sardar Muhammad Sulaman, Rafael Maiani de Mello, Martin Höst, and Per Runeson. 2015. Guidelines for Conducting Surveys in Software Engineering. (2015).
[20]
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 XXXII Brazilian Symposium on Software Engineering (SBES). ACM, New York, NY, USA, 32--41.
[21]
G. Mazlami, J. Cito, and P. Leitner. 2017. Extraction of Microservices from Monolithic Software Architectures. In International Conference on Web Services (ICWS). 524--531.
[22]
Ralph Mietzner, Andreas Metzger, Frank Leymann, and Klaus Pohl. 2009. Variability Modeling to Support Customization and Deployment of Multi-tenant-aware Software As a Service Applications. In Workshop on Principles of Engineering Service Oriented Systems (PESOS). IEEE Computer Society, Washington, DC, USA, 18--25.
[23]
Sam Newman. 2015. Building Microservices (1st ed.). O'Reilly Media.
[24]
Claus Pahl and Pooyan Jamshidi. 2016. Microservices: A Systematic Mapping Study. In International Conference on Cloud Computing and Services Science (CLOSER). 137--146.
[25]
Md Tajmilur Rahman, Louis-Philippe Querel, Peter C. Rigby, and Bram Adams. 2016. Feature Toggles: Practitioner Practices and a Case Study. In 13th International Conference on Mining Software Repositories (MSR). ACM, New York, NY, USA, 201--211.
[26]
C. B. Seaman. 1999. Qualitative methods in empirical studies of software engineering. IEEE Transactions on Software Engineering 25, 4 (July 1999), 557--572.
[27]
D. Taibi, V. Lenarduzzi, and C. Pahl. 2017. Processes, Motivations, and Issues for Migrating to Microservices Architectures: An Empirical Investigation. IEEE Cloud Computing 4, 5 (2017), 22--32.
[28]
Leonardo P. Tizzei, Marcelo Nery, Vinícius C. V. B. Segura, and Renato F. G. Cerqueira. 2017. Using Microservices and Software Product Line Engineering to Support Reuse of Evolving Multi-tenant SaaS. In 21st International Systems and Software Product Line Conference (SPLC). ACM, New York, NY, USA, 205--214.
[29]
Alexander von Rhein, Alexander Grebhahn, Sven Apel, Norbert Siegmund, Dirk Beyer, and Thorsten Berger. 2015. Presence-condition Simplification in Highly Configurable Systems. In 37th International Conference on Software Engineering (ICSE). IEEE Press, Piscataway, NJ, USA, 178--188.
[30]
Coburn Watson, Scott Emmons, and Brendan Gregg. 2015. A Microscope on Microservices. http://techblog.netflix.com/2015/02/a-microscope-on-microservices.html
[31]
Claes Wohlin. 2014. Guidelines for Snowballing in Systematic Literature Studies and a Replication in Software Engineering. In International Conference on Evaluation and Assessment in Software Engineering (EASE). ACM, New York, NY, USA, Article 38, 10 pages.

Cited By

View all
  • (2024)On the Usefulness of Automatically Generated Microservice ArchitecturesIEEE Transactions on Software Engineering10.1109/TSE.2024.336120950:3(651-667)Online publication date: 1-Mar-2024
  • (2024)Enhancing Reusability in Microservice Architecture2024 4th International Conference on Innovative Research in Applied Science, Engineering and Technology (IRASET)10.1109/IRASET60544.2024.10549318(1-7)Online publication date: 16-May-2024
  • (2023)Decomposition of Monolith Applications Into Microservices Architectures: A Systematic ReviewIEEE Transactions on Software Engineering10.1109/TSE.2023.328729749:8(4213-4242)Online publication date: Aug-2023
  • Show More Cited By

Recommendations

Comments

Please enable JavaScript to view thecomments powered by Disqus.

Information & Contributors

Information

Published In

cover image ACM Other conferences
SPLC '19: Proceedings of the 23rd International Systems and Software Product Line Conference - Volume A
September 2019
356 pages
ISBN:9781450371384
DOI:10.1145/3336294
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 ACM 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: 09 September 2019

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. architecture migration
  2. microservice architecture
  3. microservice customization
  4. software variability

Qualifiers

  • Short-paper

Funding Sources

  • Conselho Nacional de Desenvolvimento Científico e Tecnológico
  • Coordenação de Aperfeiçoamento de Pessoal de Nível Superior
  • FAPERJ

Conference

SPLC 2019

Acceptance Rates

Overall Acceptance Rate 167 of 463 submissions, 36%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)52
  • Downloads (Last 6 weeks)3
Reflects downloads up to 28 Sep 2024

Other Metrics

Citations

Cited By

View all
  • (2024)On the Usefulness of Automatically Generated Microservice ArchitecturesIEEE Transactions on Software Engineering10.1109/TSE.2024.336120950:3(651-667)Online publication date: 1-Mar-2024
  • (2024)Enhancing Reusability in Microservice Architecture2024 4th International Conference on Innovative Research in Applied Science, Engineering and Technology (IRASET)10.1109/IRASET60544.2024.10549318(1-7)Online publication date: 16-May-2024
  • (2023)Decomposition of Monolith Applications Into Microservices Architectures: A Systematic ReviewIEEE Transactions on Software Engineering10.1109/TSE.2023.328729749:8(4213-4242)Online publication date: Aug-2023
  • (2023)Automatically Refactoring Application Transactions for Microservice-Oriented Architecture2023 IEEE International Conference on Software Services Engineering (SSE)10.1109/SSE60056.2023.00035(210-219)Online publication date: Jul-2023
  • (2023)Revisiting the practices and pains of microservice architecture in realityJournal of Systems and Software10.1016/j.jss.2022.111521195:COnline publication date: 1-Jan-2023
  • (2022)A Comparative Study of Meta-Data-Based Microservice Extraction ToolsInternational Journal of Service Science, Management, Engineering, and Technology10.4018/IJSSMET.29867713:1(1-26)Online publication date: 1-Jan-2022
  • (2022)Analysis of a many-objective optimization approach for identifying microservices from legacy systemsEmpirical Software Engineering10.1007/s10664-021-10049-727:2Online publication date: 1-Feb-2022
  • (2022)Re-engineering Legacy Systems as Microservices: An Industrial Survey of Criteria to Deal with Modularity and Variability of FeaturesHandbook of Re-Engineering Software Intensive Systems into Software Product Lines10.1007/978-3-031-11686-5_19(471-494)Online publication date: 5-Jul-2022
  • (2022)The Adoption of Microservices Architecture as a Natural Consequence of Legacy System Migration at Police Intelligence DepartmentComputational Science and Its Applications – ICCSA 202210.1007/978-3-031-10522-7_25(354-369)Online publication date: 15-Jul-2022
  • (2022)A service graph based extraction of microservices from monolith services of service‐oriented architectureSoftware: Practice and Experience10.1002/spe.308152:7(1661-1678)Online publication date: 14-Mar-2022
  • Show More Cited By

View Options

Get Access

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media