arXivDaily arXiv每日学术速递 周一至周五更新
arXiv 2108.09571cs.SE
收藏

面向持续部署的架构理论

Towards a Theory on Architecting for Continuous Deployment

Breno Bernard Nicolau de França, Paulo Sérgio Medeiros dos Santos, Santiago Matalonga

摘要:

内容:随着持续交付实践在软件组织中的采用增加,不同的场景都在努力使其在长期发展中适应其产品。这项研究着眼于具体的软件架构作为成功实现持续交付目标的相关因素。目的:本研究旨在了解软件架构的设计如何影响其软件产品的持续部署。方法:我们进行了系统的文献回顾,以确定适当的证据,关于研究目标。我们采用基于扎根理论的综合和分析方法对所选来源进行了分析。结果:我们选择了14个主要来源。通过我们的分析过程,我们开发了一种理论来解释持续部署的架构设计现象。该理论描述了支持持续部署架构的其他三种现象:支持操作、持续演进和提高可部署性。此外,该理论包括以下要素:背景,行动和相互作用,质量属性,原则和效果。我们实例化了这些元素并确定了它们的相互关系。通过提供从所选源到元素的双向可追溯性来支持该理论,反之亦然。结论:开发适当的架构在实现持续交付方面发挥着至关重要的作用。支持操作对于提高软件架构的可部署性和可监控性变得至关重要。这两个结果要求开发人员承担维护操作的责任。架构的持续发展是必不可少的,但它必须考虑技术债务的平衡管理。最后,提高可部署性需要关注测试策略以及它如何影响停机时间以实现有效的管道。

英文摘要:

Context: As the adoption of continuous delivery practices increases in software organizations, different scenarios struggle to make it scales for their products in long-term evolution. This study looks at the concrete software architecture as a relevant factor for successfully achieving continuous delivery goals. Objective: This study aims to understand how the design of software architectures impacts the continuous deployment of their software product. Method: We conducted a systematic literature review to identify proper evidence regarding the research objective. We analyzed the selected sources adopting a synthesis and analysis approach based on Grounded Theory. Results: We selected 14 primary sources. Through our analysis process, we developed a theory that explains the phenomenon of Architecting for Continuous Deployment. The theory describes three other phenomena that support Architecting for Continuous Deployment: Supporting Operations, Continuous Evolution, and Improving Deployability. Furthermore, the theory comprises the following elements: contexts, actions and interactions, quality attributes, principles, and effects. We instantiated these elements and identified their interrelationships. The theory is supported by providing bi-directional traceability from the selected sources to the elements and vice-versa. Conclusions: Developing adequate architecture plays a crucial role in enabling continuous delivery. Supporting operations becomes vital to increase the deployability and monitorability of software architecture. These two outcomes require that developers accept responsibility for maintaining the operations. The continuous evolution of the architecture is essential, but it must consider balanced management of technical debt. Finally, improving deployability requires attention to the test strategy and how it affects downtime to enable efficient pipelines.

机构、总结、中文摘要均由AI分析而来,可能存在错误,请以论文正文为准。

↑