DevOps

article/2025/8/30 4:23:11

DevOps

  • 一、DevOps的由来和概念
    • 1. 由来
    • 2. DevOps概念解析
      • (1)来自不同渠道和来源的定义:
      • (2)其他摘录
  • 二、DevOps 工作流程
    • 1. DevOps的好处与价值
    • 2. DevOps能力环
  • 三、devops流程工具
  • 四、DevOps发展现状
    • 哪些互联网公司采用DevOps开发软件产品?

一、DevOps的由来和概念

1. 由来

  • 2009年6月:美国圣荷西,第二届Velocity大会上最大的亮点是一个名为“10+ Deploys Per Day: Dev and Ops Cooperation at Flickr”的演讲,可以作为DevOps萌发的标志。这个演讲提出了DevOps的“一个中心,两个基本点”——以业务敏捷为中心,构造适应快速发布软件的工具(Tools)和文化(Culture)。

  • 2009 年 10月,Patrick想通过 Twitter 召集开发工程师和运维工程师在比利时根特举办一个类似于Velocity的大会,会议名称叫做DevOpsDays,取得了出乎意料的成功,然而, DevOpsDays的讨论仍在Twitter上继续着。由于Twitter140个字符的限制,大家在Twitter 上去掉了DevOps中的Days,保留了DevOps。于是,DevOps这个称谓正式诞生。

  • 2010 年:在DevOpsDays之后,DevOps被越来越多的人所熟知并迅速得到了大多数人的认可。人们认为这正是IT部门的正确运作方式,DevOps成为了一种促成开发运维合作的运动。为了统一化DevOps的见解的需要,The Agile Admin博客发表“What is DevOps”, 给出了详细 DevOps 的定义,并且依据敏捷的体系构造出了DevOps的体系: 它包括一系列价值观、原则、方法、实践以及对应的工具。并且梳理了DevOps的历史和对DevOps 的一些误解。

  • 2010 年:《持续交付》的作者Jez Humble参加了第二届的DevOpsDays并做了 “持续交付”的演讲。“持续交付”是“持续集成”的延伸,而这点恰恰和2008年敏捷大会中的观念一致。但由于发生时间的先后关系,“持续交付”被看作是敏捷以及DevOps文化的产物。而今,持续交付仍然被作为DevOps的核心实践之一被广泛谈及。

2. DevOps概念解析

(1)来自不同渠道和来源的定义:

  • 百度百科:DevOps是一组过程、方法与系统的统称,用于促进开发(应用软件和软件工程等)、技术运营和质量保障(QA)部门之间的沟通、协作与整合。它的出现时由于软件行业日益清晰地认识到,为了按时交付软件产品和服务,开发团队和运营团队必须紧密合作。

  • 维基百科:DevOps是一种重视“软件开发人员(Dev)”和“IT运维技术人员(Ops)”之间沟通合作的文化、运动或惯例。其通过对“软件交付”和“架构变更”的流程进行自动化,使得构建、测试、发布软件更加快捷、频繁和可靠。

  • Wikipedia:DevOps是软件开发、运维和质量保证三个部门之间的沟通、协作和集成所采用的流程、方法和体系的一个集合。它是人们为了及时生产软件产品或服务,以满足某个业务目标,对开发与运维之间相互依存关系的一种新的理解。 …DevOps并不仅仅关注软件部署,它是部门间沟通协作的一组流程和方法。

  • IBM:DevOps是一种软件交付方法,它基于精益和敏捷的软件开发,在需求人员、开发人员、测试人员、运维人员的协同下,保证软件的交付能够基于真实的用户反馈。

  • CA:DevOps是通过文化、流程、工具的转换和改进以加速软件交付的。

  • Gartner认为:DevOps代表一种文化的转变,它通过敏捷和精益实践来进行IT服务的快速交付。DevOps寻求开发团队和运维团队进行合作,同时强调利用技术对软件进行改善,尤其是使用工具对软件的整个生命周期的自动化进行改善。

  • DevOps是一种文化转变,或者说是一个鼓励更好地交流和协作(即团队合作)以便于更快地构建可靠性更高、质量更好的软件的运动。(CloudTechnology Partners公司的副总裁兼首席架构师Mike Kavis)

