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

别再傻傻分不清了!用一张图看懂研发、SRE、运维和DevOps到底啥关系 本文通过一张图清晰解析了研发、SRE、运维和DevOps之间的关系与区别,帮助技术团队理解各角色的核心职责与协作模式。文章详细介绍了DevOps文化的实践方法、SRE工程化理念以及传统研发与运维的融合趋势,为技术人员的职业发展提供实用建议。 阅读详情

研发,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。

《Google SRE工作手册》系列分享之 跳出SRE来看SRE (视频+文字) 本期分享主题是跳出SRE来看SRE,本期分享内容为认识和理解SRE、可靠性方法,以及平台工程、可观测性和AIOps、Q&A 阅读详情

相关推荐

使用Eggjs做服务端获取微信小程序云开发数据库的access_token

最近自己想写了一个微信小程序,恰巧里面有个云开发,恰巧里面有个数据库,那懒人的我,就直接用云开发里面的数据库了,做测试或者正式也好,对于刚开始来说,免费的配额是够用的。 后来想到在小程序云开发上面的数据怎么看才方便?刚好微信小程序有一个服务端API,那就方便很多了,那就直接敲个服务端来获取云开发上数据库的数据出来到自己的后台上面,那以后管理起来也方便很多。 看了一下服务端api之后,发现有三个重要...

kalenE992的博客 1705

什么是SRE?

工作内容:SRE工程师的工作涉及软件和系统架构的设计,以及运维流程的优化。他们需要确保系统能够满足功能指标(SLA),并在出现问题时能够快速响应和解决。核心概念:SRE的核心在于结合运维和开发的工程文化,通过可观测性系统、故障响应、运维自动化和运维平台等手段来提升系统的整体表现。技能要求:SRE工程师需要具备软件开发和系统管理的经验和技能,这样才能有效地使用软件来解决运维问题。职业发展:SRE作为一种新兴的职业角色,为工程师提供了一条既能够涉及软件开发又能够参与系统运维的多元化职业路径。

软件行业技术文化交流。 4187

从Pikachu靶场实战解析越权漏洞:原理、攻击与防御

本文通过Pikachu靶场实战详细解析越权漏洞的原理、攻击方式与防御策略。文章深入探讨水平越权和垂直越权的危害,结合代码示例展示漏洞利用过程,并提供代码层和架构层的立体化防御方案,帮助开发者有效防范这一Web安全隐形杀手。

weixin_29325007的博客 359

什么是 SRE?一文详解 SRE 运维体系

目录可观测性系统故障响应故障复盘测试与发布容量规划自动化工具开发用户体验在任何有一定规模的企业内部,一旦推行起来整个SRE的运维模式,那么对于可观测性系统的建设将变得尤为重要,而在整个可观测性系统中,通常我们会分为如下三个方面:一整套的可观测系统,它能确保你洞察系统,跟踪系统的健康状态、可用性以及系统内部发生的事情。对于整个可观测系统的建设,需要注意如下两点:在整个企业级可观测系统中,我认为至少应该包括如下几个特征:因此,一个企业级的可观测性系统应该是平台化的。一方面可以通过配置或者开发实现更多 运维指标的

征服Bug的博客 3万+

京东礼品卡绑定技术解析与安全验证实践

电商系统开发中,卡券绑定是常见的业务场景,其核心在于安全验证机制的设计与实现。从技术原理来看,现代验证系统通常采用多层防护,包括前端数据加密、行为验证(如滑块验证)和风控校验等关键技术。这些机制通过设备指纹采集、请求签名验证等方式,有效防范自动化攻击。在实际工程实践中,开发者需要特别关注接口鉴权流程,正确处理安全令牌(如st/vt令牌)和请求签名。京东礼品卡绑定作为典型案例,展示了如何平衡用户体验与系统安全,其验证系统会持续升级,需要开发者跟踪接口变化。对于企业级应用,建议采用混合模式技术方案,结合浏览器自

weixin_28607671的博客 235

微信数据库读取解密脚本 聊天记录查看工具,支持所有微信版本,后期将支持企业微信[Windows]

