DevOps后时代,构建基于价值流的平台化工程

本文来自腾讯蓝鲸智云社区用户: CanWay

平台化工程涉及双重核心意义。一方面,是类似利用IDE等工具提高工程师效率的平台化工程,如GitOps或命令行调度般便捷。然而,本文重点探讨的是基于价值流的平台化工程,尤其针对传统金融行业,关注整个协同过程的有效管理。本文重点讨论如何将CMMI(能力成熟度模型集成)与DevOps理念结合,实现平台化工程的实际应用。

企业DevOps建设:现状与问题

重工程、轻流程

过去,行业都在构建基于工程效能的定义,即更高效、更高质量、更可靠、可持续地交付更优的业务价值的能力,以提升能效。

早期互联网公司通过端到端的持续开发、集成、测试、交付运维,尝试量化效能质量、交付速度和业务价值。然而,这种“重工程、轻流程”的模式也带来了风险。例如,PDD在系统测试阶段未经充分验证即发布生产,导致巨额损失。

传统行业如金融、通讯、物流和航空等,由于与消费者紧密关联,其发布流程必须经过严格的质量把控和多重验证。因此,他们无法像早期互联网企业那样直接发布代码。流程管理的重要性显而易见。

局部狭义的DevOps:流程与规范的缺失

企业在实施DevOps时,往往面临各部门各自为政、流程不联通的问题。研发、测试、运维等部门基于自己的理解建立平台和子流程,导致CI/CD过程中各部门间缺乏有效沟通。此外,业务人员与研运人员之间的不同话语体系、操作平台和组织形式也增加了沟通障碍。

--a692a0b226ce7c1166c895bef88abbf4.png

例如,研发团队有自己的配置管理团队,测试团队有测试一体化平台,运维团队有ITIL(信息技术基础架构库)等。这些平台之间缺乏互操作性,导致数据脱节和信息同步困难。

在DevOps运行到后期时,企业可能会发现,在度量需求规划至项目运营的数据时,需跨越近百个工具和平台,大量数据需人工填写,数据间彼此脱节。尽管投入了大量资源,但由于流程隔离和信息不一致,需求交付周期并未明显缩短,各部门实际有效投入时间仅占整个周期的不到三分之一。

这种局部狭义的DevOps模式,即局限于CI/CD阶段,往往只解决了单点问题,而未能适配企业的整体流程和规范。企业在实施DevOps时,主要存在以下问题:

  • 流程线上串联不足:各部门间的流程未能有效串联,导致信息传递不畅,影响协作效率。
  • 管理系统和入口繁多:过多的管理系统和入口导致研发操作分散,存在冗余和重复建设的问题,增加了维护成本。
  • 数据间未打通:各部门数据之间缺乏有效连接,导致数据难以对齐,重复输入现象严重,降低了数据准确性和工作效率。
  • 缺乏流程效率分析:企业缺乏对流程效率的全面分析,难以识别潜在阻塞点,从而无法针对性地优化流程。

--61bb8f209177362fda33e543d0d467f8.png

突破之法:基于精益价值流的平台化工程

要有效消除企业交付与工程效能演进之间的鸿沟,单纯依赖以CI/CD为核心的DevOps工具链是远远不够的。为了真正实现业务价值交付的降本增效,我们需要构建一个高效、标准的互联互通体系。

"基于精益价值流的平台化工程”提供了破局思路:将统一标准融入各工具平台,实现业务价值流与工程价值流的互联、互通、互锁。这里,价值流涵盖从业务价值需求的提出到上线的整个流程,其中涉及多个工程活动环节,如测试平台,仅仅是这一流程中的一个子环节。

--49b3927e3571f44c2b0cef52d3c25b15.png

以“OnelD”理念建设管理平台,实现工具间的互联互通,整个过程实时展示前置时间(LT)、处理时间(PT)、需求分布等关键指标,从而直观地掌握流程效率、速度以及分布状况。通过平台化产品打通业务价值流与工程价值流,使组织的业务流动、成本分配、效率管理变得可观测、可联动、可管理、可优化。

--0b39980d928b7f426c6cbfd74229a132.png

新一代信息化建设策略:流程治理+DevOps工程

在过去,互联网企业因无需与其他平台体系联动,仅提供工程能力已足够应对需求;而对于金融、汽车等传统行业,由于对流程有强管控要求,需实现前中后台的融合,以确保对齐质量、把控风险。

我们可以考虑采用流程治理与DevOps工程融合的策略,来构建新一代的信息化体系。这一策略的核心在于实现管理流程与工程流程的融合对接。通过打破工具间的数据孤岛,构建一个从需求到制品、再到环境的全流程信息关联体系。在这一体系中,数据一旦记录,便能在后续的流程中直接自动流转,确保信息的一致性、无缝对接和高效协同。

--9de5cf3242e2e009f52b22803437fa20.png

融合流程治理与DevOps关键建设节点

首先,基于通用服务模型的价值流平台,构建集成和自动化IT价值链的插件开放平台。这个平台将CI/CD、自动化测试、环境申请、仓库部署等各环节紧密聚合,通过插件化引擎(类似于ESB企业服务总线)串联流程,实现多平台间数据的自动构建与贯通。这一流程按前后顺序融合编排、支持自由切换,构成完整且高效的价值流。

