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

skip to main content
10.1109/TechDebt.2019.00026acmconferencesArticle/Chapter ViewAbstractPublication PagesicseConference Proceedingsconference-collections
research-article

Architectural technical debt in microservices: a case study in a large company

Published: 26 May 2019 Publication History

Abstract

Introduction: Software companies aim to achieve continuous delivery to constantly provide value to their customers. A popular strategy is to use microservices architecture. However, such an architecture is also subject to debt, which hinders the continuous delivery process and thus negatively affects the software released to the customers.
Objectives: The aim of this study is to identify issues, solutions and risks related to Architecture Technical Debt in microservices.
Method: We conducted an exploratory case study of a real life project with about 1000 services in a large, international company. Through qualitative analysis of documents and interviews, we investigated Architecture Technical Debt in the communication layer of a system with microservices architecture.
Results: Our main contributions are a list of Architecture Technical Debt issues specific for the communication layer in a system with microservices architecture, as well as their associated negative impact (interest), a solution to repay the debt and the its cost (principal). Among the found Architecture Technical Debt issues were the existence of business logic in the communication layer and a high amount of point-to-point connections between services. The studied solution consists of the implementation of different canonical models specific to different domains, the removal of business logic from the communication layer, and migration from services to use the communication layer correctly. We also contributed with a list of possible risks that can affect the payment of the debt, as lack of funding and inadequate prioritization.
Conclusion: We found issues, solutions and possible risks that are specific for microservices architectures not yet encountered in the current literature. Our results may be useful for practitioners that want to avoid or repay Technical Debt in their microservices architecture.

References

