研发效能|DevOps 是运维还是开发?
DevOps 到底是 Dev还是Ops?答:属于研发工程师序列,偏向研发域,而不是运维域。
DevOps是研发工程师
DevOps 主要服务的对象就是所有产研团队的人员,与产研团队打交道比较多,相互配合更多,所以 DevOps 划分到 Dev 一侧比较好。
Ops 更专注底层基础设施,IaaS,PaaS,和应用稳定性这些方面。
通常 DevOps 团队是负责开发产研基础设施的团队,反而里面很少有 Ops 工程师,基本上都是产品、开发和运营人员,我们都是当作一个业务团队来运转。
我负责 DevOps 团队时,有些运维的小伙伴也想在工作之余加入进来做些开发的工作,这当然是欢迎的。但是运维的小伙伴有很多自己本职的工作,过了一段时间我们都发现了问题。
运维的小伙伴本身很忙,只有很少甚至没有时间来写代码
项目排期紧,运维小伙伴领了开发任务,但是太忙了,根本无法跟上项目开发进度。
项目上的很多事情,都是有明确时间点的,没按期交付整个团队都受影响。尝试了一两个迭代后,我们就结束了这种做法。运维团队负责底层基础设施,我们负责上面的平台建设。我们做平台,他们用平台。
DevOps招聘误区
DevOps 的主要工作在开发,而不是 Ops。很多公司招很多运维来做 DevOps 系统,对于小公司也许可以,但是稍微大点的公司基本都不这么做。
招运维工程师来做 DevOps 一般都是小公司。你看我招了一个运维工程师还能做 DevOps 平台,一举两得,忙的时候做运维,闲的时候做运维自动化系统,「可是占了大便宜」。这些做法在公司还小的时候无可厚非,但是不能奉若至宝,认为这个道理放之四海哪里都可以跑得通。
其实对于小公司很少有资源真正投入到做 DevOps平台,也不需要开发工程师,一般都是配置管理工程师、QA、运维工程师一起配合就能搞定。只有公司体量起来了,需要自研了,才真正的需要 DevOps 工程师,但这时候更需要专职的研发工程师了,配置管理工程师和运维工程师也成了平台的业务方。
我们招聘 DevOps 工程师的时候都是直接招聘开发工程师。这里要注意的一点就是并不是所有的开发工程师都愿意做内部平台,做 DevOps 系统,因为内部系统的上限和业务研发对比太低了,提供的机会也少。这一点和国外很多公司有很大区别,招聘的时候一定要讲明白。否则人来了两天就跑了,浪费感情和精力。
运维平台建设
运维小伙伴在大多数公司都是人力资源不足的情况,公司也愿意把人力资源投入到业务,而不是支撑平台。运维小伙伴整天忙得脚都朝天了,其实即便主观能动上想去开发一些系统,也是心有余而力不足。我认识的很多运维小伙伴每天都要忙到半夜,有时后半夜还要处理监控告警、导数据、迁机器。
运维团队需要研发的很多系统谁来做呢?那些不直接面对用户、优先级不高的系统可以让运维团队看自己时间安排自主选择。其他系统都是我们团队在支撑。我们建设平台、运维小伙伴用,合理分工,各自安好。
小公司招聘运维工程师做DevOps平台想法是好的,但往往也就是给运维换了个头衔而已;小公司的运维太忙,根本没时间开发; 小公司也没资源投入到自研 DevOps 平台建设。多数情况下开源工具够用了(有点逼格的公司除外)。
本文小结
本文主要讲了 DevOps 工程师主要的工作属于研发工程师序列,偏向研发域,而不是运维域。与此同时,招聘的时候也要招聘一些踏实、靠谱、能力强的小伙伴。内部产研运协作平台不是一朝一夕就能做好的,需要长期、不断的投入,大处着眼,小处着手,一步步脚踏实地地往前走,最终守得云开见月明。
阅读我的更多文章
互联网公司研发效能/工程效率团队建设和规划
破局DevOps|8大北极星指标指引研发效能方向
DevOps | 产研协同效能提升之评审、审批流、质量卡点
DevOps|研发效能+项目经理PMO
devops|中小公司效率为王,没必要度量
研发效能|DevOps 是运维还是开发?的更多相关文章
- 技术沙龙|京东云DevOps自动化运维技术实践
自动化测试体系不完善.缺少自助式的持续交付平台.系统间耦合度高服务拆分难度大.成熟的DevOps工程师稀缺,缺少敏捷文化--这些都是DevOps 在落地过程中,或多或少会碰到的问题,DevOps发展任 ...
- 建设DevOps统一运维监控平台,全面的系统监控 Zabbix VS Nagios VS Open-Falcon OR Prometheus
前言 随着Devops.云计算.微服务.容器等理念的逐步落地和大力发展,机器越来越多,应用越来越多,服务越来越微,应用运行基础环境越来多样化,容器.虚拟机.物理机不一而足.面对动辄几百上千个虚拟机.容 ...
- 沙龙报名 | 京东云DevOps——自动化运维技术实践
随着互联网技术的发展,越来越多企业开始认识DevOps重要性,在企业内部推进实施DevOps,期望获得更好的软件质量,缩短软件开发生命周期,提高服务稳定性.但在DevOps 的实施与落地的过程中,或多 ...
- 运维与开发的开车现场之MySQL5.7创建触发器报错解决过程
报错内容如下: ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds ...
- 1+X云计算平台运维与开发(中级)eNSP A~E卷 试题+答案
1+X云计算平台运维与开发(中级)eNSP A~E卷 试题+答案 A卷 路由器管理(40分) 41 配置R1和R2路由器(路由器使用R2220),R1路由器配置端口g0/0/1地址为192.168.1 ...
- linux运维/自动化开发__目录
服务器软件安装 nginx apache php mysql oracle tomcat memcached mongodb sqlserver 常用pc端工具安装使用 Xshell ...
- Go DevOps大厂运维平台开发进阶实战营
使用 Jenkinsfile 创建流水线已报名老男孩运维课,见底下评论.enkinsfile 是一个文本文件,它包含 Jenkins 流水线的定义,并被检入源代码控制仓库.Jenkinsfile 将整 ...
- 研发效能DevOps推荐书单
专注 300 页之内的经典书籍推荐 研发效能涉及的知识很多,从大的方向去划分包括制度.组织.平台.运营等:单从软件研发的角度去看也包括很多,包括最底层的软工认知.实践,到团队管理和组织.敏捷研发,项目 ...
- MySQL运维及开发规范
一.基础规范 (1) 使用INNODB存储引擎 (2) 表字符集使用UTF8 (3) 所有表都需要添加注释 (4) 单表数据量建议控制在5000W以内 (5) 不在数据库中存储图.文件等大数据 (6) ...
- 建设DevOps统一运维监控平台,先从日志监控说起
https://blog.csdn.net/jessise_zhan/article/details/80129915 https://blog.csdn.net/JThink_/article/de ...
随机推荐
- GPT大模型下,如何实现网络自主防御
GPT大模型下,如何实现网络自主防御 本期解读专家 李智华 华为安全AI算法专家 近年来,随着GPT大模型的出现,安全领域的攻防对抗变得更加激烈.RSAC2023人工智能安全议题重点探讨了人工 ...
- P1585 魔法阵 题解
题意: 题目传送门 可以看做一个人手中有一些宝石,并将宝石分成两组,一组的编号为 1 至 n×m/2,二组为 n×m/2+1 至 n×m+1.当两组两个宝石编号相差为 n×m/2 为一对.现在要遍历一 ...
- cmd+ssh配置远程服务器Anaconda3_2023+pytorch
一.上传Anaconda3到远程服务器 注意:如果要将这个东西安装在anaconda3文件夹里的话,当前这个目录里不能有这个文件夹.(安的时候会自动创建) 二.安装Anaconda3 1. win+r ...
- Python获取token数据的几种方式
import requestsfrom urllib import requestimport re# 一.从响应头中获取token# 登录url = 'http://xxx.nhf.cn/api/b ...
- Spring Boot实现高质量的CRUD-5
(续前文) 9.Service实现类代码示例 以用户管理模块为例,展示Service实现类代码.用户管理的Service实现类为UserManServiceImpl.UserManServi ...
- Git 多账号配置
本地登录多账号并连接对应的远程仓库,主要就是 密钥配对,我这里刚开始配了密钥也将密钥复制到ssh但是还是连接不到第二个远程仓库,后来发现是需要 密钥代理 1.在当前项目下更改git账号信息: git ...
- 3 分钟为英语学习神器 Anki 部署一个专属同步服务器
原文链接:https://icloudnative.io/posts/anki-sync-server/ Anki 介绍 Anki 是一个辅助记忆软件,其本质是一个卡片排序工具--即依据使用者对卡片上 ...
- 云享·案例丨打造数智物流底座,华为云DTSE助力物联云仓解锁物流新“速度”
摘要:华为云凭借领先的技术和快速响应的开发者支持服务,助力物联亿达实现云上资源高可用.提升系统安全性与稳定性,为物联亿达提供了扎实的数字化基础. 本文分享自华为云社区<云享·案例丨打造数智物流底 ...
- 【SpringBoot】WebSocket在线聊天
先看一下页面效果,有点简单粗暴!哈哈哈哈哈,别介意. 本文参考:SpringBoot2.0集成WebSocket,实现后台向前端推送信息 新建一个springboot项目 引入相关依赖 <dep ...
- Windows电脑环境变量(用户变量、系统变量)的修改
本文介绍在Windows 10操作系统中,进行用户变量.系统变量等两种环境变量的新建.修改与删除的详细方法. 在很多时候,我们需要对Windows电脑的环境变量加以修改,例如安装一些专业软件. ...