DevOps 实战笔记
石雪峰
京东商城工程效率专家
37393 人已学习
新⼈⾸单¥59
登录后,你可以任选4讲全文学习
课程目录
已完结/共 41 讲
DevOps 实战笔记
15
15
1.0x
00:00/00:00
登录|注册

17 | 部署管理:低风险的部署发布策略

服务降级和兜底策略
平均故障修复时长
线上流量测试
用户反馈
埋点功能
暗部署
灰度发布
蓝绿部署
质量观念的转变
质量标准的差异
将部署完成的功能正式生效,对用户可见和提供服务的过程
业务实践
将功能实体应用到指定环境的过程
技术实践
快速恢复
线上测试和监控
低风险发布手段
一定的质量水平
发布
部署
平均故障修复时长
前置时长
部署失败率
部署频率
低风险发布策略
部署与发布
DevOps年度状态报告
部署管理:低风险的部署发布策略

该思维导图由 AI 生成,仅供参考

你好,我是石雪峰,今天我来跟你聊聊部署管理。
在 DevOps 年度状态报告中,有四个核心的结果指标,其中仅“部署”这一项就占了两个关键指标,分别是部署频率部署失败率。顺便提一下,另外两个指标是前置时长平均故障修复时长
对 DevOps 来说,部署活动就相当于软件交付最后一公里的最后一百米冲刺。只有通过部署发布,软件真正交付到最终用户手中的时候,前面走过的路才真正创造了价值。
部署和发布这两个概念,经常会被混用,但严格来说,部署和发布代表两种不同的实践。部署是一组技术实践,表示通过技术手段,将本次开发测试完成的功能实体(比如代码、二进制包、配置文件、数据库等)应用到指定环境的过程包括开发环境、预发布环境、生产环境等。部署的结果是对服务器进行变更,但是这个变更结果不一定对外可见。
发布,也就是 Release,更偏向一种业务实践,也就是将部署完成的功能正式生效,对用户可见和提供服务的过程。发布的时机往往同业务需求密切相关。很多时候,部署和发布并不是同步进行的,比如,对于电商业务来说,要在 0 点上线新的活动,那么如果部署和发布不分离,就意味着要在 0 点的前 1 秒,完成所有服务器的变更,这显然是不现实的。
那么,我想请你思考这样一个问题:所谓的低风险发布,是不是要在发布之前确保本次变更的功能万无一失了,才会真正地执行发布动作呢?
确认放弃笔记?
放弃后所记笔记将不保留。
新功能上线,你的历史笔记已初始化为私密笔记,是否一键批量公开?
批量公开的笔记不会为你同步至部落
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
  • 深入了解
  • 翻译
    • 英语
    • 中文简体
    • 中文繁体
    • 法语
    • 德语
    • 日语
    • 韩语
    • 俄语
    • 西班牙语
    • 阿拉伯语
  • 解释
  • 总结

在DevOps模式下,部署管理的重要性不言而喻。本文深入探讨了有效管理部署和发布的策略和思想,强调了质量保障不再是测试团队的事情,而是整个交付团队的责任。为了加快发布节奏,文章详细介绍了蓝绿部署、灰度发布和暗部署等低风险发布手段,并强调了测试能力的向前、向后延伸。此外,文章还探讨了在线上测试和监控的重要性,强调了监控就是一种全量的测试的理念。在故障发生后,作者提出了平均故障修复时长的重要性,并介绍了快速恢复的策略,包括向前修复和向后回滚。最后,文章提到了服务降级和兜底策略的重要性,以保证系统服务的连续性。总的来说,本文为读者提供了在DevOps模式下如何有效管理部署和发布的指导,以应对发布频率加速和业务复杂度增加的挑战。

仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《DevOps 实战笔记》
新⼈⾸单¥59
立即购买
登录 后留言

全部留言(6)

  • 最新
  • 精选
  • leslie
    其实老师解释的A/B测试部署并非传统的A/B测试部署:故而文中用暗部署,其实一定特性上结合了"滚动(Ramped)部署“。其实可能目前大多数中小企业用灰度发布更多-主要是迅速,毕竟对于中小企业时间成本太宝贵了,能快点就不慢点。 监控是最好的风险管理和问题的验证:可能不同的企业有不同种部署方式;同一套软件A企业部署的极其顺利的可能到了B企业就有问题,故而老师的"监控就是一种全量的测试"确实如此,不过个人觉得对于监控的重视程度和认识程度有时就是体现了一个企业技术管理者的风险意识。 合理且合适的监控就能降低风险,完整的针对风险的处理方式;Anything is control。期待老师后续的精彩分享,谢谢。

    作者回复: 赞一个,这个总结是对文章很好的补充,工作这些年,我也越来越觉得依靠质量工作来保证质量只能守住下限,甚至有时候连下限都守不住,真正在未知世界能依赖的,就是监控能力,和快速发布回滚的能力

    2019-11-19
    2
    11
  • stg609
    老师,请教下,要是数据库有不兼容的改动呢?是不是蓝绿发布,灰度发布都用不了了?因为一旦变更,所有老的app肯定无法识别。那有什么好的策略吗?

    作者回复: 其实蓝绿部署是可以的,因为每套环境可以采用独立数据库,但是这样做势必导致成本的上升,另外还要提前准备好数据同步脚本,这样的前提是两套数据库不在同一时间提供服务。但是一般来说,还是优先数据库向下和多应用兼容,除非是特别大的系统重构哈

    2020-02-29
    2
    2
  • 🐱
    可以介绍下一些常用的企业级监控方案么?感觉很多时候监控不太全面。

    作者回复: 你好,立体化监控是个大问题,我给你分享一个体系模型,可以参考一下。 链接:https://pan.baidu.com/s/1-4Nth3h_kaLywHfoD0URhQ 密码:rb7o

    2019-11-19
    9
    2
  • arctec
    老师好,这个帖子的立体化监控内容能否再次提供下载学习的地址(之前地址已无法下载), 可以介绍下一些常用的企业级监控方案么?感觉很多时候监控不太全面。 作者回复: 你好,立体化监控是个大问题,我给你分享一个体系模型,可以参考一下。 链接:https://pan.baidu.com/s/1-4Nth3h_kaLywHfoD0URhQ 密码:rb7o
    2020-07-12
    3
    2
  • Geek8292
    链接:https://pan.baidu.com/s/1-4Nth3h_kaLywHfoD0URhQ 密码:rb7o 链接已经过期了,能否再分享一下,谢谢
    2021-09-13
    1
    1
  • Geek_0d99c9
    灰度产生的db的垃圾数据,怎么处理
    2020-03-30
    1
    1
收起评论
显示
设置
留言
6
收藏
沉浸
阅读
分享
手机端
快捷键
回顶部