[1]
A. Martini, T. Besker, and J. Bosch, "Technical Debt tracking: Current state of practice: A survey and multiple case study in 15 large organizations," Science of Computer Programming, vol. 163, pp. 42--61, oct 2018. {Online}. Available: https://www.sciencedirect.com/science/article/pii/S0167642318301035
[2]
A. Balalaie, A. Heydarnoori, P. Jamshidi, D. A. Tamburri, and T. Lynn, "Microservices migration patterns," Software: Practice and Experience, vol. 48, no. 11, pp. 2019--2042, 2018. {Online}. Available: https://onlinelibrary.wiley.com/doi/abs/10.1002/spe.2608
[3]
H. Vural, M. Koyuncu, and S. Guney, "A Systematic Literature Review on Microservices," in Computational Science and Its Applications - ICCSA 2017, O. Gervasi, B. Murgante, S. Misra, G. Borruso, C. M. Torre, A. M. A. C. Rocha, D. Taniar, B. O. Apduhan, E. Stankova, and A. Cuzzocrea, Eds. Cham: Springer International Publishing, 2017, pp. 203--217. {Online}. Available: https://link.springer.com/chapter/10.1007/978-3-319-62407-5_14
[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. {Online}. Available
[5]
S. Newman, Building Microservices: Designing Fine-Grained Systems, 1st ed. O'Reilly Media, Inc., 2017.
[6]
M. P. Papazoglou, "Service-oriented computing: concepts, characteristics and directions," in Proceedings - 4th International Conference on Web Information Systems Engineering, WISE 2003. IEEE Comput. Soc, 2003, pp. 3--12. {Online}. Available: http://ieeexplore.ieee.org/document/1254461/
[7]
C. Pautasso, O. Zimmermann, M. Amundsen, J. Lewis, and N. Josuttis, "Microservices in Practice, Part 1: Reality Check and Service Design," pp. 91--98, jan 2017. {Online}. Available: http://ieeexplore.ieee.org/document/7819415/
[8]
G. Hohpe and B. WOOLF, Enterprise Integration Patterns: Designing, Building, and Deploying Messaging Solutions, ser. The Addison-Wesley Signature Series. Prentice Hall, 2004. {Online}. Available: http://books.google.com.au/books?id=dH9zp14--1KYC
[9]
W. Cunningham, "The WyCash portfolio management system," SIGPLAN OOPS Messenger, vol. 4, no. 2, pp. 29--30, 1992. {Online}. Available
[10]
P. Avgeriou, P. Kruchten, I. Ozkaya, and C. Seaman, "Managing Technical Debt in Software Engineering (Dagstuhl Seminar 16162)," Dagstuhl Reports, vol. 6, no. 4, pp. 110--138, 2016. {Online}. Available: http://drops.dagstuhl.de/opus/volltexte/2016/6693
[11]
P. Kruchten, R. L. Nord, and I. Ozkaya, "Technical debt: From metaphor to theory and practice," IEEE Software, vol. 29, no. 6, pp. 18--21, 2012.
[12]
PMI, Ed., A Guide to the Project Management Body of Knowledge (PMBOK Guide), 5th ed. Newtown Square, PA: Project Management Institute, 2013.
[13]
AXELOS, Managing Successful Projects with PRINCE2. Stationery Office, 2017.
[14]
U. Flick, An Introduction to Qualitative Research. SAGE Publications, 2009.
[15]
A. Martini and J. Bosch, "On the interest of architectural technical debt: Uncovering the contagious debt phenomenon," Journal of Software: Evolution and Process, vol. 29, no. 10, pp. 1--18, 2017.
[16]
R. Kazman, Y. Cai, R. Mo, Q. Feng, L. Xiao, S. Haziyev, V. Fedak, and A. Shapochka, "A Case Study in Locating the Architectural Roots of Technical Debt," in 2015 IEEE/ACM 37th IEEE International Conference on Software Engineering. IEEE, may 2015, pp. 179--188. {Online}. Available: http://ieeexplore.ieee.org/document/7202962/
[17]
A. Martini, F. A. Fontana, A. Biaggi, and R. Roveda, "Identifying and Prioritizing Architectural Debt through Architectural Smells: a Case Study in a Large Software Company," in 12th European Conference on Software Architecture, ECSA, Madrid, Spain, 2018.
[18]
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, may 2018.
[19]
P. D. Francesco, I. Malavolta, and P. Lago, "Research on Architecting Microservices: Trends, Focus, and Potential for Industrial Adoption," in 2017 IEEE International Conference on Software Architecture (ICSA), apr 2017, pp. 21--30. {Online}. Available: https://ieeexplore.ieee.org/document/7930195/
[20]
D. Taibi and V. Lenarduzzi, "On the Definition of Microservice Bad Smells," IEEE Software, vol. 35, no. 3, pp. 56--62, may 2018.

Cited By

View all
  • (2023)Software practitioners’ point of view on technical debt paymentJournal of Systems and Software10.1016/j.jss.2022.111554196:COnline publication date: 1-Feb-2023
  • (2022)Potential Technical Debt and Its Resolution in Code Reviews: An Exploratory Study of the OpenStack and Qt CommunitiesProceedings of the 16th ACM / IEEE International Symposium on Empirical Software Engineering and Measurement10.1145/3544902.3546253(216-226)Online publication date: 19-Sep-2022
  • (2022)Technical debt resulting from architectural degradation and code smellsACM SIGAPP Applied Computing Review10.1145/3512753.351275521:4(20-36)Online publication date: 19-Jan-2022
  • Show More Cited By

Recommendations

Comments

Please enable JavaScript to view thecomments powered by Disqus.

Information & Contributors

Information

Published In

cover image ACM Conferences
TechDebt '19: Proceedings of the Second International Conference on Technical Debt
May 2019
137 pages

Sponsors

Publisher

IEEE Press

Publication History

Published: 26 May 2019

Check for updates

Author Tags

  1. architecture
  2. case study
  3. microservices
  4. technical debt

Qualifiers

  • Research-article

Conference

ICSE '19
Sponsor:

Acceptance Rates

Overall Acceptance Rate 14 of 31 submissions, 45%

Upcoming Conference

ICSE 2025

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)26
  • Downloads (Last 6 weeks)1
Reflects downloads up to 19 Nov 2024

Other Metrics

Citations

Cited By

View all
  • (2023)Software practitioners’ point of view on technical debt paymentJournal of Systems and Software10.1016/j.jss.2022.111554196:COnline publication date: 1-Feb-2023
  • (2022)Potential Technical Debt and Its Resolution in Code Reviews: An Exploratory Study of the OpenStack and Qt CommunitiesProceedings of the 16th ACM / IEEE International Symposium on Empirical Software Engineering and Measurement10.1145/3544902.3546253(216-226)Online publication date: 19-Sep-2022
  • (2022)Technical debt resulting from architectural degradation and code smellsACM SIGAPP Applied Computing Review10.1145/3512753.351275521:4(20-36)Online publication date: 19-Jan-2022
  • (2021)Toward a Technical Debt Conceptualization for Serverless ComputingIEEE Software10.1109/MS.2020.303078638:1(40-47)Online publication date: 1-Jan-2021
  • (2021)Architectural design decisions that incur technical debt — An industrial case studyInformation and Software Technology10.1016/j.infsof.2021.106669139:COnline publication date: 23-Aug-2021

View Options

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