天猫启动“中国匠人”计划,一年孵化20个千万级匠人品牌

简介:

运维是干什么的

「运维」二字可能有几层意思,分别可以指代运维工程师、运维团队或者是整个运维服务体系。

我们可以看出,这三层是从狭义到广义的递进。相信绝大部分人问的都是运维工程师,只有极少数人能意识到还有运维服务体系这一层含义。

我们经常会听到一些言论,比如:

  • 云服务普及了,运维工程师就要失业了。

  • 等 DevOps 或者 SRE 落地了,运维工程师也要失业了。

  • 容器技术普及了,运维工程师也该失业了……

也记不清运维工程师到底被失业了多少遍,但我认为就算运维工程师被取代了,运维服务也不会消亡,它将伴随并支撑着业务发展的整个生命周期。

为何这样说?我们还是用业务的诞生过程来分析。

一个站点或者 App,大致经历着这样的诞生过程:PM 设计出产品原型,交给 Dev 开发实现、QA 测试,然后交付给 Ops 部署到线上运行,最后供用户使用。

在这几个简单步骤中涉及了众多的人、角色、交付过程等对象,这是一个完整、复杂的系统工程,而任意一个环节的失误都可能影响最终呈现给用户的体验以及效果。

16f17636b028f51d071a927b96a9d247493d268e

我们重点考虑从 Dev 把业务产品完成后交付给 Ops 到线上运行的这个阶段,Dev 同事主要负责业务产品的功能完整、逻辑正确等业务指标,而 Ops 同事主要负责业务产品的运行质量、稳定性、可用性等系统指标。

无论后面的交付步骤是用 DevOps 还是 SRE 的实现方式,都离不开一个广义的运维服务的执行环节。

所以说, Dev 还是 Dev,Ops 还是 Ops,没有谁被取代,只是运维服务的执行方式升级为更加软件工程化的手段,减少人肉操作,DevOps 强调自动化、拉动式来提高团队交付效率与质量。

而传统的运维需要谋求技术转型,从原来只关注操作系统层面的技术已经不够了,还要增加对程序代码的性能调优、持续交付、容器化等软件基础架构方面的技能提升,也需要持续关注整个业务、应用、服务的生命周期管理。

简单来说,就是把过去传统的黑盒运维的思维方式抛弃,进入白盒运维的时代,我们必须更加深入代码、深入业务运营,让整个线上服务运行于更优质高效的状态。

至于运维是否会被取代,取决于你属于哪种运维。

运维工程师和运维开发工程师

要建设运维自动化或者实践 DevOps 离不开运维开发工程师的参与,但要怎样才能更好地发挥运维开发的作用呢?

我曾作为运维产品经理的角色和各种类型的运维开发一起协作过,团队中有本来就做运维开发的,也有本来做其他业务(电商、平台)的开发转来协助运维团队的。

和他们协作一段日子后,总体感觉如下:

  • 运维开发首先是一个程序员,不是运维工程师。

  • 一个好的运维开发需要具备 「运维理解」+「开发能力」。

  • 对「开发能力」的技术要求低于其他业务形态(如游戏、电商、搜索等)。

  • 对运维业务的理解难度会低于电商、游戏等业务形态,即对「运维理解」的要求不高。

  • 对运维相关技术栈的掌握程度要求高,如 Linux、Git、Nginx、Zabbix、Docker、K8S 等。

综上所述,运维开发是一个深度不算太深的职业分支,而现在之所以对运维开发需求量热起来了,主要由于老一辈的资深运维普遍研发能力有限,而这是有历史原因的。

对于从业 8 年以上的资深运维来说,他们刚开始做运维的时候更多的是接触机房、机架、主机、交换机、防火墙等硬件设备。然后对接业务运维后,一般通过 Shell、Python 等脚本来辅助工作。

等到业界提出 DevOps 的时候,他们往往已经专注于团队管理、容量规划、架构调优、运维服务质量等高级范畴,所以基本不太可能抽出大块的时间来重新学习编码并开发自动化系统。

所以,当我们有自动化系统的建设需求时,需要更专业的程序员来协助。

但一般的非专职运维开发的程序员做出来的系统对于运维来说往往不太好使,这时候有部分年轻的运维工程师升级了研发技能,转型运维开发,把好使的运维系统做出来了,赢得了运维团队的好评,大家都为「运维开发」点赞。

