研发,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. 研发通常更关注把东西做出来上线,但对于后续线上的维护少一个心眼。而且往往为了尽早上线,会忽略上线后的稳定性问题。

  3. 传统运维需要转型。

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

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

  1. 不再负责和物理设备打交道,这部分交给云服务了。

  2. 通过体系化的手段来保障业务稳定性,比如构建自动化工具,和研发团队一起制定 SLO (Service Level Objective),让双方有可以一起遵守的契约,来保证服务的健康度。

  3. 工程研发能力。SRE 也可以说是具备研发能力的运维,有些 SRE 还具备很强的研发能力,比如监控软件 Prometheus 的作者就曾是 Google 的 SRE。

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

DevOps

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

容易混淆的点

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

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

  3. 当 DevOps 作为工种理解时,搞不清楚和 SRE 的区别。简单理解,DevOps 是做运维的研发,SRE 是做研发的运维。

小节

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

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

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

一文讲透研发,SRE,运维,DevOps 的区别相关推荐

  1. 【敏捷开发】一文讲透敏捷管理中的DoR、DoD与AC

    文章目录 一.需求侧:DoR 案例: DoR是什么? 如何建立DoR的标准? DoR样例 1.需求 2.交互 3.架构 二.研发侧:DoD DoD是什么? 如何建立DoD的标准? DoD样例 三.用户 ...

  2. js打印线程id_一文讲透“进程,线程和协程”

    一文讲透"进程,线程和协程" 本文从操作系统原理出发结合代码实践讲解了以下内容: 什么是进程,线程和协程? 它们之间的关系是什么? 为什么说Python中的多线程是伪多线程? 不同 ...

  3. 恒生与中国信通院联合发布《证券行业分布式核心系统SRE运维白皮书》

    在互联网金融模式的变革和冲击下,金融机构面临着海量客户管理.业务场景快速增长.金融服务和产品多样化等挑战. 为应对不断增加的技术创新需求,证券行业核心系统正逐步从传统IT集约型架构向支持敏捷开发.弹性 ...

  4. SRE运维工程师笔记-Linux基础入门

    SRE运维工程师笔记-Linux基础入门 1. Linux基础 1.1 用户类型 1.2 终端terminal 1.2.1 终端类型 1.2.2 查看当前的终端设备 1.3 交互式接口 1.3.1 交 ...

  5. 【hadoop】一文讲透hdfs的delegation token

    1.概述 转载并且补充:一文讲透hdfs的delegation token 最近我也在研究这个,学习一下. 1.1 起因 我最近在做FLink kerberos认证.我在flink配置文件中配置正确的 ...

  6. SRE运维工程师笔记-文本处理工具

    SRE运维工程师笔记-文本处理工具 内容概述 1. 文本编辑工具之神VIM 1.1 vi和vim简介 1.2 使用 vim 初步 1.2.1 vim 命令格式 1.2.2 三种主要模式和转换 1.3 ...

  7. 一文讲透植物内生菌研究怎么做 | 微生物专题

    内容导览 1. 隐秘而强大的植物内生菌 2. 难以区分的植物内生菌 3. 更好的植物内生细菌测序方法 3.1 LNA-16S测序鉴定内生细菌原理 3.2 LNA-16S测序鉴定内生细菌占比高达99% ...

  8. 10自带sftp服务器_一文讲透FTP和SFTP的区别

    阅读本文约需要10分钟,您可以先关注我们或收藏本文,避免下次无法找到. FTP和SFTP都是文件传输协议,我们知道FTP使用的是20和21端口,SFTP使用的是22端口.另外,SFTP前面的S应该是S ...

  9. 双线macd指标参数最佳设置_一文讲透双线MACD指标及其实战运用

    原标题:一文讲透双线MACD指标及其实战运用 船长的舍得交易体系技术理论模型中,我们要用到两大指标,分别是均线系统和双线MACD指标. 很多小伙伴都喜欢用双线MACD这个指标,但是90%的人都不知道其 ...

最新文章

  1. \r与\n有何差别,编码的时候应该怎样使用
  2. UR #13 Yist
  3. 使用xmanager连接centos5.5
  4. Asp.Net开通支付宝移动端网页支付
  5. python 运行电脑卡死_Python入门 5——循环语句及条件判断
  6. 【报告分享】2022年零售行业消费趋势新主张-京东+罗兰贝格.pdf(附下载链接)...
  7. java代码 创建文件夹的方法
  8. Java中,类的实例化方法
  9. 后台管理系统--毕业设计02
  10. 即刻搜索消失中:产品跳转关停 总部迁址
  11. html css 实现发票(付款申请书)模板
  12. 学术会议 Rebuttal 模板
  13. 计算机一级选择题答题技巧,计算机一级考试模拟题内容 答题技巧
  14. 正则表达式匹配任意文本中的网络图片链接
  15. python输入一个正整数、计算其各个位的数字之和_C语言程序设计:编写程序,输入一个正整数,统计该整数的位数并计算其各个数位上的数字之和。...
  16. Win10安装YOLOv3.0
  17. icon图标制作网站推荐
  18. 如何解决5万的并发量
  19. jquery中ajax中的参数,jquery中的ajax参数
  20. 鸿蒙系统有没有红外遥控,红外遥控与蓝牙遥控的区别

热门文章

  1. tplink显示网络连接已断开_TP-Link无线路由器经常突然断开连接,如何解决?
  2. 行业门槛高、从业年限高、学历要求高,大健康创新企业面临“三高三低”人才困境...
  3. Docker全面详解(二)
  4. 【补番】左神算法系列——哈希的相关问题
  5. ant-design 实现 搜索功能
  6. QTabelWidget表格的插入、删除、更新、动态滑动条以及配合QFile进行表格内容的长期存储
  7. 0-1背包问题—回溯算法—java实现
  8. 二维背包问题(二维0-1背包)
  9. k30最小宽度380不管用了_K30系列最强机,Redmi K30S至尊纪念版评测
  10. mxnet的rec数据中还原图片