以CMMI流程为例,我们可以根据组织需求自定义编排,明确流程环节、晋级点、环理管理点、审批流等,确保流程既满足成熟度要求,又高效符合业务需求。

其次,实现全链路数据的联动贯通。将各阶段的产出物进行线性关联,形成研发过程全链路数据联动,将代码、需求、配置、测试环境、测试数据形成资产进行沉淀,进行结构化管理,输出可视化视图,提高问题追溯能力。

--938302733a9edb61459bbdba4889800e.png

此外,引入可视化追溯机制,基于全链路数据关联关系构建直观视图。从应用对应的业务系统出发,建立业务之间的关联关系;同时,以业务系统的过程环境为切入点,融入硬件、中间件信息,构建制品与环境的关联网络;最后,以制品为中心点,横向连接研发管理各领域,实现应用端到端资产关联。

这种关联使得我们能够度量过程中每个阶段的耗时、等待时长、审批失败次数等关键指标,实现精益价值管理,能够直接溯源追踪定位问题根源。这使得我们能够快速分析出哪些工具需要替换、哪些工艺规则需要标准化,从而及时做出判断和处理。

--fb6b0affbf93a1402231e7848aef197b.png

最终,我们将打造一个覆盖三线一体的数字化IT效能平台。该平台依托ESB总线,将企业内部各种异构性平台通过统一的插件和接口融合,依据价值流编排进行高效调度,实现流程与工程的无缝对接,构建关联资产的度量反馈。

--bd3c215474232e36c62ed226821ff0e0.png

价值与收益:业技融合联动,构建高效联动与协同合作新模式

经过流程治理与DevOps工程的融合建设后,我们将能够打通业务层和技术层,与具体工具平台、研发模式松耦合,将业务流程内聚化,做到可建模,可观测,可度量,形成业务与技术之间的高效联动和协同合作。

最后,实现平台化的整体目标:基于价值流构建全生命周期的业务流、数据流、应对快速变更。这一新模式将为企业带来更高的运营效率、更低的成本和更强的竞争力。

--c40d037ec0e39c8f329afe6a9751eb3a.png

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

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

相关文章

金融领域的AI解决方案

AI可赋能金融营销、资管、风控等领域,面向金融消费者、金融机构和金融监管机构,改善金融 市场信息对称性并提升金融交易的效率和安全性。目前,金融行业各机构对于安全认证和客户身份识别的需求较为迫切,身份识别和智能客服应用和落…

DevExpress winForm gridView 设置复选框并可多选

OptionsSelection.MultiSelect True OptionsSelection.MultiSelectMode CheckBoxRowSelect

python爬虫入门教程(二):requests库的高级用法

requests库除了基本的GET和POST请求外,requests库还提供了许多高级功能,本文将介绍其中一些常用的用法。包括: 会话保持(Session)SSL证书验证文件上传代理设置自定义HTTP适配器超时设置 请求参数 文章最开始&#x…

多线程leetcode编程题

