  Nowadays, many companies design and develop their software systems as a set
of loosely coupled microservices that communicate via their Application
Programming Interfaces (APIs). While the loose coupling improves
maintainability, scalability, and fault tolerance, it poses new challenges to
the API evolution process. Related works identified communication and
integration as major API evolution challenges but did not provide the
underlying reasons and research directions to mitigate them. In this paper, we
aim to identify microservice API evolution strategies and challenges in
practice and gain a broader perspective of their relationships. We conducted 17
semi-structured interviews with developers, architects, and managers in 11
companies and analyzed the interviews with open coding used in grounded theory.
In total, we identified six strategies and six challenges for REpresentational
State Transfer (REST) and event-driven communication via message brokers. The
strategies mainly focus on API backward compatibility, versioning, and close
collaboration between teams. The challenges include change impact analysis
efforts, ineffective communication of changes, and consumer reliance on
outdated versions, leading to API design degradation. We defined two important
problems in microservice API evolution resulting from the challenges and their
coping strategies: tight organizational coupling and consumer lock-in. To
mitigate these two problems, we propose automating the change impact analysis
and investigating effective communication of changes as open research
directions.
