一文讲透研发,SRE,运维,DevOps 的区别

news2024/11/25 19:27:04

研发,SRE ,运维是工种,而 DevOps 是体系。如果拿足球来打比方,研发,SRE ,运维对应的就是前锋,中场,后卫这样的位置,而 DevOps 则是诸如 4-3-3 这样的阵型。

研发

也叫研发工程师,工程师,Software Engineer (SWE),Software Developer 或者简称 Developer (Dev)。主要职责是写代码,实现软件业务功能。比如打车功能就是研发工程师用代码实现的。研发主要和代码打交道。

运维

Operations (Ops), Production Engineer (PE)。主要负责机房管理,装机,网络,监控报警,故障应急。早期运维很大比例的工作是和物理机器设备打交道,需要大量的手动操作,操作风险也很高,后来逐渐引入软件或者自己写一些脚本,代码来自动化工作。近 10 多年随着云服务逐渐取代物理机,传统运维的职能被大幅度缩减,成为了一个逐渐要消亡的工种。

SRE

Site Reliability Engineer (SRE),一般不翻译 (线上稳定性保障工程师?)。这是由 Google 在 2003 年提出来的。这个工种诞生的背景有这么几个:

  1. 像 Google 这样大规模线上服务复杂,服务稳定性要求高。
  2. 研发通常更关注把东西做出来上线,但对于后续线上的维护少一个心眼。而且往往为了尽早上线,会忽略上线后的稳定性问题。 传统运维需要转型。

1 和 2 促使需要一个专门的工种,而 3 则提供了 SRE 的稳定来源。因为 SRE 是在研发和运维之后出现的工种,所以第一批的 SRE 就是从那两个工种里转型而来。又因为 SRE 的很大一部分工作还是保障业务稳定性,所以从运维转型而来的占大多数。

简单来说,SRE 是传统运维的升级版,区别于传统运维的地方:

  1. 不再负责和物理设备打交道,这部分交给云服务了。
  2. 通过体系化的手段来保障业务稳定性,比如构建自动化工具,和研发团队一起制定 SLO (Service Level Objective),让双方有可以一起遵守的契约,来保证服务的健康度。
  3. 工程研发能力。SRE 也可以说是具备研发能力的运维,有些 SRE 还具备很强的研发能力,比如监控软件 Prometheus 的作者就曾是 Google 的 SRE。

file

上图描绘了研发 (Dev),SRE,运维 (Ops) 的交叉关系。研发和运维基本上是没有交集的,而 SRE 就像前面说的是具备研发能力的运维,但整体还是更偏运维一点。

DevOps

DevOps 是一种体系,前面提到研发 Dev 和运维 Ops 这两个工种是没有交集的,DevOps 就是要把这两个工种融合在一起,更确切的讲,是要让 Dev 去承担 Ops 的工作。在 DevOps 的体系里,是没有传统运维这个角色的,运维的职能可能由研发和 SRE 共同分担,也有可能由研发独自承担,连 SRE 角色都没有。后一种情况下,研发等于变成了全干工程师。

容易混淆的点

搞不清楚 SRE 和运维工种之间的区别。简单理解,SRE 是会写代码的运维,是传统运维的升级版。

搞不清楚 DevOps 是体系还是工种。这个取决于上下文,DevOps 起初代表的是一套体系,融合研发和运维的职能。这个体系下可能研发和 SRE 同时存在,也可能只有研发存在。后一种情况就也会用体系的名字,也就是 DevOps 来表示工种,所谓的 DevOps 工程师。毕竟如果一个足球阵型里模糊了前锋,中场,后卫这些位置边界,那阵型名字就可以叫自由阵,所有球员都被称作自由人也很合理。 当 DevOps 作为工种理解时,搞不清楚和 SRE 的区别。简单理解,DevOps 是做运维的研发,SRE 是做研发的运维。

小节