synchronized 实现 class ReentrantTest {private int n;private volatile int flag 1;private Object lock new Object();public ReentrantTest(int n) {this.n n;}public void zero(IntConsumer printNumber) throws InterruptedException{for(int i1;i<n;){synchron…

Socket编程权威指南(一)打通网络通信的任督二脉

在网络化的今天&#xff0c;Socket已成为构建分布式系统、实现进程间通信的利器。无论是搭建Web服务器、还是开发网络游戏&#xff0c;Socket编程技能都是必不可少的武器。本文将为你娓娓道来Socket编程的精髓&#xff0c;包括基本流程概览、常用函数剖析&#xff0c;以及精彩实…

【CS.CN】优化HTTP传输:揭示Transfer-Encoding: chunked的奥秘与应用

文章目录 0 序言0.1 由来0.2 使用场景 1 Transfer-Encoding: chunked的机制2 语法 && 通过设置Transfer-Encoding: chunked优化性能3 总结References 0 序言 0.1 由来 Transfer-Encoding头部字段在HTTP/1.1中被引入&#xff0c;用于指示数据传输过程中使用的编码方式…

Locust:用Python编写可扩展的负载测试

Locust&#xff1a;简化性能测试&#xff0c;让负载模拟更直观- 精选真开源&#xff0c;释放新价值。 概览 Locust是一个开源的性能和负载测试工具&#xff0c;专门用于HTTP和其他协议的测试。它采用开发者友好的方法&#xff0c;允许用户使用普通的Python代码来定义测试场景。…

nvm,node不是内部命令,npm版本不支持问题(曾经安装过nodejs)

nvm安装后nvm -v有效&#xff0c;node指令无效 环境变量配置无问题 推荐方案 下载你需要的node版本 Index of /dist/ (nodejs.org) 下载后解压到你的nvm存储版本的位置 cmd进入切换你的使用版本&#xff08;此时你的nodejs是从网上下载的&#xff0c;npm文件是存在的&…

Maven中的DependencyManagement和Dependencies

Maven中的DependencyManagement和Dependencies Dependencies Dependencies是Maven项目中用来声明项目依赖的部分。在pom.xml文件中的<dependencies>部分&#xff0c;你可以直接列出项目所依赖的库&#xff08;artifacts&#xff09;。每个依赖通常包括以下信息&#xf…

【PythonCode】力扣Leetcode21~25题Python版

【PythonCode】力扣Leetcode21~25题Python版 前言 力扣Leetcode是一个集学习、刷题、竞赛等功能于一体的编程学习平台&#xff0c;很多计算机相关专业的学生、编程自学者、IT从业者在上面学习和刷题。 在Leetcode上刷题&#xff0c;可以选择各种主流的编程语言&#xff0c;如C…

如何将HTTP升级成HTTPS?既简单又免费的方法!

在当今数字化时代&#xff0c;网络安全已成为用户和企业关注的焦点。HTTPS作为一种更加安全的网络通信协议&#xff0c;正逐渐取代传统的HTTP成为新的标准。对于许多网站管理员和内容创作者来说&#xff0c;如何免费升级到HTTPS是一个值得探讨的问题。本文将详细介绍一些免费的…

一分钟学习数据安全—自主管理身份SSI加密技术

上篇介绍了SSI的架构。架构之后&#xff0c;我们要了解一下SSI发展的驱动力&#xff1a;加密技术。现代数字通信离不开数学和计算机科学&#xff0c;加密技术也源于此。加密技术使区块链和分布式账本得以实现&#xff0c;也使SSI成为可能。 以下我们就概览一下SSI基础架构中涉及…

前端三大主流框架

目录 1.概述 2.React 2.1.作用 2.2.诞生背景 2.3.版本历史 2.4.优缺点 2.5.应用场景 2.6.示例 2.7.未来展望 3.Vue 3.1.作用 3.2.诞生背景 3.3.版本历史 3.4.优缺点 3.5.应用场景 3.7.示例 3.8.未来展望 4.Angular 4.1.作用 4.2.诞生背景 4.3.版本历史 4…

【介绍下R-tree,什么是R-tree?】

&#x1f308;个人主页: 程序员不想敲代码啊 &#x1f3c6;CSDN优质创作者&#xff0c;CSDN实力新星&#xff0c;CSDN博客专家 &#x1f44d;点赞⭐评论⭐收藏 &#x1f91d;希望本文对您有所裨益&#xff0c;如有不足之处&#xff0c;欢迎在评论区提出指正&#xff0c;让我们共…

【Java】解决Java报错:ArrayIndexOutOfBoundsException

文章目录 引言1. 错误详解2. 常见的出错场景2.1 直接访问数组越界2.2 循环中的索引错误2.3 多维数组的错误访问 3. 解决方案3.1 检查数组长度3.2 正确使用循环3.3 多维数组的正确访问 4. 预防措施4.1 使用增强型 for 循环4.2 编写防御性代码4.3 单元测试 结语 引言 在Java编程…

mysql报错 Duplicate entry

在MySQL中&#xff0c;当你尝试执行插入&#xff08;INSERT&#xff09;或更新&#xff08;UPDATE&#xff09;操作时&#xff0c;如果目标表中存在唯一索引&#xff08;包括主键索引、唯一约束索引等&#xff09;&#xff0c;并且你要插入或更新的数据在该索引列上的值与表中已…

双网卡配置IP和路由总结

1.在网络适配器属性IPv4中设置默认网关&#xff08;记网关地址为A&#xff09;&#xff0c;将会在本地路由表中新增一条记录&#xff1a; 网络号子网掩码网关地址0.0.0.00.0.0.0A 2.如果有两个网卡&#xff08;假设一个连接内网&#xff0c;一个连接互联网&#xff09;&#…

20240607在Toybrick的TB-RK3588开发板的Android12下适配IMX415摄像头和ov50c40

20240607在Toybrick的TB-RK3588开发板的Android12下适配IMX415摄像头和ov50c40 2024/6/7 11:42 【4K/8K摄像头发热量巨大&#xff0c;请做好散热措施&#xff0c;最好使用散热片鼓风机模式&#xff01;】 结论&#xff1a;欢迎您入坑。 Toybrick的TB-RK3588开发板的技术支持不…

使用 TinyEngine 低代码引擎实现三方物料集成

本文由体验技术团队 TinyEngine 项目成员炽凌创作&#xff0c;欢迎大家实操体验&#xff0c;本体验内容基于 TinyEngine 低代码引擎提供的环境&#xff0c;介绍了如何通过 TinyEngine 低代码引擎实现三方物料集成&#xff0c;帮助开发者快速开发。 知识背景 1.1 TinyEngine 低…

【SkyWalking】使用PostgreSQL做存储K8s部署

拉取镜像 docker pull apache/skywalking-ui:10.0.1 docker tag apache/skywalking-ui:10.0.1 xxx/xxx/skywalking-ui:10.0.1 docker push xxx/xxx/skywalking-ui:10.0.1docker pull apache/skywalking-oap-server:10.0.1 docker tag apache/skywalking-oap-server:10.0.1 xxx…