落地 DevOps,探索高效研发运营一体化解决方案

   前言与概述

伴随着企业业务的快速发展,为了支撑业务发展,提高 IT 对业务的支撑能力建设。在研发工程协同方面,希望加强代码管理,实现持续构建、自动化测试、自动化部署、自动化运维,同时加强产品的安全和质量管理;在研发管理协同方面,希望实现从需求提出、需求规划、需求设计需求设计、需求开发、需求测试、需求上线的端到端的管理,并支持瀑布模型和敏捷模型的项目开发。

基于以上背景,企业更希望借助研发运营一体化体系的建设和 DevOps 工具平台的建设赋能研发,提高质效。

什么是 DevOps

DevOps(英文 Development 和 Operations 的组合)是一组过程、方法与系统的统称。用于促进开发(应用程序 / 软件工程)、测试(QA)、技术运营之间的沟通、协作与整合通过高度自动化工具与流程,使得软件构建、测试、发布更加快捷、频繁和可靠,从而快速交付想法、尽快让客户尝试从而获取反馈、快速响应客户反馈、提升业务速度,或尽量降低运营成本和减少浪费。

研发运营一体化(devops) 能力成熟度模型

  1. DevOps 国内翻译为开发运维一体化,但目前人们更多关注的是在开发与测试域,运维域仅有自动化发布归属 DevOps。DevOps 作为最佳实践,旨在提高软件交付速度和质量,打通部门间壁垒,促进协同,做到了从需求到运维,端到端的流程打通和可视化。

  2. DevOps 平台基础版包括代码配置管理、自动化编译打包、自动化部署 / 发布;高级版除基础版模块外,还包括需求管理、项目管理、开发管理、测试管理等协同功能。

  3. 经过多年的发展和演进,DevOps 已经形成了较为完备的知识体系,那就是以精益管理为基础,敏捷管理、持续交付、IT 服务管理为支柱的知识体系。

下图为研发运营一体化能力成熟度模型图,旨在帮助企业更好地理解和规范 DevOps 的落地实施与应用。

研发运营面临的 “四大” 挑战

  • 业务压力:激烈的市场竞争对业务提出更高的要求,数字化转型成为产业升级的重要抓手,快速、高效、高质量的交付业务价值。

  • 技术压力:云原生等新技术在带来便捷的同时,也增加了交付与维护的复杂度,对技术人员提出了更高的要求。

  • 效能压力:随着组织规模越来越大,多团队、多项目、多产品协作成本越来越高,单人效率日渐下降。

  • 成本压力:研发运营成本日益高企;复合型人才稀缺。

信息化程度走高后,暴露的研发运营问题

  1. 团队之间、不同角色之间协同效率低(信息离散难回溯,沟通成本高、效率低)

    1. 任务的分配、状态追踪需要人工 (当面 / 邮件 / 会议等) 反馈、跟踪;
    2. 线下沟通,参与人员多,邮件多,会议多,沟通成本高;
    3. 风险 (比如延迟开发、SIT、UAT) 的反馈慢。
  2. 研发过程割裂,缺乏研发运营一体化平台(IT 资源管理成本高、无法做过程优化)

    1. 多个团队都有自己的研发工具,重复造轮子;
    2. 交付件、发布内容缺乏统一管理,没有版本规范,流程管理规范;
    3. 工具互不关联,数据无法集成,任务协调进度无法集成。
  3. IT 侧的响应跟不上市场竞争节奏(市场商机稍纵即逝、IT 成本越堆越高)

    1. 业务迭代频率越来越高,现在的交付模式已经成为瓶颈;
    2. 发布过程复杂及人工操作时间久,发布涉及不同系统或数据库之间的前后发布依赖、部分复杂的应用;
    3. 前无法实现自动化发布,手工发布的系统比例较大。
  4. 系统可用性无法保障(用户流失、业务流程阻塞)

    1. 发布完成后,仅能做简单验证服务启动成功,对业务功能验证,并无好的方法;
    2. 线上服务没有故障快速发现,缺少自动化运维能力 (健康检查、弹性伸缩、 故障自恢复等)。

研发运营一体化建设思路

