Design Decisions for Architecting Digital Twins of Microservices-Based Systems
摘要
Architecting Digital Twins (DTs) that model and monitor microservice-based (MS-based) systems is challenging due to the lack of both design approaches and knowledge among practitioners. To address these shortcomings, we conducted a qualitative study of the patterns and practices applied by practitioners using a Straussian grounded theory-based methodology. After analyzing twenty-three sources of grey literature, we identified three Architectural Design Decisions (ADDs) with twenty-four decision options and their relationships, as well as seventeen key decision drivers based on quality (sub)characteristics from a standard model. We also evaluated the impact of the decision drivers on the ADDs. This resulted in a UML-based ADD model that provides practitioners with guidance for building distributed DT-based systems, including information often omitted or inconclusive in other scientific works on DTs and even on Application Programming Interfaces (API) design. Among the main findings are the intricacies and impact of decisions regarding the granularity of DTs, as well as the seamless integration both among DTs and between DTs and other systems. Additionally, we identified strong similarities between architecting DTs and MS-based systems.