「自动化」聊起来简单,做起来难 | 谈效风生

news2024/11/24 10:59:50

在这里插入图片描述

第4期:“自动化”聊起来简单,做起来难

在上一期《如何找到现有研发体系的「内耗问题」?》中,我们聊了评估现有研发体系,正确的找到“体系内耗问题”,是改变研发体系的第一步。本期我们继续聊下一个关键点就是研发体系中引入自动化,看看下面两位嘉宾朋友是如何理解”自动化“这件事。

受访者A:某电商平台 架构师 马经理
受访者B:某金融企业 效能工程师 汪工

Q1:
说到“一切自动化”,这确实是研发体系所追求的。我们在最初进行自动化改造时,首先在单个环节上用自动化工具解决效率问题,再根据流程打通工具链,最后实现全流程的自动化平台。

A:
说到“一切自动化”,这确实是研发体系所追求的。我们在最初进行自动化改造时,首先在单个环节上用自动化工具解决效率问题,再根据流程打通工具链,最后实现全流程的自动化平台。

通过自动化工具解决单点效率问题,这个方法前期效能提升非常显著,可以节省很多人。

第一个最关键的,同时也是我们早期进行的单点突破,就是实现自动化构建发布,像是大家都在使用的Jenkins、Travis、Ansible、Docker等。

第二个单点突破就是实现自动化测试,这部分其实是比较难做的部分,不仅是要考虑合适的工具,更重要的是系统性考虑开发流程、产品架构、技术栈等,自动化测试的目的就是快速反馈研发中的安全质量问题。

解决单点的效率问题后,就是打通工具链,看全局其实还有很多环节可以进行自动化升级,包括接入流程管理、代码托管、代码扫描、测试执行、日志监控等等。每个环节需要做多种工具的选型,需要根据自身实际情况灵活选用调整工具链。最终目的是打通各部门之间的壁垒,从产品经理开始串联研发、测试、安全、运维各环节,减少「内耗」。

打通工具链后,进一步提升研发效能的方式就是打造平台,实践DevOps或DevSecOps,这也是很多大企业的必经之路,市面上也有很多“一站式、一体化XX平台”来给中小企业提升效能。通过打造平台,实现研发流程的标准化、自动化和可持续化,提高研发效率和质量,缩短产品上线时间,更快地满足市场需求。所以,除了集成打通工具链外,平台还需要拥有更强大的可视化管理能力、分析能力和有效的度量体系,全流程引导效能的提升。

B:
我们这边一直实践的DevSecOps,开始也是单点优化,然后慢慢升级成平台。开始做自动化的时候,从以下几个方面入手。

首先,需要明确研发自动化的目标和要求,虽然也是从单点开始做,但需要一个整体的目标,如提高研发效率多少、降低多少成本、团队资源配置等,这是考量我们自动化能力的指标。

其次,在团队建设方面,我们这边因为涉及到很多开源工具的开发,并且安全要求也相对较高,虽然自动化可以节省人工成本,但团队增加人员却是必须的。因为业务在不断发展,需要团队拓展自动化工具的能力或改进流程,所以要增加相关人才,这是我们要时刻跟进投入产出的数据。

再次,自动化工具选型很关键,错误的选择不但影响研发的工作量,更会影响未来产品的走势。因此需要根据业务特点来选型,我们在同一类工具上会选择多个产品,来测试每个产品的效果,从而选出最优工具。

因为我们是实践DevSecOps,要满足安全性,产品上线后的安全监控和响应也需要更高效的自动化工具,来满足严格的安全标准。

Q2:
你们认为,做“自动化”过程中,最困难的地方在哪里?

A:对我来说“自动化测试”是个难点,相信大家也是这么认为。对于产品来说,测试是必须做的,同样也是非常耗时的,所以自动化测试的价值不言而喻。很长一段时间,我们想法局限于单点工具的使用和改进,努力节省测试时间,但从全局看研发效能的提升效果没有达到预期,为什么?

其实,我们在要求提升迭代速度的时候,需求和研发速度提升,使得测试任务加剧,测试时间被严重压缩,产品功能越来越多,测试的范围也越来越大。简单的说就是,测试不够用了。如何提升自动化测试效率,成为了我们一个长期的命题。

但自动化测试除了依靠工具外,还需要从全局考虑,抓住“人”和“方法”两个方面。在“人”的方面,要求研发人员提升测试能力,测试团队配置测试架构师和专家,对测试方案、技术选型、平台对接负责。在“方法”上,拆分小的团队,团队支撑的业务集中,尽量保持团队对业务场景保持统一的认识和理解。

