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 条
  • [1] Promises and challenges of microservices: an exploratory study
    Yingying Wang
    Harshavardhan Kadiyala
    Julia Rubin
    Empirical Software Engineering, 2021, 26
  • [2] An Exploratory Study on Zeroconf Monitoring of Microservices Systems
    Cinque, Marcello
    Della Corte, Raffaele
    Iorio, Raffaele
    Pecchia, Antonio
    2018 14TH EUROPEAN DEPENDABLE COMPUTING CONFERENCE (EDCC 2018), 2018, : 112 - 115
  • [3] Are knowledge and usage of microservices patterns aligned? An exploratory study with professionals
    Lino Daniel, Joao Francisco
    Goldman, Alfredo
    Martins, Eduardo Guerra
    2022 IEEE 46TH ANNUAL COMPUTERS, SOFTWARE, AND APPLICATIONS CONFERENCE (COMPSAC 2022), 2022, : 878 - 883
  • [4] Challenges of production microservices
    Goetz, Benjamin
    Schel, Daniel
    Bauer, Dennis
    Henkel, Christian
    Einberger, Peter
    Bauernhansl, Thomas
    11TH CIRP CONFERENCE ON INTELLIGENT COMPUTATION IN MANUFACTURING ENGINEERING, 2018, 67 : 167 - 172
  • [5] Extraction of Configurable and Reusable Microservices from Legacy Systems: An Exploratory Study
    Carvalho, Luiz
    Garcia, Alessandro
    Assuncao, Wesley K. G.
    Bonifacio, Rodrigo
    Tizzei, Leonardo P.
    Colanzi, Thelma Elita
    SPLC'19: PROCEEDINGS OF THE 23RD INTERNATIONAL SYSTEMS AND SOFTWARE PRODUCT LINE CONFERENCE, VOL A, 2020, : 26 - 31
  • [6] Microservices: architecture, container, and challenges
    Liu, Guozhi
    Huang, Bi
    Liang, Zhihong
    Qin, Minmin
    Zhou, Hua
    Li, Zhang
    COMPANION OF THE 2020 IEEE 20TH INTERNATIONAL CONFERENCE ON SOFTWARE QUALITY, RELIABILITY, AND SECURITY (QRS-C 2020), 2020, : 629 - 635
  • [7] Challenges in service discovery for microservices deployed in a Kubernetes cluster - a case study
    Erdenebat, Baasanjargal
    Bud, Bayarjargal
    Kozsik, Tamas
    INFOCOMMUNICATIONS JOURNAL, 2023, 15 : 69 - 75
  • [8] Architecting Microservices: Practical Opportunities and Challenges
    Baskarada, Sasa
    Nguyen, Vivian
    Koronios, Andy
    JOURNAL OF COMPUTER INFORMATION SYSTEMS, 2020, 60 (05) : 428 - 436
  • [9] Promises and challenges of development
    Gereffi, Gary
    TEMPO SOCIAL, 2007, 19 (01) : 223 - 248
  • [10] Nanoengineering: Promises and challenges
    Majumdar, A
    MICROSCALE THERMOPHYSICAL ENGINEERING, 2000, 4 (02): : 77 - 82