Promises and challenges of microservices: an exploratory study

被引:31
|
作者
Wang, Yingying [1 ]
Kadiyala, Harshavardhan [1 ]
Rubin, Julia [1 ]
机构
[1] Univ British Columbia, Dept Elect & Comp Engn, 2332 Main Mall, Vancouver, BC V6T 1Z4, Canada
关键词
Microservices; Cloud-native applications; Development practices; Empirical study; MIGRATION;
D O I
10.1007/s10664-020-09910-y
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Microservice-based architecture is a SOA-inspired principle of building complex systems as a composition of small, loosely coupled components that communicate with each other using language-agnostic APIs. This architectural principle is now becoming increasingly popular in industry due to its advantages, such as greater software development agility and improved scalability of deployed applications. In this work, we aim at collecting and categorizing best practices, challenges, and some existing solutions for these challenges employed by practitioners successfully developing microservice-based applications for commercial use. Specifically, we focus our study on "mature" teams developing microservice-based applications for at least two years, explicitly excluding "newcomers" to the field. We conduct a broad, mixed-method study that includes in-depth interviews with 21 practitioners and a follow-up online survey with 37 respondents, covering 37 companies in total. Our study shows that, in several cases, practitioners opt to deviate from the "standard" advice, e.g., instead of splitting microservices by business capabilities, they focus on resource consumption and intended deployment infrastructure. Some also choose to refrain from using multiple programming languages for implementing their microservices, as that practice hinders reuse opportunities. In fact, our study participants identified robust and shared infrastructural support established early on in the development process as one of the main factors contributing to their success. They also identified several pressing challenges related to the efficient managing of common code across services and the support of product variants. The results of our study can benefit practitioners who are interested to learn from each other, borrow successful ideas, and avoid common mistakes. It can also inform researchers and inspire novel solutions to some of the identified challenges.
引用
收藏
页数:44
相关论文
共 50 条
  • [21] Ecological design: Promises and challenges
    Saito, Y
    ENVIRONMENTAL ETHICS, 2002, 24 (03) : 243 - 261
  • [22] Microservices Migration in Industry: Intentions, Strategies, and Challenges
    Fritzsch, Jonas
    Bogner, Justus
    Wagner, Stefan
    Zimmermann, Alfred
    2019 IEEE INTERNATIONAL CONFERENCE ON SOFTWARE MAINTENANCE AND EVOLUTION (ICSME 2019), 2019, : 481 - 490
  • [23] Nanotechnology: promises and challenges for tomorrow
    Romig, AD
    Michael, JR
    Michalske, TA
    MICROBEAM ANALYSIS 2000, PROCEEDINGS, 2000, (165): : 3 - 4
  • [24] Promises and challenges of evolvable hardware
    Yao, X
    Higuchi, T
    EVOLVABLE SYSTEMS: FROM BIOLOGY TO HARDWARE, 1997, 1259 : 55 - 78
  • [25] The Leukemic Fly: Promises and Challenges
    Al Outa, Amani
    Abubaker, Dana
    Madi, Joelle
    Nasr, Rihab
    Shirinian, Margret
    CELLS, 2020, 9 (07)
  • [26] Synthetic biology: promises and challenges
    Serrano, Luis
    MOLECULAR SYSTEMS BIOLOGY, 2007, 3 (1)
  • [27] Challenges and Promises of a History of Capitalism
    Lenger, Friedrich
    JOURNAL OF MODERN EUROPEAN HISTORY, 2017, 15 (04) : 470 - 479
  • [28] Constitutionalizing FIFA: Promises and Challenges
    Buetzler, Bodo P.
    Schoeddert, Lisa
    TILBURG LAW REVIEW-JOURNAL OF INTERNATIONAL AND EUROPEAN LAW, 2020, 25 (01): : 40 - 54
  • [29] Promises and challenges of fluorescence cystoscopy
    Lotan, Yair
    UROLOGIC ONCOLOGY-SEMINARS AND ORIGINAL INVESTIGATIONS, 2015, 33 (06) : 261 - 264
  • [30] THE PROMISES AND CHALLENGES FOR PUBLIC HISTORY
    STOWE, NJ
    PUBLIC HISTORIAN, 1987, 9 (01): : 46 - 56