想写这篇文章,是有同学给我发了张朋友圈截图,当时一看到不标准的大小写我的强迫症就又犯了。

file

不过转念一想这几个概念确实容易混淆。因为当年 SRE,DevOps 的概念一出来,不少传统运维/研发团队就像抓到根救命稻草,马上披上 SRE, DevOps 马甲,但做的事情其实一点没变。就像现在许多公司虽然把 KPI 改成 OKR ,但绩效考核方式还是一模一样,所以搞的大家云里雾里。说到 OKR,呼兰的段子解释得特别好。

file

笔者写不了段子,只能尝试用文字加配图来解释一下。如果还是一知半解,也不要着急,接下来笔者会继续展开研发,SRE,DevOps 之间的故事,来进一步阐述他们各自的职责和撕扯协作,后续也还会引入新的角色加入剧情(运维因为已经快出局了,就不多说了)。


💡 你可以访问官网,免费注册云账号,立即体验 Bytebase。

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

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

相关文章

聊聊如何独立使用ribbon实现业务客户端负载均衡

前言 ribbon是Netflix开源的客户端负载均衡工具,ribbon实现一系列的负载均衡算法,通过这些负载均衡算法去查找相应的服务。ribbon被大家所熟知,可能是来源于spring cloud,今天就来聊聊如何单独使用ribbon来实现业务客户端负载均衡…

我心中的编程语言之王:Python

我心中的编程语言之王:Python 在当今日益发展的信息技术领域,编程语言的地位愈发重要。它们是构建现代软件和应用的基石,也是实现科技进步的关键工具。在众多编程语言中,Python 以其简单、易用、高效等诸多优点,成为了…

Dubbo架构分层总结

进来闲来无事看了些有关dubbo源码的书籍和《极客时间》何辉老师的课程,由于知识点比较碎,遂以笔记的方式纪录,毕竟好记性不如烂笔头,也希望对感情趣的同学提供点帮助 假设你是个新手开发者,可能只是简单使用过dubbo框…

数字孪生世界建设核心能力:数据治理能力

随着世界经济由工业经济向数字经济转型,数据逐步成为关键的生产要素,企业开始将数据作为一种战略资产进行管理。数据从业务中产生,在IT系统中承载,要对数据进行有效治理,需要业务充分参与,IT系统确保遵从&a…

前端开发必须要知道的package.json文件

前言 package.json 文件是一个 Node.js 项目的配置文件,用于描述项目的元数据信息(如名称、版本、作者、依赖等),以及运行和构建该项目所需的脚本命令。 在项目开发过程中, package.json 文件的维护和更新是非常重要…

Axure8 零基础操作入门

参考:黑马产品经理课程 视频资源:day1&day2,Axure部分 Axure8常用功能 选择/缩放 选择 包含选中:全部选中才有效(避免误操作,建议使用这个)相交选中:相交即全选中 缩放 元件等…

PHP开发工具22-PHP中安装和使用xdebug

文章目录 前言配置详解总结 前言 本文已收录于PHP全栈系列专栏:PHP快速入门与实战 作为一个程序员,千万不要说你没有用过debug工具,不然有点说不过去。xdebug是PHP语言一个强大的利器,用他可以做很多事情。 xdebug是PHP开发者常…

提升编程效率:你不能错过的18款VS Code扩展

微信搜索 【大迁世界】, 我会第一时间和你分享前端行业趋势,学习途径等等。 本文 GitHub https://github.com/qq449245884/xiaozhi 已收录,有一线大厂面试完整考点、资料以及我的系列文章。 快来免费体验ChatGpt plus版本的,我们出的钱 体验地…

LTV-5341-ASEMI代理台湾光宝高速光耦LTV-5341

编辑:ll LTV-5341-ASEMI代理台湾光宝高速光耦LTV-5341 型号:LTV-155E 品牌:光宝 封装:LSOP-5 引脚数量:5 类型:光耦 特性:台湾光宝、IGBT驱动器、储能专用光耦\高速光耦 封装…