(2)其他摘录

  1. DevOps是软件开发、运维和质量保证三个部门之间的沟通、协作和集成所采用的流程、方法和体系的一个结合,体现了精益管理中的客户价值原则,即以客户的观点来确定企业从设计到生产交付的过程,实现客户需要的最大满足。实现的关键有两点:一是全局观,二是自动化。

  2. DevOps=Culture+Tools,DevOps是一个循环递进的过程,通过文化的指引,打造符合当前组织和文化的相关工具链,固化协作的规范、流程;然后随着工具落地、实践推广,促使组织更快地发展和改进产品,从而进一步加强协作文化和方式。所有未通过工具/平台固化下来的流程规范,如果仅仅依靠文档和意识,当团队迅速扩大时,其腐化速度是超过想象的。

  3. DevOps是对敏捷软件开发和精益生产思想的演进,应用于IT端到端的价值链中,使得业务基于现代信息技术,并通过文化、组织与技术变革来获得更大的成功。实施DevOps可以:缩短市场响应事件、减少技术债务、消除脆弱性。

  4. SRE由Google提出,即Site Reliability Engineering网站可用性工程,把运维(Operation)问题当成软件问题来看,用工程化的思路解决网站可靠性问题,就是用软件和自动化来替代传统运维工程师的工作。它和DevOps是同一种思想,如果关系到可靠性,可以理解为SRE,否则就理解成DevOps。

二、DevOps 工作流程

DevOps 工作流程提供了输入顺序的直观概述。 此外,它还告诉您执行了哪个操作,并为操作过程生成了输出。
在这里插入图片描述
DevOps 工作流程允许分离和安排用户最需要的工作。 此外,它还可以在配置工作中反映其理想过程。

1. DevOps的好处与价值

对于业务与产品而言,DevOps的好处更多基于持续部署与交付。
从组织结构而言,DevOps是部门间沟通协作的一组流程和方法,有助于改善公司组织文化、提高员工的参与感。

  • 代码的提交直接触发:消除等待时间,快速反馈
  • 每个变化对应一个交付管道:使问题定位和调试变得简单
  • 全开发流程高效自动化:稳定,快速,交付结果可预测
  • 持续进行自动化回归测试:提升交付质量
  • 设施共享并按需提供:资源利用最大化

2. DevOps能力环

在这里插入图片描述
DevOps是一组过程、方法与系统的统称,用于促进开发、技术运营和质量保障(QA)部门之间的沟通、协作与整合。
在这里插入图片描述

这个定位稍微有点抽象,但是并不难理解。反正它不是某一个特定软件、工具或平台的名字。

从目标来看,DevOps就是让开发人员和运维人员更好地沟通合作,通过自动化流程来使得软件整体过程更加快捷和可靠。

在这里插入图片描述

破墙工具

很多人可能觉得,所谓DevOps,不就是Dev+Ops嘛,把两个团队合并,或者将运维划归开发,不就完事了嘛,简单粗暴。

注意,这个观点是不对的。这也是DevOps这些年一直难以落地的主要原因。

想要将DevOps真正落地,首先第一点,是思维转变,也就是“洗脑”。不仅是运维的要洗,开发的也要洗。员工要洗,领导更要洗。

DevOps并不仅仅是组织架构变革,更是企业文化和思想观念的变革。如果不能改变观念,即使将员工放在一起,也不会产生火花。

除了洗脑之外,就是根据DevOps思想重新梳理全流程的规范和标准。

在DevOps的流程下,运维人员会在项目开发期间就介入到开发过程中,了解开发人员使用的系统架构和技术路线,从而制定适当的运维方案。而开发人员也会在运维的初期参与到系统部署中,并提供系统部署的优化建议。

