AI实践哪家强?来 AICon, 解锁技术前沿,探寻产业新机! 了解详情
写点什么

太多脚本将会毁掉持续交付

  • 2018-06-25
  • 本文字数:821 字

    阅读完需:约 3 分钟

Electric Cloud 的产品经理 Avantika Mathur 在上个月的伦敦 Continuous Lifecycle 大会上呈现了演讲,谈到了与持续交付管道中越来越多的脚本相关的成本。除了维护成本,在将变更部署到生产环境之前,正在进行的活动缺乏可见性和可审计性也是另一个主要成本,但很多组织都没有意识到这一点。

要解决这个问题,首先需要识别问题,并为管道编配制定指导原则。Mathur 推荐了这些原则:

  • 确保部署之间的可重复性和一致性

  • 将应用程序的定义与环境分开

  • 专注于环境之间的可移植性

  • 避免锁定某些工具和技术(换句话说,确保通过实践来指导工作,而不是工具)

在避免脚本蔓延方面,Mathur 建议的方法是首先将脚本重构为参数化的通用函数,然后在可能的情况下用可以完成相同甚至更好工作的工具替换它们。

不过,同时处理大量脚本可能具有一定挑战性(从技术和人员的角度来看),并且效率低下(低投资回报率)。Mathur 推荐了一种迭代方法。首先,通过价值流映射来识别那些减缓交付或混淆交付流程的中间瓶颈和依赖。这将有助于优先考虑哪些脚本需要首先重构。Mathur 还建议对现有脚本进行分桶(配置、部署、测试自动化等)以便识别出重复任务,根据复杂性对它们进行分类以评估工作量,测算脚本运行的频率以估计潜在收益,最后再看看是否存在更好的替代方案可以降低成本。

Mathur 最先注意到这种“脚本噩梦”的影响,80%的团队工程时间用在了维护(而不是用于演进)或低效自动化的脚本以及缓慢的流程上,而不是用于更快更安全地进行交付。工程师忙于维护脚本,害怕更改脆弱的脚本,执行内容缺乏可见性,冗长的审计准备流程,这些都是脚本失去控制或管道编配工作不够细致的典型现象。

总之,Mathur 建议“将管道作为一种产品对待”,确保管道上的每一次变更都经过测试,并在进入“生产”环境之前经过全面评审(即可供所有人使用)。这也意味着要让每个人都能看到管道,通过度量和基准来改进性能,并尽可能重用已有的部分。

查看英文原文 Too Many Scripts Can Kill Your Continuous Delivery

2018-06-25 05:021946
用户头像

发布了 731 篇内容, 共 469.5 次阅读, 收获喜欢 2007 次。

关注

评论

发布
暂无评论
发现更多内容

原来select语句在MySQL中是这样执行的!看完又涨见识了!这回我要碾压面试官!

冰河

MySQL 面试 精通MySQL SELECT查询流程 查询缓存

多语言ASR?没有什么听不懂,15种语言我全都要

华为云开发者联盟

语言 ASR 多语言ASR 单语模型 Conformer

手撸二叉树之对称二叉树

HelloWorld杰少

算法和数据结构 8月日更

Design for failure常见的12种设计思想

架构精进之路

降级 重试 容错 8月日更

PostgreSQL 中如何控制行级安全和列级安全

Qunar技术沙龙

sql postgresql 运维 安全 权限

【LeetCode】加一Java题解

Albert

算法 LeetCode 8月日更

译文 | 四种产品经理成长框架,你是哪一种?

LigaAI

产品经理 产品管理 PM

重磅 | 用友《数字化中台》震撼上市!数智化转型和商业创新实践的企业级经验!

博文视点Broadview

2021Java春招面试真题:记一次蚂蚁金服Java研发岗的面试经历

策划Java工程师

Java 程序员 后端

架构学习总结

c

架构实战营

深度学习中的分布式训练

安第斯智能云

人工智能 深度学习

kafka SpringBoot

Rubble

kafka springboot 8月日更

基于docker的分布式性能测试框架功能验证(二)

FunTester

分布式 性能测试 接口测试 测试框架 测试开发

图分析在吴亦凡事件中的应用场景

6979阿强

图算法 图计算 GraphScope 吴亦凡 一站式图计算平台

万字深入HarmonyOS ACE UI框架解析,带你看懂UI渲染流程

科技汇

【Vue2.x 源码学习】第二十四篇 - 异步更新流程

Brave

源码 vue2 8月日更

应对极端天气,百度智能云推出城市内涝智能监测预警系统

科技热闻

科技融合:Hightopo受邀参加厦门公安科技活动周

一只数据鲸鱼

数据可视化 智慧公安 智能化 安全态势

面试官:你说说一条查询SQL的执行过程

艾小仙

1个月学会Java开发!2021年最新Java面试点梳理

策划Java工程师

Java 程序员 后端

复杂多变场景下的Groovy脚本引擎实战

vivo互联网技术

敏捷开发 脚本语言

分布式性能测试框架用例方案设想(二)

FunTester

分布式 性能测试 接口测试 测试框架 测试开发

百度爱番番移动端网页秒开实践

百度Geek说

大前端 优化 网页加速 移动端

知道ThreadLocal吗?一起聊聊到底有啥用

华为云开发者联盟

Java 架构 线程 ThreadLocal 链路

Lucene 倒排索引原理

Qunar技术沙龙

数据库 全文检索 lucene 倒排索引 搜索

LeetCode题解:173. 二叉搜索树迭代器,递归,JavaScript,详细注释

Lee Chen

算法 大前端 LeetCode

高亮的架构毕业总结

高亮

架构训练营

鸿蒙内核之内存调测:动态内存池信息统计

华为云开发者联盟

鸿蒙 内存 动态内存池 内存信息

Springboot 配置文件、隐私数据脱敏的最佳实践(原理+源码)

程序员小富

Java springboot 数据安全 数据脱敏

AudioTracker实用封装

Changing Lin

8月日更

一文带你搞定AOP切面

华为云开发者联盟

spring aop 切面编程 面向切面编程 切面

太多脚本将会毁掉持续交付_架构_Manuel Pais_InfoQ精选文章