中文

面向持续交付与部署的软件架构化实证研究

软件工程 2018-08-28 v1

摘要

近年来,许多软件组织已采用持续交付与持续部署(CD)实践,以更频繁、更可靠地开发和交付高质量软件。尽管越来越多的文献涉及 CD 的不同方面,但关于软件架构在 CD 中的作用,以及如何对应用进行(重新)架构化以支持 CD,人们知之甚少。我们开展了一项混合方法的实证研究,通过对来自 19 个组织的 21 位行业从业者进行深度半结构化访谈,以及对 91 位专业软件从业者进行调查来收集数据。基于对收集的定性与定量数据的系统严谨分析,我们提出了一个概念框架,以支持面向 CD 的(重新)架构化过程。我们提供了关于在单体系统中实践 CD 的循证见解,并将“小而独立的部署单元”原则刻画为单体架构的替代方案。我们的框架通过引入需要更多关注的质量属性(如韧性)以及展示设计运维友好型架构的策略(如优先考量运维问题),对 CD 背景下的架构化过程进行了补充。我们讨论了从研究中获得的关键见解(例如,单体与 CD 并非本质上的矛盾修辞),并得出了对研究与实践的启示。

关键词

引用

@article{arxiv.1808.08796,
  title  = {An Empirical Study of Architecting for Continuous Delivery and Deployment},
  author = {Mojtaba Shahin and Mansooreh Zahedi and Muhammad Ali Babar and Liming Zhu},
  journal= {arXiv preprint arXiv:1808.08796},
  year   = {2018}
}

备注

To appear in Empirical Software Engineering