事故不断的DevOps
消息来源:baojiabao.com 作者: 发布时间:2024-05-12
作者:CloudBees公司的DevOps宣传官,IT外媒《信息周刊》的特约撰稿人。
DevOps方面有什么样的坑?好多坑,不过你好歹可以从别人犯的错误中汲取教训。
在DevOps圈子,失败根本就不受鼓励。企业组织希望成功。它们希望每次构建、每个项目和每项长期计划都实现其目标。不过,DevOps方面的失败却是不争的事实。常言道,如果你眼看要失败,就确保尽快叫停,从中汲取教训,并利用刚获得的教训改进流程和产品。
以这个理念为背景,我们剖析了业内人士提到的几个常见的DevOps故障,尝试从每个故障中汲取一些教训。
第一个坑:不可预见的锁定
讲述者:首席软件工程师Carlos Sanchez
当你使用配置即代码实现部署自动化时,确保已落实了适当的保护措施(即验证配置)。否则,很容易把自己锁在外面,迫使你自己手动登录到每台计算机,以便推送错误的变更并部署到所有计算机上后进行修复。
教训:你将质量融入流程并提前做好自动化时,需要确保尽早并经常验证所有变更。
这种情况表明了企业需要如何实施正确的流程,不仅仅针对应用程序代码变更,还针对管理环境的基础设施即代码变更。实现自动化以追求DevOps时,有必要针对DevOps和生产系统的访问许可权的登录信息和秘密管理制定一项策略。
第二个坑:部署不合拍
讲述者:工程技术主管Laura Frank Tacho
在持续集成/持续交付(CI/CD)期间并行开展工作可加快自动化测试,并缩短反馈周期。务必确保部署不是作为一个并行步骤来执行。错误配置会导致你的代码在测试运行的同时进行部署,无论其退出代码如何,部署前自动化测试的意义几乎丧失殆尽。
教训:这个故事强调了在部署到客户之前确保已通过某些关卡有多么重要。你需要构建CD管道,以便并行测试作为生产关卡来加以管理,确保经过适当测试和验证的变更并没有自动部署。
另一件事:虽然DevOps坚持认为你应该能够随时轻松部署,但需要将部署视作一个受管理、谨慎的事件。管道中的所有流程结束时再进行部署,任何变更部署到客户之前已完成了所有必需的测试、验证、检查和审批。
第三个坑:SCM冲突
进述者:解决方案架构师Will Refvem
DevOps方面的最大挑战之一是源代码管理(SCM)。在我职业生涯的早期,有权访问Git代码仓库有点像将一把用弹药带的机枪交给喝醉酒的小孩。我在DevOps方面出的最大 糗事就是,我在一个使用Git子模块的项目中试图掌握Git的基础知识,有一系列bash脚本实施了一套基本的CI/CD工作流程,却直接在我们部署变更的环境中运行。我记不得遇到了多少次合并冲突和分离的HEAD。幸好,我们当时使用的是fork-PR模型,所以我没有造成严重破坏。
教训:需要一种适当的分支和合并模型,确保你将适当的输入馈送给DevOps管道,好让你可以持续集成、测试和最终部署变更。
第四个坑:定义不明确的KPI
讲述者:产品营销人员Juni Mukherjee
我们如何定义关键绩效指标(KPI)很重要。比如说,一个质量工程团队将每个迭代开发周期(sprint)执行的测试数量定义为一个成功指标。人会受到激励的驱使,团队的天性是增加越来越多的测试,甚至没有考虑归档过时的内容。想一想,我们可以做到测试较少,但影响力较大;更重要的是,测试越少,测试周期时间越短。因此,我们应关注测试的覆盖范围和有效性,而不是纯粹的数量。
与之相仿,发布工程团队将每个迭代开发周期的发布数量定义为一个成功指标。发布的数量势必体现了速度,然而版本发布只是将代码从A点移到B点,并没有评估给业务增添的价值。因此,将业务KPI(比如获得的新客户数量和收入增长百分比等)与发布速度联系起来至关重要,那样我们就知道自己力求有价值的速度,而不是自杀的速度。
教训:这是DevOps方面一个很重要却常常被忽略的教训。不能仅仅为了表明你在搞DevOps而实施。你需要为计划制定目标,并确保两者相一致。一旦我们定义了这些目标,就需要将KPI和成功指标与这些目标保持一致。合理定义这些成功指标和KPI将决定构建管道时哪些方面会优先考虑。
第五个坑:未能消除组织阻碍
讲述者:顾问Viktor Farcic
一大障碍是文化,因孤立的部门而导致。我们开始分析整个系统、找出哪些方面要改进时,答案往往是“这不是我们的部门,我们不了解,他们不会与我们沟通。”那些孤岛正是使用DevOps的主要理由;DevOps试图消除这些孤岛。但是实际上,大多数公司带来了另一种孤岛,这回是DevOps部门。实践中的DevOps直接有悖于DevOps的想法。
教训:围绕产品和功能等主题来组织你的团队,并让软件开发过程中的所有利益相关者进入这些产品或功能团队。这让利益相关者更好地参与其中,并防止常常困扰传统软件开发的“对立”的部落心态。
DevOps方面的文化完全与流程、实践、工具和技术一样重要,但它是最难改变的方面之一。
结论
与任何复杂的流程一样,DevOps同样会遇到失败。一路上会有交接不顺、沟通不畅。企业组织还会在实施整体DevOps计划方栽跟斗。
DevOps方面的这几个坑表明了DevOps转型如何难以实现。会有种种问题,但它们是可以解决的。你需要将转型当作一次学习和改进的迭代过程。如果你偶尔失败,继续前进,长远来看你会成功的。
相关文章
- 中兴受美国制裁事件 被罚了20亿美元过程事件始末 中兴被制裁后公司现状
2023-11-02 22:12:46
- B站怎么炸崩了哔哩哔哩服务器今日怎么又炸挂了?技术团队公开早先原因
2023-03-06 19:05:55
- 苹果iPhoneXS/XR手机电池容量续航最强?答案揭晓
2023-02-19 15:09:54
- 华为荣耀两款机型起内讧:荣耀Play官方价格同价同配该如何选?
2023-02-17 23:21:27
- google谷歌原生系统Pixel3 XL/4/5/6 pro手机价格:刘海屏设计顶配版曾卖6900元
2023-02-17 18:58:09
- 科大讯飞同传同声翻译软件造假 浮夸不能只罚酒三杯
2023-02-17 18:46:15
- 华为mate20pro系列手机首发上市日期价格,屏幕和电池参数配置对比
2023-02-17 18:42:49
- 小米MAX4手机上市日期首发价格 骁龙720打造大屏标准
2023-02-17 18:37:22
- 武汉弘芯遣散!结局是总投资1280亿项目烂尾 光刻机抵押换钱
2023-02-16 15:53:18
- 谷歌GoogleDrive网云盘下载改名“GoogleOne” 容量提升价格优惠
2023-02-16 13:34:45
- 巴斯夫将裁员6000人 众化工巨头裁员潮再度引发关注
2023-02-13 16:49:06
- 人手不足 韵达快递客服回应大量包裹派送异常没有收到
2023-02-07 15:25:20
- 资本微念与李子柒销声匿迹谁赢? 微念公司退出子柒文化股东
2023-02-02 09:24:38
- 三星GalaxyS8 S9 S10系统恢复出厂设置一直卡在正在检查更新怎么办
2023-01-24 10:10:02
- 华为Mate50 RS保时捷最新款顶级手机2022多少钱?1.2万元售价外观图片吊打iPhone14
2023-01-06 20:27:09
- 芯片常见的CPU芯片封装方式 QFP和QFN封装的区别?
2022-12-02 17:25:17
- 华为暂缓招聘停止社招了吗?官方回应来了
2022-11-19 11:53:50
- 热血江湖手游:长枪铁甲 刚猛热血 正派枪客全攻略技能介绍大全
2022-11-16 16:59:09
- 东京把玩了尼康微单相机Z7 尼康Z7现在卖多少钱?
2022-10-22 15:21:55
- 苹果iPhone手机灵动岛大热:安卓灵动岛App应用下载安装量超100万次
2022-10-03 22:13:45