技术实践如何支持演进式架构和持续集成
极客时间编辑部
讲述:杜力大小:1.10M时长:02:25
近日,在 Agile Summit 2017 希腊大会上,ThoughtWorks 北美技术负责人瑞秋·莱科克(Rachel Laycock)就敏捷技术实践做了一次演讲。会议期间,InfoQ 记者就演进式架构、持续交付等话题对莱科克进行了采访。
莱科克认为,演进式架构结构引入了一些新的原则。例如,在“最后责任时刻”做出架构决策,使用匹配功能去测试架构决策并尽早解决痛苦点。后者实际上是一种采纳自极限编程的理论,它提出对于可导致痛苦的事情,要增大做该事的频率。这通常会提高做事自动化的程度,进而消除做事的痛苦。
而这正是持续交付实践思想的来源,通过进行更频繁地部署,消除了设置和部署环境这一漫长等待时间所带来的痛苦。在做事的过程中,人们创建了新的工具去构建并部署环境,并且使得治理过程等存在延缓的挑战性问题也得以自动化。
这样,整个部署过程平淡得就像去点击按钮,而非需要耗费整个周末纠缠于其中,而所有这些都是拜痛苦所致。
尽管具有这些新的原则,持续交付和极限编程的实践仍然是相关的和必要的。关键在于底层的特征,包括增量构建、模块化,以及围绕业务能力和实验进行组织等。极限编程技术实践,如 TDD、重构、持续集成和结对编程对紧急设计的支持,是架构得以随时发展的关键所在。
由于架构决策是作为“最后责任时刻”做出的,也是该时刻所需要的,因此需要经过充分测试的模块化代码,这样整个团队可以了解如何改进这些代码。如果要使用演进式架构,那么持续交付和极限编程的实践两者是“一并”的,而不是“二选一”的。
对于持续集成和持续交付,莱科克的看法是,极限编程的实践支撑了持续交付。在人们开始进行持续交付时,一个着手之处就是创建持续集成的服务器和流水线。持续集成只是一种工具,一种用于实现每日向主线提交的实践。
持续交付解决了最终难题(the last mile problem),它引入了新的工具,创建并存储环境和部署的配置管理。即使在支持这些工具的生态系统中,开发者依然可以编写一些测试,并且也应该这样做。在通常情况下,开发者可对为配置管理而编写的代码做 TDD。因此从根本上说,即使在此类情况下,底层的实践也不会发生改变。
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
- 深入了解
- 翻译
- 解释
- 总结
该免费文章来自《极客视点》,如需阅读全部文章,
请先领取课程
请先领取课程
免费领取
© 版权归极客邦科技所有,未经许可不得传播售卖。 页面已增加防盗追踪,如有侵权极客邦将依法追究其法律责任。
登录 后留言
精选留言
由作者筛选后的优质留言将会公开显示,欢迎踊跃留言。
收起评论