Interest in cloud computing is steadily increasing and the range of offerings is evolving due to continuous technological innovation. Hence, cloud-native has been established as a term for building applications in a way that maximally exploits benefits of modern cloud computing concepts. However, cloud-native as a topic is broad and the variety in cloud computing technologies is large. Thus, we identify a need in supporting developers and software architects who want to benefit from cloud-native concepts. We provide this support in the form of a quality model for cloud-native software architectures that explains how architectural characteristics impact different quality aspects. Our focus is on the design time and the aim is that architectural models of applications can be evaluated according to cloud-native characteristics and corresponding quality aspects. In this work we present our approach for formulating and validating the quality model for cloud-native software architectures as well as its current state. This presentation is based on previous work, especially a recently conducted validation survey that focused on the impacts of architectural characteristics on quality aspects. The new contribution of this work is the integrated presentation of our approach in a larger context of conceptual and methodological considerations. Further, revision of the quality model based on a repeated literature search for architectural measures is presented. We provide a more detailed look on the quality model, explaining exemplary product factors and their relevance within the topic of cloud-native. Our results provide a qualitative overview of characteristics associated with cloud native software architectures and lay the foundation for quantitative quality evaluations based on architectural models of applications.
Read full abstract