Write a Blog >>
ESEC/FSE 2021
Thu 19 - Sat 28 August 2021 Clowdr Platform
Fri 27 Aug 2021 11:20 - 11:30 - Human Aspects—Software Practices 2 Chair(s): Ingrid Nunes, Ivica Crnkovic
Fri 27 Aug 2021 23:20 - 23:30 - Human Aspects—Software Practices 2 Chair(s): Kostadin Damevski

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.

Existing literature mainly focuses on practices and challenges of the initial microservice build. Yet, not much information is available about the pitfalls and support organizations need in the long run. To fill this gap, we performed a broad and mixed-method study with practitioners developing microservice-based applications for commercial use for at least two years. The study includes in-depth interviews with 21 practitioners and a follow-up online survey with 37 respondents, covering 37 companies in total. By explicitly excluding ‘‘newcomers’’ and focusing the study on ‘‘mature’’ teams our goal was to collect best practices, challenges, and some existing solutions for these challenges employed by practitioners successfully developing microservice-based applications for commercial use.

Our results show that following the ‘‘standard’’ advice of splitting microservices based on business capabilities and using the most appropriate programming language for each microservice is not always fruitful. While our study practitioners started with such an approach, they later had to redefine and merge microservices, e.g., because the resulting product consumed an unacceptable amount of computing resources, and also restrict the number of languages that they use, e.g., because the end product was difficult to maintain.

Our study participants also learned that an early investment in a robust infrastructure to support automated setup and management, extensive logging and monitoring, tracing, and more, is one of the main factors contributing to the success of their development processes. Several practitioners indicated that while in practice they delayed setting up a solid infrastructure, they regretted such decisions in the future. They found that having a well-defined owner for each microservice is essential for the success of their development process, as this owner is the one to ensure the architectural integrity of the microservice, be the first to efficiently troubleshoot it, etc.

Our study also identified several common challenges related to managing code of microservices, where no explicit guidelines are available as part of the microservices ‘‘cookbooks’’. These include decisions on how to deal with code shared by several microservices, e.g., for authentication and logging, how to manage products consisting of multiple customer offerings, and more. Even though solutions to these challenges might exist in the software engineering field in general, they are still to be studied and adapted in the particular context of microservices. Our study lists different possible solutions applied by the studied companies and discusses the trade-offs related to each solution.

We believe that the results of our study can inform researchers and inspire novel solutions to some of the identified challenges. It can also benefit practitioners who are interested to learn from each other, borrow successful ideas, and avoid common mistakes.

Fri 27 Aug

Displayed time zone: Athens change

11:00 - 12:00
Human Aspects—Software Practices 2Research Papers / Journal First +12h
Chair(s): Ingrid Nunes Universidade Federal do Rio Grande do Sul (UFRGS), Brazil, Ivica Crnkovic Chalmers University of Technology
11:00
10m
Paper
How Disabled Tests Manifest in Test Maintainability Challenges?
Research Papers
Dong Jae Kim Concordia University, Bo Yang Concordia University, Jinqiu Yang Concordia University, Tse-Hsun (Peter) Chen Concordia University
DOI Pre-print
11:10
10m
Paper
Formal methods in dependable systems engineering: a survey of professionals from Europe and North America
Journal First
Mario Gleirscher University of Bremen, Diego Marmsoler University of Exeter
11:20
10m
Paper
Promises and Challenges of Microservices: An Exploratory Study
Journal First
Yingying Wang University of British Columbia, Harshavardhan Kadiyala The University of British Columbia, Julia Rubin University of British Columbia
11:30
30m
Live Q&A
Q&A (Human Aspects—Software Practices 2)
Research Papers

23:00 - 00:00
Human Aspects—Software Practices 2Journal First / Research Papers
Chair(s): Kostadin Damevski Virginia Commonwealth University
23:00
10m
Paper
How Disabled Tests Manifest in Test Maintainability Challenges?
Research Papers
Dong Jae Kim Concordia University, Bo Yang Concordia University, Jinqiu Yang Concordia University, Tse-Hsun (Peter) Chen Concordia University
DOI Pre-print
23:10
10m
Paper
Formal methods in dependable systems engineering: a survey of professionals from Europe and North America
Journal First
Mario Gleirscher University of Bremen, Diego Marmsoler University of Exeter
23:20
10m
Paper
Promises and Challenges of Microservices: An Exploratory Study
Journal First
Yingying Wang University of British Columbia, Harshavardhan Kadiyala The University of British Columbia, Julia Rubin University of British Columbia
23:30
30m
Live Q&A
Q&A (Human Aspects—Software Practices 2)
Research Papers