价值流交付平台使企业组织能够简化 DevOps 交付流水线的构建和管理。它们最大限度地减少了编排、集成和治理中涉及的开销,从而通过为工作流程提供可见性、可追溯性和可观察性来最大化价值。 产品基于价值流管理的思想,引入 DevOps 价值流管理理念,通过建设科学、规范、高效的一体化软件研发效能体系与平台,提升组织级软件交付、运维效能,以实现对企业数字化转型及业务创新的有力支撑和持续驱动,达到一体化、统一化、场景化、自动化、可视化的目标。

  • 体系化:引入 DevOps、ITIL 体系框架,建设科学的研发运营体系,实现企业的数字化转型和业务价值创新。

  • 统一化:通过建设规范、高效的一体化研发运营平台,实现多角色、多维度、多视角线上化的高效协作。

  • 场景化:通过模板化、规则化等手段,实现多种研发交付场景下的管理与生产动作的联动,从而实现从左到右端到端的价值流动,实现部门协同管理。

  • 自动化:以软件交付工序为主线,集成专业化 IT 服务管理工具、配置管理等生产工具,提升持续交付、持续运营的自动化能力。

  • 可视化:通过价值流可视化能力来分析价值和浪费,促进端到端的价值流快速流动。

解决方案

研发运营一体化建设蓝图规划

研发运营一体化平台,实现了企业从需求、规划、设计、开发、测试、发布、运维的端到端的管理。在需求全过程中涉及到需求管理、项目协作、配置管理、测试管理、发布管理、运维管理以及研发效能度量等活动,典型场景如下:

  1. 业务人员提交意向需求,BA 进行需求分析,编写业务需求和软件需求,并将需求关联到相关项目。

  2. 项目经理制定迭代计划,将需求分配到相关迭代计划,并将需求转化成任务,分配给开发人员。

  3. 开发人员按照任务完成代码开发,并提交代码,配置管理人员按照分支合并源代码,并手工触发流水线执行,流水线自动完成构建、自动化部署、自动化测试等工作,待测试人员完成测试用例的执行和报告后,执行发布流水线,最终完成生产部署工作。

 

研发运营一体化平台应用架构

研发运营一体化平台应用架构具体分为项目管理、产品管理、需求管理、测试管理、发布管理以及运维管理 6 大模块。未来平台将继续开放敏捷管理、代码库管理、流水线以及制品管理等模块功能。

研发运营一体化平台技术架构

云原生

  • 服务化前后端分离、基于 Rest API 交互,后端基于 DDD 拆分微服务;

  • 前端采用 Vue+H5、后端采用 Spring Cloud 开发框架。

  • 容器化支持应用容器化部署和管理,支持资源动态伸缩。

  • DevOps 通过 IaC 构建 DevOps (GitOps)

服务化

  • 开放 API 便于三方集成及生态化发展。

  • 集成 HUB 抽象集成层、数据模型便于集成及映射。

场景案例

场景一:高效协作,全流程解决方案

  • 实现需求管理流程、项目管理流程、测试管理流程、发布管理流程、变更管理流程、事件管理流程的全流程打通。

场景二:多维度、多层次研发协同

  • 实现业务人员、需求人员、产品经理、项目经理、开发人员、测试人员、部署人员、运维人员高效协同个信息共享。

场景三:需求端到端的管理

  • 面向业务,实现从需求收集、需求分析、需求规划、需求开发、构建和部署、需求测试、需求发布的端到端管理;

  • 支持需求的逐层分解(创意、史诗、特性、用户故事)和细化;

  • 支持需求的自动化跟踪和可视化管理。

场景四:项目全周期管理

  • 实现项目从启动、计划、执行 & 控制、结项的全生命周期管理;

  • 支持瀑布模型和敏捷模型的项目管理;

  • 支持项目迭代计划和里程碑计划管理。

场景五:统一软件配置管理

  • 全生命周期:从规划到产品交付投产的端到端的企业级配置管理全生命周期的统一化、线上化支持;

  • 分层级分角色管理:区分组织级、项目级角色;组织级可以关注在统一管控、支持指导方面;项目级角色可以进行日常的配置管理和环境管理的工作;

  • 多工具支持:企业内不同团队可根据需要自行选择版本管理工具支撑开发。

场景六:测试全周期管理

  • 按照测试任务,编写或者关联测试用例,执行测试用例,记录测试结果,并生成测试报告;

  • 建立统一测试用例库,测试任务从测试用例库提取测试用例。

