The promise of increased agility, autonomy, scalability, and reusability has made the microservices architecture a \textit{de facto} standard for the development of large-scale and cloud-native commercial applications. Software patterns are an important design tool, and often they are selected and combined with the goal of obtaining a set of desired quality attributes. However, from a research standpoint, many patterns have not been widely validated against industry practice, making them not much more than interesting theories. To address this, we investigated how practitioners perceive the impact of 14 patterns on 7 quality attributes. Hence, we conducted 9 semi-structured interviews to collect industry expertise regarding (1) knowledge and adoption of software patterns, (2) the perceived architectural trade-offs of patterns, and (3) metrics professionals use to measure quality attributes. We found that many of the trade-offs reported in our study matched the documentation of each respective pattern, and identified several gains and pains which have not yet been reported, leading to novel insight about microservice patterns.
翻译:提高灵活性、自主性、可扩展性和可再使用性的前景使微观服务结构成为开发大规模和云型商业应用的“Textit{deacto}”标准。软件模式是一个重要的设计工具,往往被选中,并与获得一套理想质量属性的目标相结合。然而,从研究的角度来看,许多模式并没有被广泛验证为与行业实践相对应,因此,这些模式只是有趣的理论而已。为此,我们调查了从业人员如何看待14种模式对7种质量属性的影响。因此,我们进行了9次半结构性访谈,以收集行业在(1) 软件模式的知识及采用,(2) 模式的结构性权衡,(3) 用于衡量质量属性的衡量标准。我们发现,我们研究中报告的许多交易与每种模式的文件相对应,并查明了尚未报告的几项利弊,从而导致对微观服务模式有了新的洞察。