DevOps的实施,促进开发和运维人员的沟通,增进彼此的理解。

在思维和流程改变的同时,想要充分落地DevOps,当然离不开软件和平台的支持。

三、devops流程工具

DevOps的目标不是单靠一款工具就能实现的。
在各个阶段,每个都有其单独对应的目标。
依赖于组织的选择,有着各种各样的工具可以在相应的背景和趋势下,实现当前业务目标,满足中远期的需求。
在这里插入图片描述
在这里插入图片描述

四、DevOps发展现状

目前,DevOps处于高速增长的阶段。尤其是在大企业中,DevOps受到了广泛的欢迎。

根据最近调查发现,74%的受访者已经接受了DevOps,而前一年这一比例为66%。

哪些互联网公司采用DevOps开发软件产品?

越大的企业,越喜欢DevOps。包括国内的腾讯阿里百度美团,国外的AdobeAmazon、Apple、Airbnb、Ebay、Etsy、Facebook、LinkedIn、Netflix、NASA、Starbucks、Walmart、Sony等公司,都在采用DevOps。

如今,DevOps几乎已经成为了软件工程的代名词。

DevOps迅猛发展,相关专业人才的薪资待遇也跟着水涨船高。

根据调研,DevOps工程师在美国的平均年薪为130000美金,在中国平均年薪也在40万-50万区间,能力强者年薪百万也是比比皆是。

在这里插入图片描述


http://chatgpt.dhexx.cn/article/uq7yR809.shtml

相关文章

Devops的概念

1、什么是DevOps? 答:DevOps是产品开发过程中开发(Dev)和运营(Ops)团队之间的灰色区域。DevOps是一种在产品开发周期中强调沟通,集成和协作的文化。因此,它消除了软件开发团队和运营…

DevOps—基本概念

DevOps—基本概念 1. DevOps2. CI/CD 1. DevOps 维基百科定义: DevOps是一组过程、方法与系统的统称,用于促进 开发、技术运营 和 质量保障(QA) 部门之间的沟通、协作与整合。我理解DevOps是一种软件管理思维模式。 为什么会有D…

DevOps简介

一、DevOps定义:Development和Operations的组合,突出重视软件开发人员与运维人员的沟通合作,通过自动化流程使得软件构建、测试、发布更加快捷、频繁和可靠。 它是一个完整的面向IT运维的工作流,以 IT 自动化以及持续集成&#xf…

什么是 DevOps?看这一篇就够了!

文章目录 一、前因二、记忆三、他们说……3.1、Atlassian 回答“什么是 DevOps?”3.2、微软回答“什么是 DevOps?”3.3、AWS 回答“什么是 DevOps?” 四、DevOps 文化4.1、什么是文化?4.2、什么是 DevOps 文化?4.3、领…

Devops基本概念和原理

一、什么是DevOps 1、 DevOps概述 DevOps,即Development and Operations,是一组过程、方法与系统的统称,用于促进软件开发、运维和质量保障部门之间的沟通、协作与整合。DevOps的出现是由于软件行业日益清晰的认识到:为了按时交…

DevOps概念及搭建全过程(Jenkins、Harbor、SonarQube、K8s)

DevOps入门及过程搭建 在如今互联网的格局下,抢占市场变得尤为重要,因此敏捷开发越来越被大家所推崇。于是,慢慢的有了DevOps这个概念,大致意思是开发-运维一体化。 1 DevOps概念 1.1 基本概念 可以看到上图是一个无穷大的一个符…

Hzero数据库初始化

一:获取种子数据: git地址:https://gitlab.flytiger.net/huying-hzero/hzero-resource.git 二:配置数据库信息 打开hzero-resource项目,编辑application.yml配置文件,修改对应的数据库连接信息 三:初始化…

【Python学习笔记】深入剖析随机数种子