场景七: 自动化 流水线

  • 全链路工具链集成

  • 流水线编排和调度

场景八:运维服务流程和 DevOps 的集成场景

  • 实现运维发布管理和发布流水线的自动化对接;

  • 实现制品元数据与 CMDB 信息的自动化同步。

 

场景九: 基于服务端到端 DevOps  CMDB 的融合

  • CMDB 为端到端的服务交付过程提供数据基础,提供部署环境信息。

  • 发布完成后,DevOps 自动同步应用配置基线数据到 CMDB

 场景十:研发运营一体化价值度量

项目建设收益

  • 提高 IT 管理效率

    •   通过统一平台、统一入口管理,管理者能够掌握软件研发全过程的信息,对软件研发全过程进行可视化掌控,及时了解需求、设计、开发、配置、构建、测试、部署等情况,实现可视化、透明化管理。
  • 提升 IT 工程效率

    •   一键式部署,实现代码提取、分支合并、自动构建、自动化测试、自动化部署的全过程管理。全过程无需人工干预,降低相关人员的技术和工具要求,同时产品支持自动化撤版和回滚,降低运维生产事故和风险。
  • 增强系统稳定性,提高项目质量

    •   实现项目全过程的规范化管理,通过自动化流水线,降低出错的机率,通过集成安全、质量、自动化测试工具,实现对交付质量的自动化检测,提高交付质量。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

ggplot阶截断坐标轴-gggap

目录 gggap包安装 功能查询 简单版使用代码 复杂版使用代码 gggap包安装 CRAN: Package gggap (-project.org) 手动下载安装 功能查询 > ?gggap > ?gggapDefine Segments in y-Axis for ggplot2 Description Easy-to-define segments in y-axis for ggplot2. …

React+Vis.js(05):节点的点击事件

