  Context: Several companies are migrating their information systems into the
Cloud. Microservices and DevOps are two of the most common adopted
technologies. However, there is still a lack of understanding how to adopt a
microservice-based architectural style and which tools and technique to use in
a continuous architecting pipeline. Objective: We aim at characterizing the
different microservice architectural style principles and patterns in order to
map existing tools and techniques adopted in the context of DevOps.
Methodology: We conducted a Systematic Mapping Study identifying the goal and
the research questions, the bibliographic sources, the search strings, and the
selection criteria to retrieve the most relevant papers. Results: We identified
several agreed microservice architectural principles and patterns widely
adopted and reported in 23 case studies, together with a summary of the
advantages, disadvantages, and lessons learned for each pattern from the case
studies. Finally, we mapped the existing microservices-specific techniques in
order to understand how to continuously deliver value in a DevOps pipeline. We
depicted the current research, reporting gaps and trends. Conclusion: Different
patterns emerge for different migration, orchestration, storage and deployment
settings. The results also show the lack of empirical work on
microservices-specific techniques, especially for the release phase in DevOps.
