您当前的位置:首页 > 电脑百科 > 程序开发 > 编程百科

一文讲透DevOps理论体系的演进

时间:2023-11-01 12:32:59  来源:京东云开发者  作者:

一、前言

 

当前,我国处于以信息化、数字化、网络化、智能化为特征的科技变革浪潮中,企业数字化转型大势所趋,那么作为支撑企业 IT 运转的运营体系也在向多元方向发展,比如 DevOps(研发运营一体化)、AIOps (智能运维)、DataOps (数据研发运营一体化)、MLOps (机器学习研发运营一体化)、BizDevOps (业务研发运营一体化)、FinOps (云财务运营) 等内容,逐步形成围绕研运一体化、研运效能度量、安全体系建设、智能化、IT 资源财务运营等多个方面的 XOps 体系。本文重点侧重 DevOps 的知识内容阐述。

二、背景

随着大数据、人工智能、云计算、数字孪生、5G物联网区块链等新一代数字技术应用的发展,企业业务试图构建持续化、端到端的运营体系,从而推动新技术、新业务、新业态的发展。然而,企业 IT 管理却面临三个难点现状:

  • 业务需求变化快
  • 技术迭代更新快
  • IT 价值难体现

因此,当前企业 IT 管理旨在希望探索出新技术、新方法、新模式,从而提升需求响应速度以及技术深入应用与迭代能力,最终推动业务价值的实现。

三、发展历程(DevOps->XOps)

一文讲透DevOps理论体系的演进

整体而言,对于企业 IT 运营管理对象中可以划分 7 层:战略与规划、业务管理、财务与成本、数据生命周期、机器学习工程、软件生命周期和基础设施运行。在战略与规划中,自 2009 年 DevOps 被首次提出,逐步在不同领域的面向对象中诞生出不同的创新应用体系。从笔者绘制的图表中我们可以看出 DevOps 在企业应用成熟度最高、其次分别是 AIOps 和 MLOps、DataOps, 而在近几年企业更多关注成本、业务创新,BizDevOps 和 FinOps 也进入企业重点关注和落地范围内。

虽然 XOps 各领域面向的对象不同,但都是以文化、组织、流程三个维度串联多个流程领域,在提升效率的同时提高质量,并强调持续的优化改进,对于人员意识的文化培养、组织的协同能力和流程闭环的管理与持续反馈。

四、什么是 DevOps

维基百科:对其定义为 “DevOps (Development 和 Operations 的组合词) 是一组结合了软件开发 (Dev) 和 IT 运营 (Ops)的实践,其目的在于缩短软件开发生命周期并持续交付高质量的软件。

谷歌云:” 谷歌云认为 “DevOps 旨在提高软件交付速度,提升服务可靠性,并在软件利益相关者之间构建共享所有权的一种组织和文化运动。

AWS:”AWS 将 DevOps 定义为 “集文化理念、实践和工具于一身,可以提高组织高速交付应用程序和服务的能力,与使用传统软件开发和基础设施管理流程相比,能够帮助组织更快地发展和改进产品。

Gartner: Gartner 认为其 “是一种使用敏捷方法、协作和自动化交付解决方案的业务驱动方法。”

从业界多方对 DevOps 的定义来看,DevOps 不只是一门技术或套工具平台体系。DevOps 是 Development 和 Operations 的组合词,是组过程、方法与系统的统称,通过研发、测试、运维之间的协作打破各部门之间的信息壁垒,改善团队之间的合作关系,通过自动化。敏捷化和一体化的软件交付和架构变更流程,实现更加便捷、频繁和可靠的发布软件。

在笔者观点理解而言,DevOps 是一种交付方式,其中涉及技术、工具、文化、组织多个环节的实践方法。(如下图是笔者简单的理解)

一文讲透DevOps理论体系的演进

五、DevOps 的价值和发展趋势

