Decision models for microservices: Design areas, stakeholders, use cases, and requirements
Rogério de Lemos
|Title||Decision models for microservices: Design areas, stakeholders, use cases, and requirements|
|Booktitle||Software Architecture - Proc. ECSA 2017|
|Series||Lecture Notes in Computer Science|
Introducing a microservice architecture is a complex task, requiring many design decisions regarding system architecture, organizational structure, and system infrastructure. Decision models have been successfully used in other domains for design space exploration, decision making and decision documentation. In this paper, we investigate the use of decision models for microservice architecture. As a first step, we identified areas of microservice design and created decision models for some of the identified areas. We then used the created models as part of a technical action research (TAR) process with partner companies to identify important stakeholders and use cases for decision models in this context, as well as to identify requirements on decision model elements and presentation. Results indicate that practitioners perceive decision models for microservices to be useful. Challenges include the large number of interlinked knowledge areas, the need for context-specific adaptations, and the need for processes to manage the decision space over time.