pnpm项目运行启动以及如何迁移到内网

1.迁移前的准备 首先看对node版本和pnpm版本的要求是什么,我的是自己电脑(windows系统)和内网电脑(windows系统)上的环境一致的 我的项目要求是 1.node版本 16.20.0 2.pnpm版本 8.6.2 需要先将node 和 pnpm 安装好相应…

今年前改BUG,下午就被通知在改进优化了

内卷可以说是 2023 年最火的一个词了。2022 年刚开始,在很多程序员网站看到很多 Java 程序员的 2023 年度总结都是:Java 越来越卷了(手动狗头),2023 年是被卷的一年。前有几百万毕业生虎视眈眈,后有在职人员…

slam十四讲 03 Eigen实践之三维空间刚体运动

目录 1 初始化 2 旋转空间中的向量 3 欧拉角 4 变换矩阵 5 四元素 完整程序 1 初始化 旋转的两种办法: (1)旋转矩阵:a Ra, a R^T a, 旋转矩阵的特性:是一个行列式为1的正交矩阵. 三维空间的旋转是3x3矩阵&am…

基于SpringBoot的校园请假管理系统

✌全网粉丝20W,csdn特邀作者、博客专家、CSDN新星计划导师、java领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ 🍅文末获取项目下载方式🍅 一、项目背景介绍: 校园请假信息管理系统…

php质量检查工具 phpmd的使用

PHPMD简介 团队在使用php-cs-fixer 代码格式自动式化工具之后,在格式,代码错误等方面带来了很大便利,不过在命名,代码质量,代码复杂度,缺少一些检查,在网上搜索后,发现PHPMD 一个PHP代码静态分析工具. 安装 官方网站 github 你可以直接到下载页面封装好的 phar 包&#xff1…

云原生数据库受到青睐,亚马逊云科技数据库提供多项功能

小小的改变,标志一个新时代的全面开启,一个数据库的云原生时代。前不久,Gartner公布了一组数据,引起了不小的讨论度。在2022年全球数据库管理系统的市场份额排名中,作为纯云厂商的亚马逊云科技,超越了老牌传…

一种基于目标的可解释的自动驾驶预测和规划策略

摘要: 本文介绍了一种通过理性逆向规划进行目标识别和多模态轨迹预测的方法。通过将目标识别与MCTS 计划相结合,为自车生成优化计划。 最近炒得比较火的影子模式实际就是在通过数据收集的方式不断模拟自动驾驶系统按照人类驾驶习惯实现人之间的交互过程…

QML 快速上手3 - QuickControl2

目录 QuickControl2简介风格设置control 配置文件图像浏览器案例component 组件报错问题StackViewSwipeView QuickControl2 简介 quickcontrol 用于快速构建风格化的用户界面 它包括了以下几个预制的组件风格 Default QT 默认风格Universal windows 桌面风格Material 谷歌推…

【FPGA】译码器、计数器及数码管显示

写在前面 万万没想到最后去了FPGA岗位,但是FPGA只在研一学过,确实忘得差不多了,因此从头把东西过亿边 这是某本书上的第一章节,感觉写的还是挺不错的,大概看了一下让我回想起很多知识,个人感觉比较适合学习…

《effective java》中关于解决构造函数/方法签名包含大量参数的解决方法

针对构造方法 重叠构造器模式 重叠构造器模式是一种编程中的反模式,指的是一个类有多个构造函数,每个构造函数都有不同数量的参数,从而可以根据不同的情况创建对象。这种方式会导致代码可读性和可维护性降低,因为构造函数过多&…

echarts柱状图数据太多设置滚动条

当你的项目中因数据量太大,导致柱状图数据全部叠在一起不便于看的时候,你们是怎么处理的? 大部分同学可能第一想法就是裁剪一部分数据,仅展示页面最大限度能够展示的数据,这确实是一个好办法,简单快速。但…