随着近年来 DevOps 在企业应用成熟度趋于成熟,不乏出现一些文章中提到 DevOps 已死的标题来吸引读者的注意。正如为了推广微服务而出现铺天盖地的单体架构的贬低言论,推广敏捷而踩低瀑布开发,笔者认为在不同业务领域、业务复杂度情况、公司组织结构、企业 IT 基础设施等多方面维度都会作为判断决策依据,上面我们提到在战略与规划中,DevOps 是一种交付方式,只有交付方式适合不合适,没有直接死掉这么一说。现在我们铺垫了那么多,接下来看下 DevOps 的价值和发展趋势。

根据 IDC 报告显示,2021 年全球 DevOps 软件工具市场总额为 159 亿美元,据预测,2023 年全球 DevOps 软件工具市场规模将超过 200 亿美元,如下图:

一文讲透DevOps理论体系的演进

企业数字化转型中,笔者曾经提到全新的业务模式、高效的业务流程、前沿的技术设施、精准的数据预测、健康的组织文化等 5 个内容方向,如果数字化转型基于业务模式的是否改变,可以将其过程划分为两个类型,一种是自身数字化重构,另外一种是创新数字化业务。

对于自身数字化重构来说:我们旨在提升企业效率,DevOps 能力体系强调协作、自动化、和持续优化。

(1)其中协作来说,包含信息共享(业务类、执行类、反馈类等)和协作调度(全自动、简化和基于事件);

(2)自动化包括软件过程(开发、测试、部署等过程)和过程支撑能力(编译构建、测试环境、部署环境等)。

(3)持续优化包括数据获取、数据分析、数据呈现等。

对于创新数字化业务来说:我们旨在提升用户体验、业务创新,DevOps 能力体系强调更好的价值交付,建设工具赋能业务创新和敏捷。

(1)价值交付:更深入的业务认知和需求痛点挖掘,以及基于用户进行量化体验。

(2)工具赋能:围绕工具平台、配置、基础设施等内容,由组织级统一团队以服务化方式赋能项目团队,为业务敏捷性和创新奠定基础。

5.1、DevOps 的价值交付、协作与敏捷管理

在 DevOps 中,我们提倡价值交付,更深入的业务认知和需求痛点挖掘,完成用户体验提升和业务交付。而在敏捷开发中,我们知道敏捷开发管理是一种为应对快速变化的时长和技术环境的新型软件开发方法,它更强调价值交付过程中所涉及的各类角色 (如业务产品、开发和测试等) 之间的紧密协作、能够很好地适应变化的团队组织、协作和工作方式,主张演进式的规划和开发方式,以及持续和尽早的交付,并不断反馈调整与持续改进,并且鼓励快速与灵活的面对变更,更注重软件开发过程中人的作用。而加快软件交付速度是企业应用敏捷开发最主要的原因。企业的本质是利用组织和技术追求效率与成本控制从而产生商业利润。敏捷开发管理实践方法众多,企业需根据自身特点选择适合的敏捷实践。

一文讲透DevOps理论体系的演进

5.2、DevOps 的自动化与工具化赋能

首先,持续交付是指持续的将各类变更 (包括新功能、缺陷修复、配置变化、实验等) 安全、快速、高质量地落实到生产环境或用户手中的能力,是一组能够帮助软件开发团队极大提高其软件交付速度和质量的模式和最佳实践的组成。

那么,持续交付与部署流水线为软件的发布提供一个可重复且可靠的自动化过程,能够实现价值的持续稳定传递。流水线打通软件交付过程的各个环节,建立全流程、端到端、可视化的自动化部署流水线,每次变更都会触发完整的自动化部署流水线,为团队提供状态可视化和及时反馈。

所以我们可以简单定义,自动化部署流水线是实现持续交付的核心。

5.3、DevOps 的技术运营能力场景

一文讲透DevOps理论体系的演进

