今天聊一下这个很让人扫兴的问题。刷进来的人,大概率至少是总监以上角色,或者有追求、善于思考的运维人员。握个手,幸会。
普通运维工程师无需回答,因为这是 CTO 最应该回答的问题。CTO 作为运维总监的领导,之所以要搭建运维团队,必然有其理由。如果 CTO 回答不了这个问题,这个 CTO 不称职。
作为普通运维人员,也可以尝试去思考这个问题,站在更高位置思考,未来才有可能爬到那个位置。
运维总监也应该理清这个问题。因为这个团队就是运维总监领导的,很多决策都是他和 CTO 共创的。他后续要招多少人、工作方向等,都和自己要创造的价值息息相关。
最典型的是业务研发。业务研发觉得运维那摊事,他也能搞,现在让一个单独的运维团队来搞,增加了他的沟通成本,而对于结果,他又未必认可,于是他这个角色容易抛出这个问题。
这里的核心点是:
那最初的这个问题是否就没有价值了?非也。仍然很有价值,这敦促我们从根本上来思考岗位的价值和方向,对于未来工作给予指引。
如果每天都是在干一些不被认可的事情,那确实很痛苦。所以我们更要想清楚,哪些价值更容易被认可。
其实,「运维的价值是什么」这个问题有些过于大了。但是大问题 + 部分事实
才有流量啊,哈哈。开个玩笑啦。咱们不从流量出发,就只是从局内人的角度思考。就当理一下自己的工作也好。
一个问题要加很多限定词,才能精确描述,这个运维价值的问题,依旧如此。比如如下两个岗位:
岗位 1 被挑战的概率较高,岗位 2 估计不会被挑战,岗位 2 甚至都没有对口的研发。所以岗位 2 确实更幸福一些,至少不会被这样的破问题挑战不是嘛(诸位,择业方向的选择可以参考下,哈哈)。
那我们就来描述这个最可能被挑战的情况,其具备如下特点:
核心就是被框住和限制了,以及自认为可以比运维干得更好。
其实,从 CTO 视角来看,这确实是运维的一个重要价值。如果研发人员没有规矩方圆,想怎么选型就怎么选型,想怎么操作就怎么操作,那结果就参差不齐了。
水平高的研发团队,可以做的很好,水平低的研发团队,就搞的乱七八糟。从 CTO 角度,肯定是希望提高下限的,所以就会构建一个横向组织:运维,来贯彻落实一些要求、规范。进而导致研发人员觉得被框住和限制了。
运维的核心价值之一:贯彻落实公司级的一些要求、规范,尤其是稳定性、变更、技术选型等方面。在这个场景下,运维就是 CTO (或技术委员会)的手。
所以,如果研发是因为被框住难受了进而导致对运维团队的价值挑战,可以不予理会。
顺带说一句。很多公司的运维人员是没有统一的组织的,是散落在各个研发团队内部干着运维的活,笔者觉得这样不好。一个是因为无法构建全局合力,无法作为 CTO 的手,另一个也是不好考核,毕竟运维人员和研发人员的能力要求是不同的。
这一点,本质上,研发不是说运维的事情没有价值,而是觉得运维做的不够好。这要引起足够的重视。
研发人员相比运维人员,通常来讲(别钻牛角尖,说的是一个大概平均情况):
进而,研发人员可能会觉得在下面这些方面可以做得更好:
在本文中,我不想跟大家逐一探讨每个事情怎么做更好,因为每个公司业务情况各异,我也没那本事,不过我感觉有些原则是提炼出来,对研发、运维的边界划分上,会有帮助。
有些事情、有些场景确实更适合研发来做,运维强出头事倍功半。运维做哪些事情更有价值?我个人感觉可以概括为如下几点:
业务研发的主力任务是去做业务功能研发,而不是做运维类平台,所以运维类的平台让运维团队来干就很合适。比如:
工作内容比较多,业务可能等不及,君子善假于物,有些平台工具可以外采或利用开源工具实现。比如笔者主导的开源监控项目:夜莺监控 就可以帮你解决统一指标、日志监控,统一告警分发的需求(广告硬入了🤣)。
比如笔者上家公司的运维团队,就颁布了生产环境变更的五条军规:
咱姑且不论这五条军规的细则是否合理,每个公司情况不同,但是有意识的去产出、推动落实这些军规,对生产环境的稳定性肯定是有帮助的。
其他的,比如业务程序如何埋点、如何部署、如何备份、如何限流降级、如何回滚、如何告警、如何排障、如何复盘等等,在很多环节中都可以制定相关的最佳实践、甚至是军规红线。
这些流程规范要得到各个研发团队负责人的认可,就方便推进了,一些管理班委会在这里要起到重要作用。
如果某些业务的研发很强,像 OnCall 排障这样的工作,人家自己干觉得也能行,那就让他们自己干呗,没必要非得去支持。除非他们愿意承担 SRE HC ,主动寻求 SRE 帮助,此时他们也不会挑战 SRE 的价值了,毕竟是他们主动找来的。
有些业务的研发水平不行,或者说他们的精力去开发功能都不够用,OnCall 更是精力不够用,此时肯定愿意寻求 SRE 帮助,愿意承担 SRE HC ,等过一段时间,业务团队成长起来,SRE 再退出亦可。
如上,就是 Google SRE 的典型 HC 分配方式。
技术选型和架构设计,也很典型,很多业务团队都希望 SRE 尽早参与其中,帮他们找到设计不合理的点,愿意承担 SRE 的这部分投入。
但是,也有些研发团队觉得自己牛逼,或者觉得自己特殊,在技术选型方面,想自己造轮子。不需要 SRE 参与,一般公司不建议这样,因为 SRE 秉承的是技术委员会的要求,是公司的统一规范,业务研发团队自己搞,容易出纰漏(典型的比如团队选型了某个基础组件,但公司没有提供专门的运维团队)。
不过,确实有大公司实践中是允许业务自己搞的,比如 NetFlix ,他们的 Chaos Monkey 做得很好,允许业务自己选型,但是业务自己选型之后,最终是要通过 Monkey 大军的检测的,如果无法通过,那不好意思没法上线。而使用公司推荐的基础设施和框架,通过的概率更高。
如上,我是把运维的这个价值,称之为 “技术扶贫”。运维人员深入业务,帮业务干一些工作。
当然,有时不需要这么深入,只是做一些教练、培训、咨询之类的工作,那多个业务团队其实可以复用一个运维人员,这种协作模式姑且称之为 “运维 BP”。
我们从“运维的价值是什么”作为问题出发点,最终总结运维工作的侧重点应该是哪里。希望对你有些帮助。
![]() |
1
pollux 6 天前
很好,点赞收藏了。
|
2
SKYNE 6 天前
很强
|
![]() |
3
levelworm 6 天前 via Android ![]() 小型公司我觉得无所谓,上规模了最好就是有专门的运维团队开发运维平台,然后每个开发团队接入。运维不管开发团队里具体的问题,由开发团队接入之后自行解决。运维仅仅负责平台的 on-call 。
|
![]() |
4
kcojkcnw 6 天前 via Android
6 ,备受启发
|
5
AichiB7A 6 天前
同意,我觉得一个公司的运维体系非常需要一个统一的设计和指引,否则下限极低(比如又不是不能用)但另一方面运维保证一个系统能稳定长期运行,维持稳定运行这一点很容易被低估。另外优秀的运维体系应该是在告警出现前解决问题,但这样的工作很容易被忽视,毕竟告警看起来更严重,更容易被重视。
|
6
nananqujava 6 天前 ![]() @levelworm #3 我遇到过大公司要求运维去找业务代码的 bug, 业务还很复杂那种, 经常是业务逻辑上出问题, 让运维去找, 非常不合理
|
![]() |
7
levelworm 6 天前 via Android
@nananqujava #6
这个换我就直接让业务去找了。业务代码本来就麻烦。 |
8
nananqujava 5 天前
@levelworm #7 对, 这个岗位真的非常蠢
|
![]() |
9
Xenos 5 天前
嘿,当初就是因为价值问题,整个运维都被打崩了,原负责人降职调走,其他人离职的离职,裁的裁(我就是其中一个,挺不甘心的)。
粗活脏活我们干,最后领导层觉得我们不能给他们产生价值,开发的烂摊子用户反馈过来再反馈给他们,他们嫌我们烦,什么事都找他们。 最搞笑的是,后面他们重新又组了一次运维团队,结果被客户喷得狗屎一样。 公司主营产品在这里很多人都耳熟能详,但是怕被之前同事找到就不好说了🤣 |
10
nananqujava 5 天前
@levelworm #7 这个岗位就专门做这个事的, 应该是各方甩锅妥协的结果
|
![]() |
11
CrispElite 5 天前
每个岗位都要问你的价值是什么,真无语啊。这算是互联网特色吗
|
![]() |
12
oceanthe1h 5 天前
一眼滴滴
|