深入剖析随机数种子 一、定义1.1 作用 二、实战2.1 同样的随机数种子2.2 不同的随机数种子2.3 不指定随机数种子 三、随机数列的大小是多少呢?3.1 设定为百万,没问题3.2 设定为千万,没问题3.3 设定为亿,没问题3.4 设定为十亿&…

pytorch的主要模块

1. torch模块 torch模块包含了一些pytorch的常用激活函数,如Sigmoid(torch.sigmoid)、ReLu(torch.relu)和Tanh(torch.tanh);同时也包含了pytorch张量的一些计算操作,如矩…

np.random.seed()随机数种子学习笔记

文章目录 np.random.seed()随机数种子为什么使用np.random.seed()什么是np.random.seed() 代码理解np.random.seed()的参数适用情况 np.random.seed()随机数种子 为什么使用np.random.seed() 在机器学习中,有很多的操作和算法带有一定的随机性,所以在复…

种子项目详解

引言 在上一篇文章简单讲解了种子项目搭建,但是项目搭建起来是为了方便我们后续开发的。因此了解整个项目的架构,以及各个Maven模块是如何各司其职、相互依赖,是至关重要的。 这里分成两块介绍 lenosp自带的内容新增扩展的内容 lenosp自带…

【Abp VNext】实战入门(九):DbMigrator 自定义项目所需种子数据

前言: 项目开发过程中难免会涉及到一些业务相关的基础数据,我们称之为种子数据,主要为了方便测试功能或者展示效果; 常规做法是手动到数据库表创建数据,但是随着表结构更改或者数据清空后,又要重新录入基…

区块链模块化的大胆尝试,解读公链Celestia

作为以链游为主的社区,暴躁兔也会时常关注加密行业的其他赛道和方向。对于目前市场而言,公链的机会与红利仍然存在,且相对而言,技术创新较多,同时资本也比较喜欢这样的赛道。今天为大家讲解的是Cosmos生态的项目Celest…

scrapy_redis种子优化

前言: 继《scrapy_redis去重优化(已有7亿条数据),附Demo福利》优化完去重之后,Redis的内存消耗降了许多,然而还不满足。这次对scrapy_redis的种子队列作了一些优化(严格来说并不能用上“优化”…

总结一下Python的模块加载解析

正式的Python专栏第16篇,同学站住,别错过这个从0开始的文章! 学委之前分享了很多代码,也发布了几个库。 新手可以从两篇基础文章入手学习,积累了一些代码,可以考虑做成一个个模块,包装代码有利…

C++ 函数(模块化编程)

目录 函数定义 函数 函数定义的语法形式 函数调用 调用函数需要先声明函数原型 函数调用形式 嵌套调用 例3-1编写一个求x的n次方的函数 例3-2 数制转换 源代码: 例3-3 编写程序求π的值 arctan函数 主程序 例3-4 寻找并输出11~999之间的数M&#xf…

单片机常开常闭检测

单片机检测常开常闭点(干接点信号)的方法:检测干接点的闭合和断开,从而单片机实施一定的操作,它具有两根线,具体步骤:1、引出单片机一个IO口线,连接干接点一端。2、干接点另一端通过…

干海星怎么吃做法 干海星的功效与作用有哪些

干海星是生活中并不常见的一种海鲜类食材,在很多人眼中干海星都是一种中药材,其实它也可以当做一种菜品来食用,那么干海星应该怎么吃呢?接下来我就把自己总结的干海星吃法大全写出来分享给大家。 干海星怎么吃 干海星的功效与作用…

大前端干货资料

JavaScript 文档:https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference ES6 入门教程:https://es6.ruanyifeng.com/ Vue 官网:https://cn.vuejs.org router 官网:https://router.vuejs.org/zh UI框架 Ele…

干簧管(磁开关)

其实干簧管的工作原理并不复杂 干簧管的特点: 干簧管是干式舌簧管的简称,是一种有触点的无源电子开关元件,具有结构简单,体积小便于控制等优点,其外壳一般是一根密封的玻璃管,管中装有两个铁质的弹性簧片…