技术运营包含监控管理、配置管理、容量与成本管理、高可用管理、事件与变更管理、业务连续性管理和用户体验管理七个能力场景。

  • 一是监控管理,多数企业监控采集的平台化能力建设较为成熟,具有较强的灵活性和可扩展性,支持自定义数据采集、处理服务。
  • 二是配置管理关注与技术运营相关的面向应用场景的配置对象及数据,配置对象可以实现误告警的自动屏蔽,根据配置对象的状态来设置规则,配置数据有多套配置系统管理方案,从线下转为线上方式,支持对配置进行统一纳管。
  • 三是容量与成本管理,通过量化、精细化的方式对容量成本预算、成本核算等进行管理实施。
  • 四是事件与变更管理,事件管理是对影响生产的事故和问题建立预防、高效处理及度量改进的制度和手段,变更管理是对 IT 基础设施、系统应用、业务产品配置等场景实施变更所进行的审批和控制流程。
  • 五是高可用管理,包含应用高可用管理和数据高可用管理,采用软硬件结合的方式,以及多机房集群部署,最大限度保障系统的可用性。
  • 六是业务连续性管理,通过风险管理、危机管理、应急管理等内容保障业务连续性要求。
  • 七是用户体验管理,通过技术运营的方式关注用户体验,提升用户满意度,通常会通过埋点技术收集用户体验指标,并进行分析优化

5.4、DevOps 的应用设计与 DevSecOps

DevOps 的应用设计主要关注应用架构的可扩展性、可伸缩性、可观测性、安全性和可用性。在应用设计中,随着技术发展与业务变化,IT 架构已经经历了单体架构、垂直架构、SOA 架构和微服务框架几大阶段,而当前微服务与云原生架构正在企业中广泛试点。

在这里笔者想强调的是,应用设计中,往往安全是整个 IT 团队所有成员的责任,需要贯穿整个业务生命周期的每个环节。

DevSecOps 通过建立完善的软件安全开发生命周期管理体系,将安全内建到项目的生命周期每个阶段,并流程化跟踪项目安全建设中的各项安全活动。同时,在研发过程中融入安全基础能力,要求和检出一一对应,平台可集成安全工具,提升自动化能力.

六、DevOps 的生命周期与工具全景图

DevOps 通过其规划、部署、交付和运营阶段来影响应用程序生命周期。每个阶段都依赖其他阶段,且各阶段并非特定于角色。DevOps 文化在某种程度上涉及每个阶段中的所有角色。

一文讲透DevOps理论体系的演进

图片来自 https://learn.microsoft.com/zh-cn/devops/what-is-devops

贯穿云原生 DevOps 整个生命周期的工具链全景图如下:

一文讲透DevOps理论体系的演进

图片来自:https://mp.weixin.qq.com/s/yPeRriDT-miiLoJdY-aY8Q

七、DevOps 的成熟度评估体系

DevOps 成熟度是评估效维工具选择的首要参考维度。不同企业可以基于自身实际情况可以从多维度进行评估:

一文讲透DevOps理论体系的演进

八、感悟

笔者认为越是成熟度高的东西,体系知识越是庞大,本文限于篇幅的原因对于部分内容细节并未全部展开描述,更多的是从定义、描述、价值、趋势、知识体系和工具体系大的方向介绍,对于如何实施细节需要读者去针对细节内容去学习。其中上述内容有很多是笔者的观点,如有不同见解,还希望留言或者私下沟通。

 

九、参考资料

  • 《中国 XOps 应用创新发展研究报告》- 中国信息通信研究院
  • 《星汉未来综合运维解决方案》
  • 微软 DevOps 资源中心:https://learn.microsoft.com/zh-cn/devops/what-is-devops
作者:京东零售 刘晓成
来源:京东云开发者社区 转载请注明来源


