Publications

Microservice reference architecture design : A multi-case study

Söylemez, Mehmet; Tekinerdogan, Bedir; Tarhan, Ayça Kolukısa

Summary

Microservice architecture (MSA) is an architectural style that is designed to support the modular development of software systems within a particular domain. It is characterized by the use of small, independently deployable services, which can be developed and deployed autonomously. The benefits of MSA include improved scalability, fault-tolerance, and ease of deployment and maintenance. However, developing MSA for a specific domain can be challenging and requires a thorough consideration of various concerns such as service boundaries, communication protocols, and security. To support the easy development and guidance of an MSA for practitioners, we present a reference architecture design for MSA. The reference architecture has been designed after a comprehensive domain analysis of MSA in the literature and the MSAs of key vendors. This analysis has been used to identify best practices and common patterns that can be applied to the development of MSA. Additionally, relevant architecture viewpoints have been selected to model the corresponding architecture views, providing a clear and comprehensive understanding of the architecture. To validate the proposed reference architecture, a multi-case study research approach has been used. In this approach, two industrial case studies have been used to demonstrate the practical applicability of the proposed reference architecture. The results of these case studies have shown that the reference architecture can be used to effectively guide the development of MSA in real-world scenarios.