  Due to its enormous benefits, the research and industry communities have
shown an increasing interest in the Microservices Architecture (MSA) style over
the last few years. Despite this, there is a limited evidence-based and
thorough understanding of the types of issues (e.g., faults, errors, failures,
mistakes) faced by microservices system developers and causes that trigger the
issues. Such evidence-based understanding of issues and causes is vital for
long-term, impactful, and quality research and practice in the MSA style. To
that end, we conducted an empirical study on 1,345 issue discussions extracted
from five open source microservices systems hosted on GitHub. Our analysis led
to the first of its kind taxonomy of the types of issues in open source
microservices systems, informing that the problems originating from Technical
debt (321, 23.86%), Build (145, 10.78%), Security (137, 10.18%), and Service
execution and communication (119, 8.84%) are prominent. We identified that
"General programming errors", "Poor security management", "Invalid
configuration and communication", and "Legacy versions, compatibility and
dependency" are the predominant causes for the leading four issue categories.
Study results streamline a taxonomy of issues, their mapping with underlying
causes, and present empirical findings that could facilitate research and
development on emerging and next-generation microservices systems.