(1)获取微信昵称、微信账号、微信手机号、微信邮箱、微信KEY的基址偏移(2)获取微信的微信昵称、微信账号、微信手机号、微信邮箱、微信KEY、微信原始ID(wxid_******)(3)获取微信文件夹路径(4)支持查看聊天记录查看(5)根据key解密微信数据库(6)提供数据库部分字段说明(7)支持微信多开场景,获取多用户信息等(8)微信需要登录状态才能获取数据库密钥(9)支持导出聊天记录为html,备份微信聊天记录,方便查看(10)合并多个数据库,方便查看。

weixin_43101935的博客 1万+

一图搞清楚SRE的工作内容

SRE是什么? 系统稳定性衡量指标 SRE的目的是什么? SRE稳定性保障规划 如何衡量系统的可用性 SRE的切入点 错误预算(Error Budget) 落地SLO还需要考虑的因素 故障发现:如何建设On-Call的流程机制 故障处理:一切以恢复业务为最高优先级 故障复盘:黄金三问与判定三原则 互联网典型的SRE组织架构 SRE是什么? 谈到网站的可靠性保障就离不开一个词SRE,它的全称是Site Reliability Engineer (网站可靠性工程..

一只不懈努力的程序猿,通过代码实验洞悉技术的本质。 1万+

sre工程师_什么是SRE? 现场可靠性工程师的重要作用

sre工程师 随着世界在线迁移,网站,云应用程序和云基础设施的可靠性已成为至关重要的业务,从电子商务运营到全球银行再到搜索引擎,这一切应运而生。 我们管理系统及其工作负载的方式已经改变。 如今,我们很少考虑使用珍贵的,高接触性,高性能的服务器,而是通过虚拟化将大量的商用服务器架设在一起,分布式软件架构可防止服务器中断而导致停机。 重点已从硬件转移到软件定义的基础结构,从不一致和容易出错的手动...

cxu0262的博客 5047

YOLOv8交通监控全方案:精准车辆计数+违章(闯红灯/压线)识别,拿来就落地!

作为深耕计算机视觉落地的开发者,我见过太多交通监控的“伪智能”——传统系统要么车辆计数不准(漏计/重复计数),要么违章识别滞后(靠人工回看录像),甚至连“闯红灯、压线”这类常见违章都无法实时判定,完全满足不了实际交通管理需求。

专注于Python爬虫开发,分享爬虫技巧、项目实战与反爬经验,使用Scrapy、BeautifulSoup等工具,解决数据抓取难题。 646

RK3576 Buildroot 双机 ADB 异常排障实录:同版 `boot.img`,一台可识别一台不可识别

进程在跑”不等于“USB 枚举成功”,adbd存活只是必要不充分条件。生产环境中的全局别名可能反向污染系统脚本。shell 命令替换中的字符串问题,必须做字节级验证(od -tx1相比“改环境规避”,核心脚本对输入做鲁棒处理更可长期维护。

小灰灰的博客 213

【运维】站点可靠性工程介绍:研发,运维,SRE,Devops的关系

1、什么是SRE 2、SRE与研发、运维的区别 1、什么是SRE 站点可靠性工程(SRE) 是 IT 运维的软件工程方案。 SRE 团队使用软件作为工具,来管理系统、解决问题并实现运维任务自动化。 SRE 执行的任务以前通常由运维团队手动执行,或者交给使用软件和自动化来解决问题和管理生产系统的工程师或运维团队执行。 站点可靠性工程师是一个独特的岗位,要么必须具有系统管理员背景、或有运维经验的软件开发人员;要么必须是有软件开发技能的 IT 运维人员。 SRE 团队负责部署、配置和监控代码,以及生产服务的可用

小哈里的博客 3247

2026华为OD机试(C++)真题【E卷+A卷+B卷+C卷+D卷】目录+在线OJ

华为OD机试真题题库【E卷+A卷+B卷+C卷+D卷】目录,C++实现。

MISAYAONE的博客 20万+

从SRE视角透视DevOps的构建精髓

SRE 侧重系统稳定性,DevOps 强调开发运维协作。SRE 实践助力DevOps,提升系统稳定性与团队协作效率。 SRE 运用软件工程的原理,将系统管理员的手工任务自动化,负责运维由系统组件构成的服务,确保服务稳定运行。SRE职责涵盖监控开发、资源规划、紧急事件处理及事故根源追踪等,致力于消除重复性、手工性操作。 DevOps强调开发与运维的协同合作,通过工具链和流水线实现高效衔接,持续反馈以优化研发到运维的流程。 两者虽各有侧重,但SRE的实践正是DevOps建设思路的体现,通过自动化和智能

m0_72864708的博客 745

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

透过SRE视角深入理解DevOps构建之道

SRE 和 DevOps 有什么区别和联系?本文对此进行了解读,并着重从 SRE 实践出发阐述了 DevOps 的建设思路。 SRE 就是在用软件工程的思维和方法论完成以前由系统管理员团队手动完成的工作。SRE 的职责是运维一个服务,该服务由一些相关的系统组件组成,为最终用户(可以是内部用户也可以是外部用户)提供服务。SRE 的终极责任是确保该服务可以正常运转。为达成这一目标,SRE 需要完成开发监控系统、规划资源容量、处理紧急事件、跟踪修复事故根源等。SRE 对重复性、手工性的操作有天然的排斥感,并

m0_72864708的博客 1050

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

SRE视角下的DevOps:构建稳定高效的软件交付流程

SRE 和 DevOps 有什么区别和联系?本文对此进行了解读,并着重从 SRE 实践出发阐述了 DevOps 的建设思路。 SRE 就是在用软件工程的思维和方法论完成以前由系统管理员团队手动完成的工作。SRE 的职责是运维一个服务,该服务由一些相关的系统组件组成,为最终用户(可以是内部用户也可以是外部用户)提供服务。SRE 的终极责任是确保该服务可以正常运转。为达成这一目标,SRE 需要完成开发监控系统、规划资源容量、处理紧急事件、跟踪修复事故根源等。SRE 对重复性、手工性的操作有天然的排斥感,并

Xiaohong0716的博客 1500

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

DevOps、SRE的共性:应用全栈思路打通开发和运维

因为DevOps和SRE都是比较新的概念,而且在不断地发展变化,所以学术界和工业界对它们的定义并未达成一致。DevOps,Development和Operations的组合词,是一种重视“软件开发人员(Dev)”和“IT运维技术人员(Ops)”之间沟通合作的文化、活动或惯例。通过自动化“软件交付”和“架构变更”的流程,使得软件的构建、测试、发布更加快捷、频繁和可靠。SRE。

qq_33240556的博客 1376

从SRE视角深度解析DevOps的构建艺术与策略

SRE 和 DevOps 有什么区别和联系?本文对此进行了解读,并着重从 SRE 实践出发阐述了 DevOps 的建设思路。 SRE 就是在用软件工程的思维和方法论完成以前由系统管理员团队手动完成的工作。SRE 的职责是运维一个服务,该服务由一些相关的系统组件组成,为最终用户(可以是内部用户也可以是外部用户)提供服务。SRE 的终极责任是确保该服务可以正常运转。为达成这一目标,SRE 需要完成开发监控系统、规划资源容量、处理紧急事件、跟踪修复事故根源等。SRE 对重复性、手工性的操作有天然的排斥感,并

m0_67544708的博客 1119

DevOps、SRE、平台工程傻傻分不清?一文讲透三者的本质区别

我们的目的不是成为"DevOps公司"或"SRE团队",而是又快又稳地交付价值给用户。公司招"DevOps工程师",可能是想招运维;招"SRE",可能就是招值班的人。团队规模大了,协作成本变高。建立"共同责任"的文化,比建什么平台都重要。开发说:"我要加个监控",运维说:"填个工单,下周处理。"我们公司在招SRE,但JD写的全是DevOps的活。DevOps是文化,SRE是方法论,平台工程是工具落地。开发说:"我要部署",运维说:"等一下,让我先检查。不要指望一夜之间"DevOps转型"或"SRE落地"。

ITIL之家公众号 373
上一篇: 数据库架构是否该随着公司估值一起变化?
下一篇: 我们还需要 SRE 吗?
Bytebase
博客等级 码龄5年 1348粉丝 258原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值