Full Program »
Microservices identification strategies: A review focused on Model-Driven Engineering and Domain Driven Design approaches
A proper architectural design for a microservices system is crucial for its success. Although there are several design strategies to identify software components in general, microservices demands special consideration. In this context of distributed systems, the component size directly impacts on non-functional requirements, such as performance, flexibility, reusability, etc. Design practices of coupling and cohesion have to be fine-tuned to determine the ideal microservices granularity. In order to shed light on this question, this study conducted a Systematic Literature Review that investigates microservices identification proposals. From procedures and guidelines inspired by Kitchenham et al., a rigorous research protocol was defined and performed, that covers publications from 2013 to 2019. Starting with an initial screening of 715 papers, 27 studies were considered relevant to answer four research questions. Besides microservices decomposition strategies, this review underlines Model Driven Engineering and Domain Driven Design, once they represent valuable approaches to support this challenging task. Moreover, this work highlights that only a few studies had explored these approaches in their strategies, which opens promising potential for further research.