Tags:DevOps   点击:()  评论:()
声明:本站部分内容及图片来自互联网,转载是出于传递更多信息之目的,内容观点仅代表作者本人,不构成投资建议。投资者据此操作,风险自担。如有任何标注错误或版权侵犯请与我们联系,我们将及时更正、删除。
▌相关推荐
什么是 DevOps?解读 IT 文化革命的目的和重要性
DevOps 将运维和开发相结合以提供持续的软件改进,可以降低复杂性并提高应用程序输出。 什么是 DevOps?DevOps 是组织用来创建和交付应用程序和服务的灵活实践和流程的集合,通过...【详细内容】
2024-01-12  Search: DevOps  点击:(76)  评论:(0)  加入收藏
从Kubernetes的探针到DevOps
今天在群里又看有人问如何设置 Kubernetes 的探针,感觉要补充的话太多了,结合我们在一些 DevOps 项目中痛苦的体验,今天一劳永逸的全部说完,此外,也为大家展现一下为什么 DevOps...【详细内容】
2023-12-27  Search: DevOps  点击:(114)  评论:(0)  加入收藏
14个工具,让 DevOps 和 SRE 遥遥领先!
作者 | Eduardo Messuti编译 | 小欧出品 | 51CTO技术栈(微信号:blog51cto)随着 DevOps 和 SRE 的不断发展,新一代工具应运而生。本文将深入探讨2024年最有前途的工具,它们正在塑...【详细内容】
2023-12-18  Search: DevOps  点击:(103)  评论:(0)  加入收藏
使用持续集成和部署管道简化DevOps流程
在软件开发领域,DevOps(DevelopmentandOperations)是一种将开发和运维团队紧密结合的方法论,旨在加快软件交付速度、提高质量和稳定性。然而,传统的软件开发流程中存在着繁琐的手...【详细内容】
2023-12-10  Search: DevOps  点击:(128)  评论:(0)  加入收藏
混合云中 DevOps 的最佳实践
近年来,出现了各种工具、技术和框架,其目标是增强灵活性、性能和可扩展性。传统的整体方法已被微服务和纳米服务等更加模块化的方法所取代。此外,云计算的兴起导致本地软件被云...【详细内容】
2023-11-08  Search: DevOps  点击:(72)  评论:(0)  加入收藏
一文讲透DevOps理论体系的演进
一、前言 当前,我国处于以信息化、数字化、网络化、智能化为特征的科技变革浪潮中,企业数字化转型大势所趋,那么作为支撑企业 IT 运转的运营体系也在向多元方向发展,比如 DevOps...【详细内容】
2023-11-01  Search: DevOps  点击:(221)  评论:(0)  加入收藏
八个优秀开源DevOps工具
DevOps(Development和Operations)是一组软件工程过程最佳实践,并非工具,旨在将制造世界的精益概念应用于软件世界。维基百科给出的定义是:“DevOps是一种重视软件开发人员(Dev)和IT...【详细内容】
2023-10-10  Search: DevOps  点击:(291)  评论:(0)  加入收藏
如何利用DevOps与Kubernetes提升软件交付效率?
在当今的软件开发领域,DevOps和Kubernetes已成为推动企业数字化转型的关键因素。DevOps是一种注重开发(Development)和运维(Operations)团队之间紧密协作的软件工程方法,而Kuberne...【详细内容】
2023-10-08  Search: DevOps  点击:(352)  评论:(0)  加入收藏
DevOps团队如何提高Kubernetes性能
编译 | 徐杰承今天,Kubernetes仍然是开发人员最需要的容器。Kubernets最初由 Google 工程师开发,作为跨本地、公共云、私有云或混合云托管的首选解决方案享誉全球。来自Statis...【详细内容】
2023-08-22  Search: DevOps  点击:(289)  评论:(0)  加入收藏
揭穿DevOps的5个谣言!
作者 | Aditi Agarwal 编译 | 徐杰承据不完全统计,软件故障每年都会给企业造成数十亿美元的损失,这也是为什么拥有一个可靠的软件交付流程是如此重要的原因,而DevOps能够帮助我...【详细内容】
2023-08-15  Search: DevOps  点击:(200)  评论:(0)  加入收藏
▌简易百科推荐
即将过时的 5 种软件开发技能!
作者 | Eran Yahav编译 | 言征出品 | 51CTO技术栈(微信号:blog51cto) 时至今日,AI编码工具已经进化到足够强大了吗?这未必好回答,但从2023 年 Stack Overflow 上的调查数据来看,44%...【详细内容】
2024-04-03    51CTO  Tags:软件开发   点击:(5)  评论:(0)  加入收藏
跳转链接代码怎么写?
在网页开发中,跳转链接是一项常见的功能。然而,对于非技术人员来说,编写跳转链接代码可能会显得有些困难。不用担心!我们可以借助外链平台来简化操作,即使没有编程经验,也能轻松实...【详细内容】
2024-03-27  蓝色天纪    Tags:跳转链接   点击:(12)  评论:(0)  加入收藏
中台亡了,问题到底出在哪里?
曾几何时,中台一度被当做“变革灵药”,嫁接在“前台作战单元”和“后台资源部门”之间,实现企业各业务线的“打通”和全域业务能力集成,提高开发和服务效率。但在中台如火如荼之...【详细内容】
2024-03-27  dbaplus社群    Tags:中台   点击:(8)  评论:(0)  加入收藏
员工写了个比删库更可怕的Bug!
想必大家都听说过删库跑路吧,我之前一直把它当一个段子来看。可万万没想到,就在昨天,我们公司的某位员工,竟然写了一个比删库更可怕的 Bug!给大家分享一下(不是公开处刑),希望朋友们...【详细内容】
2024-03-26  dbaplus社群    Tags:Bug   点击:(5)  评论:(0)  加入收藏
我们一起聊聊什么是正向代理和反向代理
从字面意思上看,代理就是代替处理的意思,一个对象有能力代替另一个对象处理某一件事。代理,这个词在我们的日常生活中也不陌生,比如在购物、旅游等场景中,我们经常会委托别人代替...【详细内容】
2024-03-26  萤火架构  微信公众号  Tags:正向代理   点击:(10)  评论:(0)  加入收藏
看一遍就理解:IO模型详解
前言大家好,我是程序员田螺。今天我们一起来学习IO模型。在本文开始前呢,先问问大家几个问题哈~什么是IO呢?什么是阻塞非阻塞IO?什么是同步异步IO?什么是IO多路复用?select/epoll...【详细内容】
2024-03-26  捡田螺的小男孩  微信公众号  Tags:IO模型   点击:(8)  评论:(0)  加入收藏
为什么都说 HashMap 是线程不安全的?
做Java开发的人,应该都用过 HashMap 这种集合。今天就和大家来聊聊,为什么 HashMap 是线程不安全的。1.HashMap 数据结构简单来说,HashMap 基于哈希表实现。它使用键的哈希码来...【详细内容】
2024-03-22  Java技术指北  微信公众号  Tags:HashMap   点击:(11)  评论:(0)  加入收藏
如何从头开始编写LoRA代码,这有一份教程
选自 lightning.ai作者:Sebastian Raschka机器之心编译编辑:陈萍作者表示:在各种有效的 LLM 微调方法中,LoRA 仍然是他的首选。LoRA(Low-Rank Adaptation)作为一种用于微调 LLM(大...【详细内容】
2024-03-21  机器之心Pro    Tags:LoRA   点击:(12)  评论:(0)  加入收藏
这样搭建日志中心,传统的ELK就扔了吧!
最近客户有个新需求,就是想查看网站的访问情况。由于网站没有做google的统计和百度的统计,所以访问情况,只能通过日志查看,通过脚本的形式给客户导出也不太实际,给客户写个简单的...【详细内容】
2024-03-20  dbaplus社群    Tags:日志   点击:(4)  评论:(0)  加入收藏
Kubernetes 究竟有没有 LTS?
从一个有趣的问题引出很多人都在关注的 Kubernetes LTS 的问题。有趣的问题2019 年,一个名为 apiserver LoopbackClient Server cert expired after 1 year[1] 的 issue 中提...【详细内容】
2024-03-15  云原生散修  微信公众号  Tags:Kubernetes   点击:(6)  评论:(0)  加入收藏
站内最新
站内热门
站内头条