在我们现阶段的一个共识是,通过自动化测试实现效能提升,不只是测试团队的工作,而是全研发体系的工作。

B:“自动化测试”在我们这也是难点,刚刚汪工已经说的比较多了,我再讲一下其他难点。在我们这边来说,在构建自动化工具链上,技术选型也是比较大的难点。首先,技术选型需要考虑企业实际情况,包括企业规模、业务要求、研发团队水平、基础资源等方面。

其次,需要考虑技术的成熟度和稳定性。因为我们经常探索一些开源项目,一些新兴的开源技术往往有很高的潜力和创新性,但是可能不够稳定,存在风险。有些我们采购外部厂商成熟的产品,依赖厂商提供的服务能力。

最后,还需考虑工具链的综合效益和可扩展性,包括具体的研发场景、业务规划,未来的扩展方向等,以便在保证交付质量的前提下更好地推动自动化工具链的后续发展。

本期我们围绕“自动化”聊了两个问题,两位嘉宾回答的比较深刻。我们总结几点:

  1. 自动化实践的三个步骤:
    a. 单点使用自动化工具,提升单点效率。
    b. 打通工具链,建立自动化工具链。
    c. 向平台化升级,持续改进。
  2. 自动化实践两大难点:
    a. 通过自动化测试实现效能提升,不只是测试团队的工作,而是全研发体系的工作。
    b. 在进行技术选型时,需要通过全面的调研、深入的分析和认真的取舍,才能实现自动化工具链的可靠性、高效性、扩展性。

大家对此有何独特的见解?
欢迎在【公众号:开源网安】《谈效风生》专栏中留言。
我们将「精选留言」,为您送上定制礼品。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/514311.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

MIT6.824 lab4B实验记录

Background 主要是完成一个可以根据group数量,动态调整shard所属的group的分布式kv键值引擎。其中shard->group的配置由shardctrler集群来管理,底层也是通过raft group来容错(分布式嘛) 然后这个shardkv就是要完成的是根据sh…

哪些地方能发表计算机论文? - 易智编译EaseEditing

计算机科学领域是一个快速发展的领域,每年都会涌现出许多新的科技和新的研究成果。 为了保证研究成果的质量和可信度,科学家们通常会通过期刊来发表自己的研究成果。 SCI期刊是世界著名的科技期刊数据库,被认为是科技领域内的权威数据库之一…

docker 系列之 Dockerfile 文件里 cmd命令与entrypoint命令区别

文章目录 一、cmd:用法1:带有中括号的形式用法2:shell form,即没有中括号的形式 二、entrypoint:第一种:命令行模式,也就是带中括号第二种:shell模式 三、总结: 一、cmd&…

《人月神话》纪念典藏版撤下了以前的宣传语

DDD领域驱动设计批评文集>> 《软件方法》强化自测题集>> 《软件方法》各章合集>> 《人月神话》作者Frederick Phillips Brooks Jr. 于2022年11月17日逝世。 清华大学出版社近期将发行《人月神话》纪念典藏版。 新版的封底如下,宣传语更换成了…

CleanMyMac X4.13.2.dmg最新中文版下载

它是Mac上一款美观易用的系统优化清理工具,也是小编刚开始用Mac时的装机必备。它能够清理系统垃圾,提升电脑的运行速度,卸载许久不用的软件,使其变得如新机一般流畅。 CleanMyMac X是一款专业的Mac清理软件,可智能清理…

al智能改写工具-ai自动生成文章软件

随着互联网的发展,文章编辑在不断地向自动化、高效化方向进行转变,一款名叫“改稿神器”的工具应运而生。它可以帮助我们快速实现全自动批量改稿,做到没有错别字,自动优化语法,自动插入图片,严格按照标准的…

【腾讯云FinOps Crane 集训营】初识 FinOps Crane

前言: 有幸参加了腾讯云Finops Crane 集训营,学到了很多东西,现在将内容分享给大家。 Finops Crane :是一个基于 FinOps 的云资源分析与成本优化平台。 它的目标是希望在保证客户应用运行质量的前提下,实现极致的降本。…

web前端面试题汇总大全 -- 持续更新!

文章目录 一、html 系列 ⭐⭐⭐⭐⭐1、H5新增特性和css3新增特性? 二、css 系列 ⭐⭐⭐⭐⭐1、BFC的理解?2、说说你对盒模型的理解?3、如何实现元素⽔平垂直居中?4、CSS如何画⼀个三⻆形?原理是什么?5、说说…

