Improving Agility by Managing Shared Libraries in Microservices
Authors
Saulo S. de Toledo, Antonio Martini, and Dag I. K. Sjøberg
University of Oslo, Norway
Chaperones
Florian Rademacher
IDiAL Institute, University of Applied Sciences and Arts Dortmund
Abstract
Microservices is a way of doing agile architecture that is increasingly gaining popularity. However, if the microservices development is not properly managed, the teams development velocity may be affected, reducing agility and increasing architetural technical debt. This paper investigates how to manage the use of shared libraries in microservices to improve agility during development. We interviewed practitioners from four large international companies involved in microservices projects to identify problems when using shared libraries. We found that the participating companies had issues with shared libraries as follows: coupling among teams, delays on fixes due to overhead on libraries development teams, and need to maintain many versions of the libraries. Our results highlight that the use of shared libraries may hinder agility on microservices. Thus, their use should be restricted to situations where shared libraries cannot be replaced by a microservice and the costs of replicating the code on each service is very high.