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

skip to main content
10.1109/CESSER-IP.2019.00012acmconferencesArticle/Chapter ViewAbstractPublication PagesicseConference Proceedingsconference-collections
research-article

Analysis of the criteria adopted in industry to extract microservices

Published: 27 May 2019 Publication History

Abstract

A microservice architecture is expected to provide a better modularization and management of small and autonomous services. Other expected benefits include increased availability and time to market. There is a growing interest of both industry and academia on streamlining the migration of existing systems to a microservice architecture. However, the success of this migration is largely dependent on the use of appropriate criteria for extracting microservices from a code base. Recent studies indicate the selection and decomposition of microservices represent the main challenge along the migration. Academic techniques tend to support the extraction of microservices with either one or two conventional criteria, namely coupling and cohesion. There is limited knowledge on the criteria actually considered as useful by practitioners. Thus, we have performed an exploratory online survey with 15 specialists experienced on migrating systems to a microservices architecture. In particular, we question the relative usefulness of seven possible criteria for supporting decision-making along microservice extraction. The participants were also questioned about tools they have used, their limitations, and whether the decisions on extracted microservices were considered unsuccessful. Overall, the survey results suggest academic techniques do not totally satisfy the needs of practitioners. Practitioners often need to consider simultaneously at least four dominant criteria as well as their trade-offs to support their decisions. Most practitioners consider existing tooling support insufficient or even irrelevant to support their microservice extraction decisions.

References

[1]
C. Watson, S. Emmons, and B. Gregg. (2015) A microscope on microservices. {Online}. Available: http://techblog.netflix.com/2015/02/a-microscope-on-microservices.html
[2]
S. Fowler, Production-Ready Microservices, 2016.
[3]
S. Newman, Building Microservices, 1st ed. O'Reilly Media, 2015.
[4]
N. Dragoni, S. Giallorenzo, A. L. Lafuente, M. Mazzara, F. Montesi, R. Mustafin, and L. Safina, Microservices: Yesterday, Today, and Tomorrow. Cham: Springer International Publishing, 2017, pp. 195--216.
[5]
W. Luz, E. Agilar, M. C. de Oliveira, C. E. R. de Melo, G. Pinto, and R. Bonifácio, "An experience report on the adoption of microservices in three brazilian government institutions," in SBES. New York, NY, USA: ACM, 2018, pp. 32--41.
[6]
D. Taibi, V. Lenarduzzi, and C. Pahl, "Processes, motivations, and issues for migrating to microservices architectures: An empirical investigation," IEEE Cloud Computing, vol. 4, no. 5, pp. 22--32, 2017.
[7]
W. Scarborough, C. Arnold, and M. Dahan, "Case study: Microservice evolution and software lifecycle of the xsede user portal api," in Conference on Diversity, Big Data, and Science at Scale. New York, NY, USA: ACM, 2016, pp. 47:1--47:5.
[8]
J. Gouigoux and D. Tamzalit, "From monolith to microservices: Lessons learned on an industrial migration to a web oriented architecture," in ICSAW, 2017, pp. 62--65.
[9]
G. Mazlami, J. Cito, and P. Leitner, "Extraction of microservices from monolithic software architectures," in ICWS, 2017, pp. 524--531.
[10]
W. Jin, T. Liu, Q. Zheng, D. Cui, and Y. Cai, "Functionality-oriented microservice extraction based on execution trace clustering," in ICWS, 2018, pp. 211--218.
[11]
D. Escobar, D. Crdenas, R. Amarillo, E. Castro, K. Garcs, C. Parra, and R. Casallas, "Towards the understanding and evolution of monolithic applications as microservices," in CLEI, 2016, pp. 1--11.
[12]
L. P. Tizzei, M. Nery, V. C. V. B. Segura, and R. F. G. Cerqueira, "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, ser. SPLC '17. New York, NY, USA: ACM, 2017, pp. 205--214.
[13]
C. Pahl and P. Jamshidi, "Microservices: A systematic mapping study," in CLOSER, 2016, pp. 137--146.
[14]
N. Alshuqayran, N. Ali, and R. Evans, "A systematic mapping study in microservice architecture," in SOCA, 2016, pp. 44--51.
[15]
ISO/IEC/IEEE 24765: 2017(E): ISO/IEC/IEEE International Standard - Systems and software engineering-Vocabulary. IEEE, 2017.
[16]
A. Bucchiarone, N. Dragoni, S. Dustdar, S. T. Larsen, and M. Mazzara, "From monolithic to microservices: An experience report from the banking domain," IEEE Software, vol. 35, no. 3, pp. 50--55, 2018.
[17]
H. Knoche, "Sustaining runtime performance while incrementally modernizing transactional monolithic software towards microservices," ser. ICPE '16. New York, NY, USA: ACM, 2016, pp. 121--124.
[18]
Namiot and M. Sneps-Sneppe, "On micro-services architecture," International Journal of Open Information Technologies, vol. 2, no. 9, 2014.
[19]
R. Elmasri and S. Navathe, Fundamentals of Database Systems, 6th ed. USA: Addison-Wesley Publishing Company, 2010.
[20]
E. J. Chikofsky and J. H. Cross, "Reverse engineering and design recovery: a taxonomy," IEEE Software, vol. 7, no. 1, pp. 13--17, 1990.
[21]
J. Linaker, S. M. Sulaman, R. Maiani de Mello, M. Höst, and P. Runeson, "Guidelines for conducting surveys in software engineering," 2015.
[22]
R. M. de Mello and G. H. Travassos, "Surveys in software engineering: Identifying representative samples," in ESEM. ACM, 2016, p. 55.
[23]
C. Wohlin, "Guidelines for snowballing in systematic literature studies and a replication in software engineering," in EASE. New York, NY, USA: ACM, 2014, pp. 38:1--38:10.
[24]
A. Tahir and S. G. MacDonell, "A systematic mapping study on dynamic metrics and software quality," in ICSM, 2012, pp. 326--335.
[25]
B. Cornelissen, A. Zaidman, A. van Deursen, L. Moonen, and R. Koschke, "A systematic survey of program comprehension through dynamic analysis," IEEE Transactions on Software Engineering, vol. 35, no. 5, pp. 684--702, Sep. 2009.
[26]
P. D. Francesco, P. Lago, and I. Malavolta, "Migrating towards microservice architectures: An industrial survey," in ICSA, 2018, pp. 29--2909.