文章目录 需求实现思路抽屉实现完整代码需求 双击节点,弹出右侧的“抽屉”,显示节点的详细信息 实现思路 vis.network提供了一个doubleClick事件,代码如下: network.on(doubleClick, function (properties) {// console.log(nodes);let id = properties

【数据结构】PTA 带头结点的链式表操作集 C语言

本题要求实现带头结点的链式表操作集。 函数接口定义: List MakeEmpty(); Position Find( List L, ElementType X ); bool Insert( List L, ElementType X, Position P ); bool Delete( List L, Position P ); 其中List结构定义如下: typedef struc…

STM32第十二节(中级篇):串口通信(第一节)——功能框图讲解

前言 我们在51单片机中就已经学习过了串口通信的相关知识点,那么我们现在在32单片机上进一步学习通信的原理。我们主要讲解串口功能框图以及串口初始化结构体以及固件库讲解。 STM32第十二节(中级篇):串口通信(第一节…

漏洞扫描的重要性,如何做好漏洞扫描服务

随着互联网技术的飞速发展,网络安全问题已成为不容忽视的重大挑战。其中,系统漏洞威胁作为最常见且严重的安全危险之一,对组织和个人的信息资产构成了巨大威胁。下面我们就来了解下漏洞扫描的好处、漏洞扫描的操作方法以及如何做好网络安全。…

使用 onBeforeRouteUpdate 组合式函数提升应用的用户体验

title: 使用 onBeforeRouteUpdate 组合式函数提升应用的用户体验 date: 2024/8/15 updated: 2024/8/15 author: cmdragon excerpt: 摘要:本文介绍如何在Nuxt 3开发中使用onBeforeRouteUpdate组合式函数来提升应用用户体验。通过在组件中注册路由更新守卫&#xf…

个人理解—MKCONFIG的常用配置参数与链接脚本

前面的文章说到,编写Makefile文件的常用语句以及相应的语法,但也提到了MKCONFIG去控制Makefile文件的变量实现条件编译,在MKCONFIG过程中,常用的变量配置有例如架构配置、交叉编译工具链配置等,这些选项要么你去通过改…

界面控件DevExpress .NET MAUI v24.1 - 发布TreeView等新组件

DevExpress拥有.NET开发需要的所有平台控件,包含600多个UI控件、报表平台、DevExpress Dashboard eXpressApp 框架、适用于 Visual Studio的CodeRush等一系列辅助工具。屡获大奖的软件开发平台DevExpress 今年第一个重要版本v23.1正式发布,该版本拥有众多…

10 个 C# 关键字和功能

在 Stack Overflow 调查中,C# 语言是排名第 5 位的编程语言。它广泛用于创建各种应用程序,范围从桌面到移动设备再到云原生。由于有如此多的语言关键字和功能,对于开发人员来说,要跟上新功能发布的最新信息将是一项艰巨的任务。本…

基于ssm+vue+uniapp的二手物品交易平台小程序

开发语言:Java框架:ssmuniappJDK版本:JDK1.8服务器:tomcat7数据库:mysql 5.7(一定要5.7版本)数据库工具:Navicat11开发软件:eclipse/myeclipse/ideaMaven包:M…

数据结构--图(Graph)

定义 图(Graph)是由顶点的有穷非空集合和顶点之间边的集合组成的一种非线性表结构,通常表示为:G(V,E),其中,G表示一个图,V是图G中顶点的集合,E是图G中边的集合。 顶点(…

大模型之战-操作数据表-coze

工作流直接操作数据库啦【何时可以直接访问自己的数据库呢】 1,第一步创建一个bot智能体 1.1,bot中创建数据库表: 1.2,智能体可以通过对话,操作表;【增加,筛选查询等】 1.2.1,增加…

C++ 设计模式——模板方法模式

模板方法模式 模板方法模式逐步重构并引入模板方法模式初始实现提取共性并引入模板方法模式实现具体类 完整代码示例模板方法模式的 UML 图UML 图详细介绍 模板方法模式适用于以下场景 模板方法模式 模板方法模式是一种行为设计模式,它定义了一个算法的骨架&#x…

Python(PyTorch)硅光电倍增管和量化感知训练亚光子算法验证

🎯要点 🎯亚光子光神经网络矩阵计算 | 🎯光学扇入计算向量点积 | 🎯表征测量确定不同光子数量下计算准确度 | 🎯训练全连接多层感知器基准测试光神经网络算法数字识别 | 🎯物理验证光学设备设置 | &#x…

美股收涨,半导体板块领涨;苹果iPhone出货预测上调

市场概况 在昨夜的交易中,美股三大股指全线收涨。道琼斯工业平均指数上涨1.39%,纳斯达克综合指数上涨2.34%,标准普尔500指数上涨1.61%。值得注意的是,英伟达股票涨幅近4%,推动了科技股的整体表现。美国十年期国债收益…

RK3576 芯片介绍

RK3576 芯片介绍 RK3576瑞芯微第二代8nm高性能AIOT平台,它集成了独立的6TOPS(Tera Operations Per Second,每秒万亿次操作)NPU(神经网络处理单元),用于处理人工智能相关的任务。此外&#xff0…

数字化转型对金融服务业的影响

数字化转型正在塑造每个行业,从快速消费品到金融,每个行业都受到新兴技术的影响。 那么,数字化转型在金融服务中扮演什么角色?这对招聘前景有何影响? 我们探讨了数字化转型对该行业的影响、其对招聘策略的影响、数据…

【游戏开发】【Unity】如何快速建造人物模型并赋予动画动作

背景 之前介绍了简单将模型从Vroid Studio置入Blender的方法,本篇介绍如何快速将Vroid的模型赋予动画动作。 工艺流程 大致的路线就是用Vroid快速建模,从Maximo上导入骨架动作,最后用Blender将两者结合。 操作方法 在Blender中打开Edit-》Preferences-》Add-ons 搜索关键…

计算机毕业设计选题推荐-springboot 基于SpringBoot的家电销售展示平台

✍✍计算机编程指导师 ⭐⭐个人介绍:自己非常喜欢研究技术问题!专业做Java、Python、微信小程序、安卓、大数据、爬虫、Golang、大屏等实战项目。 ⛽⛽实战项目:有源码或者技术上的问题欢迎在评论区一起讨论交流! ⚡⚡ Java实战 |…

网易云音乐故障 2 小时,这次到底谁背锅?(今天记得领补偿)

大家好,我是程序员鱼皮,8 月 19 日下午,网易云音乐突发严重故障,并登顶微博热搜,跟黑神话悟空抢了热度。 根据用户的反馈,故障的具体表现为:用户无法登录、歌单加载失败、播放信息获取失败、无法…