如何持续、正确、安全的发布?

简介: 如何持续、正确、安全的发布?

在一个水平不一、每周例行发布的项目团队,从频繁故障,到故障基本清零——我们如何做到?秘密武器就是:发布清单。

发布清单为什么可以,先通过一个例子了解一下背后的依据,它就是电影《中国机长》。《中国机长》改编自川航3U8633事件,在执飞重庆到拉萨的过程中,突然出现了副驾驶前挡风玻璃掉落,导致失压、缺氧,副驾驶的半个身体直接飞出了机舱,驾驶舱内设备大量故障,气温低达零下40℃。在如此绝境,机长安全备降成都机场,保证了所有旅客的安全。在电影中可以看到这么一幕,当危险来临时,第二机长就迅速拿出了飞行清单,并根据清单上的提示,配合刘机长平安下降到了两万两千英尺的高度…飞机被誉为全世界最安全的交通工具的背后,是像《中国机长》里的机长和乘务员,以及世上所有航空公司的工作人员在按照清单思维来执行每一项工作任务。

回过头来再看互联网服务,互联网服务一般会因为以下两种情况出现故障:

  1. 用户或数据增长超过容量
  2. 发布

不是每个产品都有高速的增长,但是每个产品只要增加新的特性都要进行发布。因此后者导致的故障,往往会远多于前者。很多人都觉得发布是一件很容易的事情,而过于自信。但是这份自信往往是因为忽略了以下难题:

  • 记忆和注意力的谬误

在重压之下,人们特别容易忽视一些单调的例行事项。例如:创建新增特性的数据库表

  • 麻痹大意
  • 人们会故意跳过一些明明记得的步骤。人们会一直说“以前从来就没出过这类问题”,直到真的发生了严重后果为止。
  • 小事难不到人,但是最容易被忽略的就是小事

发布需要的从来不是速度,也不只是专注,而是 持续稳定正确安全 的把事情做好。其实做到这些并不简单,也不容易。话说够多了,那么具体如何做?

  1. 发布群,卷入所有利益相关者

一个人免不了会犯错误,但许多人犯错的可能性或许会变得小一些。集体的智慧,要确保各方面的人员都可以对发布进行评估、say no

  1. 发布流程

1、发布人员 在发布群公布发布清单,宣布发布开始

  • 相关同学(测试、开发) 需要放下手头事情,关注监控

2、发布人员 宣布发布完成,相关同学 开始验证

3、相关同学 宣布验证完成

  • 相关同学宣布 xx功能正常、监控正常

4、发布人员 确认所有特性验证完毕,宣布本次发布结束

  1. 发布清单

【发布特性】

xxx

【影响范围】

xxx

【发布原因】

xxx

【发布类型】

hotfix / 新特性

【发布服务】

xxx

【发布步骤】

xxx

———————

以上是发布清单示例,但不限于以上内容。对于复杂、影响较大的发布还可以添加“灰度策略” 、“回滚策略”。

在讲述清单的一本书《清单革命》中有一句话讲的很好:请承认人类的不完美,每个人都会犯错,在极端复杂的世界里,我们必须改变观念,因为我们别无选择。

本文作者 : cyningsun

本文地址https://www.cyningsun.com/08-02-2020/release-checklist.html

版权声明 :本博客所有文章除特别声明外,均采用 CC BY-NC-ND 3.0 CN 许可协议。转载请注明出处!


目录
相关文章
|
7月前
|
存储 监控 安全
持续集成与持续部署的最佳实践
在当今快节奏的软件开发环境中,持续集成(CI)和持续部署(CD)已经成为确保软件质量和快速交付的关键实践。本文将介绍CI/CD的基本概念,以及在实际应用中的最佳实践,帮助开发团队提高交付速度和质量。
467 0
|
7月前
|
人工智能 运维 监控
运维工程师要如何才能适应IT技术持续迭代更新
随着互联网的快速发展以及云计算、AI、物联网等行业的快速发展,传统的运维已经无法适应时代的要求,运维工作快速向标准化运维、自动化运维、敏捷运维、智能运维等阶段进步。
163 1
|
Dubbo Java 应用服务中间件
发布稳定性-优雅上线
之前的文章讲了优雅下线,今天讲优雅上线
156 0
发布稳定性-优雅上线
|
监控 Devops Java
持续测试持续反馈
持续测试持续反馈
172 0
持续测试持续反馈
|
弹性计算 运维 测试技术
阿里云林小平:如何实现应用的持续发布?
脚本化、版本化、可重放、可反馈
阿里云林小平:如何实现应用的持续发布?
|
Cloud Native 架构师 程序员
持续反馈和持续改进|学习笔记
快速学习持续反馈和持续改进
189 0
持续反馈和持续改进|学习笔记
|
Cloud Native 架构师 Devops
持续反馈和持续改进 | 学习笔记
快速学习持续反馈和持续改进
持续反馈和持续改进 | 学习笔记
|
运维 数据可视化 开发者
束水攻沙——持续加快产品交付速度| 学习笔记
快速学习束水攻沙——持续加快产品交付速度
束水攻沙——持续加快产品交付速度| 学习笔记
|
存储 消息中间件 缓存
SREWorks v1.2 版本发布 | 运维市场能力发布
在v1.1版本发布之后,SREWorks团队开始了常态化的功能版本迭代,v1.1提供了组件插拔能力,v1.2更进一步,将会发布规划已久的运维市场,助力团队构筑运维生态,也会发布诸多企业用户关注的纯内网源码构建方案。