速来报名!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:021653
用户头像

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

关注

评论

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

解决安全漏洞扫描,就靠它了

百度开发者中心

产品 最佳实践 企业动态 百度安全

区块链钱包搭建,去中心钱包搭建,仿IM钱包

终于有人!把双十一电商秒杀系统高并发架构全部讲清楚了

Java 程序员 面试 高并发 计算机

巧用Python访问台达AS228交互

林建

Python Modbus协议 台达 AS228T

金三银四,如何远程面试拿下大厂offer?(附大厂面经+面试宝典)

公众号_愿天堂没有BUG

Java 编程 程序员 架构 面试

疫情之下,延期返工,我竟然“远程面试”了3家公司(备战春招)

公众号_愿天堂没有BUG

Java 编程 程序员 架构 面试

Stack Overflow 2021 开发者调查报告出炉,开发浪潮中的变与不变

清秋

语言 & 开发 文化 & 方法 Stack Overflow 开发者报告 编程语言排行

测试经验| 音视频通话相关app如何进行测试

anyRTC开发者

软件测试 音视频 实时通信

啃完这些Spring知识点,我竟吊打了阿里面试官(附面经+笔记

公众号_愿天堂没有BUG

Java 编程 程序员 架构 面试

JavaScript 之事件循环(Event Loop)

网易云信

【Vue2.x 源码学习】第三十三篇 - diff算法-收尾+阶段性总结

Brave

源码 vue2 8月日更

揭秘阿里云 RTS SDK 是如何实现直播降低延迟和卡顿

阿里云CloudImagine

阿里云 直播架构 直播技术 视频直播 视频云

初识 C#

若尘

C# 8月日更

疫情在家“闭关修炼”,读完这些Java技术栈,愿金三银四过五斩六

公众号_愿天堂没有BUG

Java 编程 程序员 架构 面试

20张图让你彻底掌握负载均衡的秘密

负载均衡 编程 程序员 计算机

FastApi-12-Form表单

Python研究所

FastApi 8月日更

FunTester框架教程(一)

FunTester

教程 接口测试 API测试 测试框架 FunTester

U2Net基于ModelArts Notbook的仿真实验

华为云开发者联盟

开源 modelarts 目标检测算法 U2Net Notbook

Maven 项目执行的时候提示 JAVA_HOME is not correctly set 错误

HoneyMoose

Java Arrays.asList 和 new ArrayList(Arrays.asList()) 的对比

HoneyMoose

什么是工控主机?工控主机安卓主板有哪些配置?

双赞工控

Flutter Android 端 FlutterInjector 及依赖流程源码分析

工匠若水

flutter android 8月日更

最全总结 | 聊聊 Python 数据处理全家桶(PgSQL篇)

星安果

Python 数据库 postgresql PgSQL

Ipfs排名前十的公司有哪些?怎么选择靠谱的ipfs公司?

区块链 分布式存储 IPFS fil ipfs公司

Jetpack Compose 架构分层

Changing Lin

8月日更

Fil价格今日行情?Fil有投资的价值吗?

区块链 分布式存储 IPFS fil fil价格今日行情怎么样

Flink CDC 2.0 正式发布,详解核心改进

Apache Flink

flink

微博SDK初始化问题 please init sdk before use it. Wb.install()

mengxn

微博sdk

【SpringCloud 技术专题】「原生态 Fegin」打开 Fegin 之 RPC 技术的开端,你会使用原生态的 Fegin 吗?(下)

洛神灬殇

SpringCloud OpenFegin Fegin 8月日更

原理分析!如何将springboot项目打成war包放入tomcat中运行

Summer

Java 学习 程序员 架构 springboot

更智能更高效!区块链打造更“美” 服装行业

旺链科技

区块链 服装产业

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