所以,大家将 「好使的运维系统」 和 「运维开发」 等价起来,以为我们只要招来一个运维开发,那么一套完美的运维平台就能自动诞生出来,这是个很大的误区。

其实「好使的运维系统」真正等价于「运维理解」+「开发能力」,这两种能力也是可以分离的,不一定要强加在运维开发工程师一个人的身上。

类似其他业务形态的开发过程,需要产品经理和程序员两种角色分离,企业也不会说要招聘既会写代码、又会出需求的程序员。

所以,当资深运维能把运维自动化的需求细致地文档化下来,把自动化系统的设计、架构等关键环节确立下来,这就是最好的「运维理解」。

这时把这份靠谱、好使、细致的需求文档交给具备强「开发能力」的程序员,最终就可以得到「好使的运维系统」。

当然,资深运维要获取产品经理能力也不是那么简单,而且也需要和运维开发无障碍地探讨技术,个人觉得必须具备且不限于以下技能包:

产品规划、产品设计、面向对象、需求模型、领域模型、设计模型、设计原则、设计模式、产品工具和文档能力等。

所以,当运维需求被理解、分析得足够透彻,以及资深运维获得了「产品经理」能力后,运维开发就是一种普通的开发分支,按需求文档编码即可。

再往高级发展的话,运维开发也可以替代资深运维出需求,升级为运维产品经理,以程序员的思维角度来解决运维服务的工程效率和质量问题,我认为这也是类似 Google 所提倡的 SRE 文化。

最后,很多运维可能考虑要不要转运维开发,当你觉得编码的乐趣远远大于其他运维技能的时候,尽管争取努力去转!

把自己当成一个真正的程序员,以程序员的评价标准来要求自己,不要觉得运维能力和编码能力各自半桶水是好事,正如我前面的那句话:“运维开发首先是一个程序员,不是运维工程师 。”

运维服务体系与技能水平量化

每个运维工程师心中其实都有自己的想法,不妨用思维导图的形式将其列出来,找出自己感兴趣的点,持续深入,打造自己的核心竞争力。

而思维导图也可以继续往横向纵向扩展,形成自己心中完整的一套运维概念。

下面跟大家分享一张思维导图,展示我个人心中的运维服务体系。当然,这里面还有很多可以展开,但细节就不方便透露了,这属于个人经验未必能适用其他运维团队。

186e5d79a72a4da1cb412ad9ffc96ee5777936fe

由于运维一般讲究广度而忽略了深度,所以容易导致自身的技术栈广而不精的情况,那怎么量化自己的技能水平足够深入呢?

举一个大家都熟悉的 MySQL 技能作为例子,如果把 MySQL 水平定义成 1~10 级,下面是我对各种级别水平的理解。

0ad2f26d089129bedb35d842a9d8039417a49539

为何要量化技能呢?因为人的时间、专注力毕竟有限,如何把精力分配到不同的技能上,需要一定的策略。

正常情况下,大家把精力平均分配到各种具体技能,希望可以做到面面俱到,但不会太深入某项技能,所以技能水平达到的级别落在 1~3 之间。

如路人 A 的技能水平表是这样的:(当然还有其他技能项,如网络、安全等等,这里只是简化了方便讨论)。

80e547b1722d2d40858fe9fc2b5ff87c6b134cba

最低要求

运维是一种需要技能面比较广的工种,大家普遍都是处于技术面广但不深的状态,我把 2 级定义为科普级,意思是达到该级就可以满足各种日常工作要求。

所以说上面的路人 A,最好尽快争取把还在1级水平的 Shell 和 MySQL 都提升到 2 级,就可以满足日常工作要求,这也是我们对运维工程师的最低要求。

进阶要求

除了满足最低要求之外,培养自己的核心竞争力,为日后的发展打下基础,推荐大家对 1~2 项深入学习,达到 4、5 级甚至更高的水平。

随着互联网运维行业的各种 PaaS、IaaS 普及后,自动化程度越来越高,现在已经不像以前那样需要那么多「操作员」。

也就是说,技能水平偏低的运维急需技能升级或者技能转型,能支撑你走多远的不是那些 1、2 级的技能,而是 4、5 级以上的技能。

写在最后

本文是笔者个人对运维以及其职业发展的一些浅薄理解,总的来说,运维还是一个比较有意思且有良好发展的职业分支,虽然偶尔也要背黑锅,但也欢迎更多努力、聪明、有才华的同学加入运维行业。


