  Microservice architecture advocates a number of technologies and practices
such as lightweight container, container orchestration, and DevOps, with the
promised benefits of faster delivery, improved scalability, and greater
autonomy. However, microservice systems implemented in industry vary a lot in
terms of adopted practices and achieved benefits, drastically different from
what is advocated in the literature. In this article, we conduct an empirical
study, including an online survey with 51 responses and 14 interviews for
experienced microservice experts to advance our understanding regarding to
microservice practices in industry. As a part of our findings, the empirical
study clearly revealed three levels of maturity of microservice systems (from
basic to advanced): independent development and deployment, high scalability
and availability, and service ecosystem, categorized by the fulfilled benefits
of microservices. We also identify 11 practical issues that constrain the
microservice capabilities of organizations. For each issue, we summarize the
practices that have been explored and adopted in industry, along with the
remaining challenges. Our study can help practitioners better position their
microservice systems and determine what infrastructures and capabilities are
worth investing. Our study can also help researchers better understand
industrial microservice practices and identify useful research problems.
