首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

研发效能的本质是技术信仰

技术改变世界,促进美好生活,已是现代社会的共识。EDGE 中甚至有 Tech@Core 的提法。技术信仰涌现。

研发效能是技术背后的技术,是 IT4IT。研发效能的本质是对研发效能技术的信仰。效能技术让研发更简单,让世界更美好。

研发效能背后最根本的技术是持续交付的三个基础能力:一切皆代码,配置化一切、自动化一切、持续集成一切。对持续交付三个基础能力的信仰,带来研发效能提升,业务加速。

以下节选自《DevOps 实战指南》:

?

DevOps的准则:总有更好的方法

前面描述了根本的、长期的冲突带来的问题和负面影响,从无法实现公司目标,到对人类同胞造成的损害。通过解决这些问题,DevOps能够提高公司业绩,实现开发、QA、IT运维、信息安全等各职能技术角色的目标,同时改善人们的境遇。

这个令人振奋的罕见组合可以解释为什么DevOps在这么短的时间内激发出了这么大的兴奋和热情,包括技术领导、工程师,以及我们所处的软件生态系统的大部分。

用DevOps打破恶性循环

理想情况下,小团队的开发人员独立地实现自己的功能,在类生产环境中验证其正确性,再把代码快速、安全、可靠地部署到生产环境里。代码部署是日常的且可预测的工作。部署工作不是选在周五的午夜开始、鏖战整个周末才完成,而是在每个人都在办公室的工作日进行,大多数时候甚至不会引起客户的注意(客户兴奋地看到出现了新功能或者旧缺陷被修复了的情况除外)。由于代码部署是在工作时间段内进行的,几十年来,IT运维人员第一次可以像其他人一样在正常工作时间段工作了。

通过在流程中的每一个步骤创建快速反馈回路,每个人都可以立即看到工作效果。只要代码变更提交到了版本控制系统,就会在类生产环境中运行快速的自动测试,这持续地保证了代码和环境符合设计预期,并且总是处在安全的可部署状态。

自动化测试可以帮助开发人员快速发现错误(通常在几分钟之内),实现更快速的修复以及真正的学习。如果错误是在6个月后的集成测试中发现的,那时相关的记忆和因果关系早已消退,想从中学习是不可能的。自动化测试使技术债务不再积累,问题在发现之后就立即被修复了。如果需要,这还可以调动整个公司参与问题的处理,因为总体目标高于局部目标。

在我们的代码和生产环境中无处不在的遥测技术,保证了问题能被迅速地发现并纠正,确保一切都能按照预定的方式进行,并且客户能从我们创造的软件中获得价值。

在这样的场景下,每个人都感觉富有成效——这种架构使得小团队能够安全地工作,同时在架构上和其他团队的工作解耦,这些团队使用了集运维和信息安全最佳实践于一体的自服务平台。团队独立、高效地处理小批量工作,快速且频繁地为客户提供新的价值,而不是每个人都在等待,面对大量迟来和紧急的返工。

通过黑启动(dark launch)技术,即便是复杂的产品和功能发布,也变得稀松平常了。早在发布日期以前,我们就已经将所有功能的代码部署到了生产环境中,它只对内部员工和部分真实用户可见。这使得我们能够测试和改进其功能,直到达到预期的业务目标。

想要让新功能生效,我们只需要改变一个功能开关或者配置项即可,而不再需要经历数天或者数周的辛苦工作。这个小变更使新功能对更大规模的客户群可见,一旦出现错误,就会自动地回滚。因此,发布新功能变得可控、可预测、可逆,且压力也小了。

除了新功能的发布变得更加顺利外,各种问题都能在其规模小、修复容易且成本低的时候发现并修复。通过每次的问题修复,我们也让公司得到了经验和教训,能够防止问题复发,并且能在未来更快地定位和修复相似的问题。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20230310A05VM800?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券
http://www.vxiaotou.com