原文发布时间为:2018-03-28
本文作者:温峥峰
本文来自云栖社区合作伙伴“ 数据和云”,了解相关信息可以关注“ 数据和云”微信公众号
相关文章
|
存储 安全 算法
一文理解UDS安全访问服务(0x27)
一文理解UDS安全访问服务(0x27)
一文理解UDS安全访问服务(0x27)
|
27天前
|
存储 人工智能 数据库
2026年阿里云免费云服务器领取保姆级教程(个人/ 学生/ 企业)
阿里云为个人、学生及初创企业免费提供云服务器等160+款产品试用权益,涵盖计算、AI、数据库等,助力零成本上云、快速学习与项目验证。
314 1
|
1月前
|
人工智能 自然语言处理 IDE
Qoder CN是什么?Qoder CN和Qoder有什么区别?
Qoder CN是阿里云推出的国产AI智能体产品系列(原通义灵码),全链路国内部署,支持GLM、DeepSeek等主流大模型,覆盖编码开发、办公协同、数字员工及云端Agent托管,满足金融政务等高合规场景需求。(239字)
282 0
|
8月前
|
缓存 Prometheus 监控
Python请求淘宝天猫API常见问题解析与解决方案
通过系统化的错误处理机制和性能优化策略,可显著提升淘宝天猫API调用的稳定性和数据获取效率。实际开发中建议结合Prometheus监控调用成功率、错误率等关键指标,构建智能化的API调用管理体系。
|
4月前
|
机器学习/深度学习 监控 算法
场景中人数计数9042张数据集分享
本数据集含9042张YOLO格式人头标注图像,覆盖地铁、商场、路口等真实场景,专为人群计数设计。支持YOLO系列/Faster R-CNN等模型,解决密集遮挡、多尺度、小目标等挑战,适用于智慧安防、客流分析与学术研究。
|
10月前
|
人工智能 架构师 搜索推荐
AI Agent搭建师的跨界突围:破解职业焦虑,做产业数字化浪潮中的“翻译官”与架构师
在AI冲击下,技术从业者面临职业焦虑。本文提出“AI Agent搭建师”新角色:不做代码搬运工,而当“产业翻译官”,将AI技术与制造业、农业、医疗等传统行业深度融合,用智能体打通数字化“断层”。通过业务—技术双向翻译、人机协作架构设计及可量化ROI验证,构建不可替代的职业护城河,开辟跨界晋升新路径。
488 5
|
Linux 数据库
Red Hat Enterprise Linux(RHEL)
Red Hat(红帽)是一家美国的软件公司,专注于开发开源软件产品。公司成立于1993年,总部位于美国北卡罗来纳州的罗利市。目前,Red Hat已成为全球最大的开源解决方案提供商和商业Linux主要供应商。 Red Hat由Bob Young和Marc Ewing共同创立。Marc Ewing最初创建了自己的Linux发行版,并将其命名为红帽Linux。1995年,Bob Young收购了Marc Ewing的企业,两者合并成为红帽软件公司。此后,红帽Linux逐渐发展成为一款备受欢迎的Linux发行版。 特点
798 10
Red Hat Enterprise Linux(RHEL)
|
机器学习/深度学习 开发框架 API
Python 高级编程与实战:深入理解 Web 开发与 API 设计
在前几篇文章中,我们探讨了 Python 的基础语法、面向对象编程、函数式编程、元编程、性能优化、调试技巧以及数据科学和机器学习。本文将深入探讨 Python 在 Web 开发和 API 设计中的应用,并通过实战项目帮助你掌握这些技术。
|
存储 NoSQL Java
如何在Java中使用MongoDB
如何在Java中使用MongoDB
|
弹性计算 负载均衡 定位技术
阿里云服务器地域怎么选?看这一篇文章就够了,小白入门
阿里云服务器地域选择应考虑速度延迟、内网互通、价格差异和备案限制。建议用户根据所在地区就近选择,以减少网络延迟。同一地域内的产品可实现内网互通,不同地域间则无法跨地域部署负载均衡或使用内网连接。价格因地域而异,部分区域可能有优惠。此外,若需在中国内地进行网站经营性备案,需选择特定地域如北京或深圳。详细信息参考阿里云官方页面。
4125 5
阿里云服务器地域怎么选?看这一篇文章就够了,小白入门