17 | 部署管理:低风险的部署发布策略
石雪峰
该思维导图由 AI 生成,仅供参考
你好,我是石雪峰,今天我来跟你聊聊部署管理。
在 DevOps 年度状态报告中,有四个核心的结果指标,其中仅“部署”这一项就占了两个关键指标,分别是部署频率和部署失败率。顺便提一下,另外两个指标是前置时长和平均故障修复时长。
对 DevOps 来说,部署活动就相当于软件交付最后一公里的最后一百米冲刺。只有通过部署发布,软件真正交付到最终用户手中的时候,前面走过的路才真正创造了价值。
部署和发布这两个概念,经常会被混用,但严格来说,部署和发布代表两种不同的实践。部署是一组技术实践,表示通过技术手段,将本次开发测试完成的功能实体(比如代码、二进制包、配置文件、数据库等)应用到指定环境的过程,包括开发环境、预发布环境、生产环境等。部署的结果是对服务器进行变更,但是这个变更结果不一定对外可见。
发布,也就是 Release,更偏向一种业务实践,也就是将部署完成的功能正式生效,对用户可见和提供服务的过程。发布的时机往往同业务需求密切相关。很多时候,部署和发布并不是同步进行的,比如,对于电商业务来说,要在 0 点上线新的活动,那么如果部署和发布不分离,就意味着要在 0 点的前 1 秒,完成所有服务器的变更,这显然是不现实的。
那么,我想请你思考这样一个问题:所谓的低风险发布,是不是要在发布之前确保本次变更的功能万无一失了,才会真正地执行发布动作呢?
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
- 深入了解
- 翻译
- 解释
- 总结
在DevOps模式下,部署管理的重要性不言而喻。本文深入探讨了有效管理部署和发布的策略和思想,强调了质量保障不再是测试团队的事情,而是整个交付团队的责任。为了加快发布节奏,文章详细介绍了蓝绿部署、灰度发布和暗部署等低风险发布手段,并强调了测试能力的向前、向后延伸。此外,文章还探讨了在线上测试和监控的重要性,强调了监控就是一种全量的测试的理念。在故障发生后,作者提出了平均故障修复时长的重要性,并介绍了快速恢复的策略,包括向前修复和向后回滚。最后,文章提到了服务降级和兜底策略的重要性,以保证系统服务的连续性。总的来说,本文为读者提供了在DevOps模式下如何有效管理部署和发布的指导,以应对发布频率加速和业务复杂度增加的挑战。
仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《DevOps 实战笔记》,新⼈⾸单¥59
《DevOps 实战笔记》,新⼈⾸单¥59
立即购买
© 版权归极客邦科技所有,未经许可不得传播售卖。 页面已增加防盗追踪,如有侵权极客邦将依法追究其法律责任。
登录 后留言
全部留言(6)
- 最新
- 精选
- leslie其实老师解释的A/B测试部署并非传统的A/B测试部署:故而文中用暗部署,其实一定特性上结合了"滚动(Ramped)部署“。其实可能目前大多数中小企业用灰度发布更多-主要是迅速,毕竟对于中小企业时间成本太宝贵了,能快点就不慢点。 监控是最好的风险管理和问题的验证:可能不同的企业有不同种部署方式;同一套软件A企业部署的极其顺利的可能到了B企业就有问题,故而老师的"监控就是一种全量的测试"确实如此,不过个人觉得对于监控的重视程度和认识程度有时就是体现了一个企业技术管理者的风险意识。 合理且合适的监控就能降低风险,完整的针对风险的处理方式;Anything is control。期待老师后续的精彩分享,谢谢。
作者回复: 赞一个,这个总结是对文章很好的补充,工作这些年,我也越来越觉得依靠质量工作来保证质量只能守住下限,甚至有时候连下限都守不住,真正在未知世界能依赖的,就是监控能力,和快速发布回滚的能力
2019-11-19211 - stg609老师,请教下,要是数据库有不兼容的改动呢?是不是蓝绿发布,灰度发布都用不了了?因为一旦变更,所有老的app肯定无法识别。那有什么好的策略吗?
作者回复: 其实蓝绿部署是可以的,因为每套环境可以采用独立数据库,但是这样做势必导致成本的上升,另外还要提前准备好数据同步脚本,这样的前提是两套数据库不在同一时间提供服务。但是一般来说,还是优先数据库向下和多应用兼容,除非是特别大的系统重构哈
2020-02-2922 - 🐱可以介绍下一些常用的企业级监控方案么?感觉很多时候监控不太全面。
作者回复: 你好,立体化监控是个大问题,我给你分享一个体系模型,可以参考一下。 链接:https://pan.baidu.com/s/1-4Nth3h_kaLywHfoD0URhQ 密码:rb7o
2019-11-1992 - arctec老师好,这个帖子的立体化监控内容能否再次提供下载学习的地址(之前地址已无法下载), 可以介绍下一些常用的企业级监控方案么?感觉很多时候监控不太全面。 作者回复: 你好,立体化监控是个大问题,我给你分享一个体系模型,可以参考一下。 链接:https://pan.baidu.com/s/1-4Nth3h_kaLywHfoD0URhQ 密码:rb7o2020-07-1232
- Geek8292链接:https://pan.baidu.com/s/1-4Nth3h_kaLywHfoD0URhQ 密码:rb7o 链接已经过期了,能否再分享一下,谢谢2021-09-1311
- Geek_0d99c9灰度产生的db的垃圾数据,怎么处理2020-03-3011
收起评论