二分查找基础篇-JAVA

文章目录 前言 大家好,我是最爱吃兽奶,这篇博客给大家介绍一下二分查找,我们先从最基本的开始讲解,再慢慢深入,把优化和变形也和大家说一下,那么,跟着我的步伐,我们一起去看看吧! 一、什么是二分查找? 二分查找(Binary Search)也称作折半查找 二分查找的效率很高,每查找一次…

Adam优化器及其变种的原理

本文将从SGD开始介绍Adam优化器的原理以及其变种的提出背景。 1、SGD的原理 SGD(随机梯度下降法)是基于最速梯度下降法的原理,假设我们存在损失函数,其中是要学习参数,定义如下的优化路径,使得损失函数值最…

Ray使用案例

Ray Use Cases Ray用例 本页索引了用于扩展ML的常见Ray用例。它包含了对博客、例子和教程的突出引用,也位于Ray文档的其他地方。 大型语言模型和生成型人工智能 大型语言模型(LLMs)和生成性人工智能正在迅速改变行业,并以惊人的速度要求计算。Ray为这些模型的扩展提供了…

我让ChatGPT用CSS3画一个皮卡丘,还是自己画的可爱

突然想到了小时候看过的动画片《皮卡丘》,于是突然就想,ChatGPT肯定也看过,他哪有不知道的东西啊,于是就想着让他帮我画一个,他画出来之后,我笑了,这啥玩意儿啊。 目录 一、第一次尝试让ChatGP…

智安网络|怎么预防大大小小的网络入侵及信息泄露?五招值得收藏

网络安全是一个涵盖广泛、变幻多端的领域。网络风险防范需要多种措施,从教育人员如何正确处理机密信息到定期检查系统的安全性。 在现代网络环境下,网络安全成为防护重点,网络环境下出现的安全隐患可能会直接影响业务,甚至生命财…

【fiddler+burp+雷神模拟器联动抓包】

0x00 常用抓包工具 常用的抓包工具​有fiddler、wireshark、httpwatch、 firebug、F12/等。抓包抓的是协议,fiddler抓的是HTTP、HTTPS协议,wireshark抓的是其他协议。fiddler、wireshark可以修改接口的参数和返回值,常用的F12调试工具只可以…

npm 知识点

1 ~会匹配最近的小版本依赖包,比如~1.1.3会匹配所有1.1.x版本,但是不包括1.2.0 ^会匹配最新的大版本依赖包,比如^1.3.4会匹配所有1.x.x的包,包括1.3.4,但是不包括2.0.0 *会匹配最新版本 2 ant-design/pro-table 前面…

EndNote X9 引用参考 单击文献编号,不能跳转到文尾文献列表处,咋解决?文献编号 不能跳转 ,怎么办?

文章目录 1 正常情况下 引用文献编号 是可以跳转的2 问题分析3 解决方法4 EndNote X9 插入参考文献常见问题总结5 EndNote X9 快速上手教程(毕业论文参考文献管理器) 1 正常情况下 引用文献编号 是可以跳转的 正确的插入文献后, 正常情况下&a…

公告 | FISCO BCOS v3.3.0发布,新增块内分片技术,单链性能突破10万TPS

FISCO BCOS开源社区一贯秉承开源、开放、联合共建的原则,致力于链接社区力量将FISCO BCOS打造成更加完美的区块链底层平台。 在社区通力协作下,FISCO BCOS v3.3.0已经发布,块内分片作为本次更新的核心亮点,实现了应用间交易执行的…

PyMuPDF pdf神奇处理工具

可将pdf转图片,图片转pdf,可拼接pdf,可提取固定的内容。 详细参考下面文章: PyMuPDF关键字标注:https://www.cnpython.com/qa/1436855 PyMuPDF去水印:https://sunnysab.cn/2022/06/29/Clean-Watermarks-…

BlockingQueue(阻塞队列)基本使用指南

概述 BlockingQueue 是 java.util.concurrent 包提供的用于解决并发生产者 - 消费者问题的最有用的类。 BlockingQueue 的特性是在任意时刻只有一个线程可以进行 take 或者 put 操作,并且 BlockingQueue 提供了超时 return null 的机制,在许多生产场景…

哪些行业适合开发微信小程序?

随着电子商务的进一步发展,很多行业都开始开发自己的系统软件,企图通过线上线下结合的方式来达到更好的宣传效果,拓客引流。微信小程序凭借成本低、使用方便等优点成为很多商家的首选。那么究竟哪些行业适合开发微信小程序呢? …