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 是运维还是开发?的更多相关文章

  1. 技术沙龙|京东云DevOps自动化运维技术实践

    自动化测试体系不完善.缺少自助式的持续交付平台.系统间耦合度高服务拆分难度大.成熟的DevOps工程师稀缺,缺少敏捷文化--这些都是DevOps 在落地过程中,或多或少会碰到的问题,DevOps发展任 ...

  2. 建设DevOps统一运维监控平台,全面的系统监控 Zabbix VS Nagios VS Open-Falcon OR Prometheus

    前言 随着Devops.云计算.微服务.容器等理念的逐步落地和大力发展,机器越来越多,应用越来越多,服务越来越微,应用运行基础环境越来多样化,容器.虚拟机.物理机不一而足.面对动辄几百上千个虚拟机.容 ...

  3. 沙龙报名 | 京东云DevOps——自动化运维技术实践

    随着互联网技术的发展,越来越多企业开始认识DevOps重要性,在企业内部推进实施DevOps,期望获得更好的软件质量,缩短软件开发生命周期,提高服务稳定性.但在DevOps 的实施与落地的过程中,或多 ...

  4. 运维与开发的开车现场之MySQL5.7创建触发器报错解决过程

    报错内容如下: ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds ...

  5. 1+X云计算平台运维与开发(中级)eNSP A~E卷 试题+答案

    1+X云计算平台运维与开发(中级)eNSP A~E卷 试题+答案 A卷 路由器管理(40分) 41 配置R1和R2路由器(路由器使用R2220),R1路由器配置端口g0/0/1地址为192.168.1 ...

  6. linux运维/自动化开发__目录

    服务器软件安装 nginx apache php mysql oracle tomcat memcached mongodb sqlserver 常用pc端工具安装使用 Xshell         ...

  7. Go DevOps大厂运维平台开发进阶实战营

    使用 Jenkinsfile 创建流水线已报名老男孩运维课,见底下评论.enkinsfile 是一个文本文件,它包含 Jenkins 流水线的定义,并被检入源代码控制仓库.Jenkinsfile 将整 ...

  8. 研发效能DevOps推荐书单

    专注 300 页之内的经典书籍推荐 研发效能涉及的知识很多,从大的方向去划分包括制度.组织.平台.运营等:单从软件研发的角度去看也包括很多,包括最底层的软工认知.实践,到团队管理和组织.敏捷研发,项目 ...

  9. MySQL运维及开发规范

    一.基础规范 (1) 使用INNODB存储引擎 (2) 表字符集使用UTF8 (3) 所有表都需要添加注释 (4) 单表数据量建议控制在5000W以内 (5) 不在数据库中存储图.文件等大数据 (6) ...

  10. 建设DevOps统一运维监控平台,先从日志监控说起

    https://blog.csdn.net/jessise_zhan/article/details/80129915 https://blog.csdn.net/JThink_/article/de ...

随机推荐

  1. 如何基于G6进行双树流转绘制?

    1. 背景 业务背景:CRM系统随着各业务条线对线索精细化分配的诉求逐渐增加,各个条线的流向规则会越来越复杂,各个条线甚至整个CRM的线索流转规则急需一种树形的可视化的图来表达. 技术背景:在开发之前 ...

  2. Oracle Linux切换uek内核到rhck内核解决ACFS兼容问题

    背景:协助客户做验证,客户使用的是RHEL7.6环境,我这边是OEL7.6环境,开始以为区别不大,结果acfs兼容还是遇到问题,特此记录下. 现象:asmca图形没有acfs相关内容,无法使用acfs ...

  3. SignalR+Hangfire 实现后台任务队列和实时通讯

    SignalR+Hangfire 实现后台任务队列和实时通讯 1.简介: SignalR是一个.NET的开源框架,SignalR可使用Web Socket, Server Sent Events 和 ...

  4. vue 自己实现一套 keepalive 方案

    vue自定义keepalive组件 前一阵来了一个新的需求,要在vue项目中实现一个多开tab页面的功能,本来心想,这不简单嘛就是一个增加按钮重定向吗?(当然如果这么简单我就不写这个文章了).很快写完 ...

  5. MySQL8新特性窗口函数详解

    本文博主给大家详细讲解一波 MySQL8 的新特性:窗口函数,相信大伙看完一定能有所收获. 本文提供的 sql 示例都是基于 MySQL8,由博主亲自执行确保可用 博主github地址:http:// ...

  6. 闺蜜机 StanbyME 产品随想

    今天媳妇告诉我,现在小度这边推出一款叫 "闺蜜机"的可用移动的IPAD设备,我点开链接一看,就感觉兴趣不大,不就是一款把屏幕做的更大些的IPAD了吗? 有哪些更多创新呢?为什么会需 ...

  7. 【网络知识】FTP主被动模式介绍及抓包分析

    一.FTP是什么 FTP,即文件传输协议(File Transfer Protocol,FTP),基于该协议客户端与服务端可以实现共享文件.上传文件.下载文件. FTP 基于TCP协议生成两个连接,一 ...

  8. 【论文阅读】Pyramid Scene Parsing Network

    解决的问题:(FCN) Mismatched Relationship: 匹配关系错误,如将在水中的船识别为车. Confusion Categories: 模糊的分类,如 hill 和 mounta ...

  9. 「学习笔记」vector

    本文并不是 vector 的入门教程. 定义 std::vector 是封装动态数组的顺序容器. vector 通常占用多于静态数组的空间,因为要分配更多内存以管理将来的增长.如果元素数量已知,可以使 ...

  10. 变分自编码器(VAE)公式推导

    论文原文:Auto-Encoding Variational Bayes [OpenReview (ICLR 2014) | arXiv] 本文记录了我在学习 VAE 过程中的一些公式推导和思考.如果 ...