Cited By

View all
  • (2021)Data management in microservicesProceedings of the VLDB Endowment10.14778/3484224.348423214:13(3348-3361)Online publication date: 28-Oct-2021
  • (2021)Are we speaking the industry language? The practice and literature of modernizing legacy systems with microservicesProceedings of the 15th Brazilian Symposium on Software Components, Architectures, and Reuse10.1145/3483899.3483904(61-70)Online publication date: 27-Sep-2021
  • (2021)Facing the GiantProceedings of the 15th ACM / IEEE International Symposium on Empirical Software Engineering and Measurement (ESEM)10.1145/3475716.3475792(1-11)Online publication date: 11-Oct-2021
  • Show More Cited By

Recommendations

Comments

Please enable JavaScript to view thecomments powered by Disqus.

Information & Contributors

Information

Published In

cover image ACM Conferences
CESSER-IP '19: Proceedings of the Joint 7th International Workshop on Conducting Empirical Studies in Industry and 6th International Workshop on Software Engineering Research and Industrial Practice
May 2019
57 pages

Sponsors

Publisher

IEEE Press

Publication History

Published: 27 May 2019

Check for updates

Author Tags

  1. extraction
  2. industry
  3. microservices
  4. reengineering
  5. survey

Qualifiers

  • Research-article

Conference

ICSE '19
Sponsor:

Upcoming Conference

ICSE 2025

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)8
  • Downloads (Last 6 weeks)0
Reflects downloads up to 13 Nov 2024

Other Metrics

Citations

Cited By

View all
  • (2021)Data management in microservicesProceedings of the VLDB Endowment10.14778/3484224.348423214:13(3348-3361)Online publication date: 28-Oct-2021
  • (2021)Are we speaking the industry language? The practice and literature of modernizing legacy systems with microservicesProceedings of the 15th Brazilian Symposium on Software Components, Architectures, and Reuse10.1145/3483899.3483904(61-70)Online publication date: 27-Sep-2021
  • (2021)Facing the GiantProceedings of the 15th ACM / IEEE International Symposium on Empirical Software Engineering and Measurement (ESEM)10.1145/3475716.3475792(1-11)Online publication date: 11-Oct-2021
  • (2021)Modernizing Legacy Systems with Microservices: A RoadmapProceedings of the 25th International Conference on Evaluation and Assessment in Software Engineering10.1145/3463274.3463334(149-159)Online publication date: 21-Jun-2021
  • (2020)Search-based many-criteria identification of microservices from legacy systemsProceedings of the 2020 Genetic and Evolutionary Computation Conference Companion10.1145/3377929.3390030(305-306)Online publication date: 8-Jul-2020
  • (2020)Implications of Resurgence in Artificial Intelligence for Research Collaborations in Software EngineeringACM SIGSOFT Software Engineering Notes10.1145/3356773.335681344:3(68-70)Online publication date: 22-Oct-2020
  • (2019)Microservice-oriented Product Line Architecture DesignProceedings of the XIII Brazilian Symposium on Software Components, Architectures, and Reuse10.1145/3357141.3357599(113-122)Online publication date: 23-Sep-2019
  • (2019)Extraction of Configurable and Reusable Microservices from Legacy SystemsProceedings of the 23rd International Systems and Software Product Line Conference - Volume A10.1145/3336294.3336319(26-31)Online publication date: 9-Sep-2019

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