0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

一名运维工程师的工作感悟

工程师人生 来源:工程师吴畏 2019-02-18 14:39 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

最近因为部门架构调整,之前工作做了交接,新的安排又没有确定,领导建议学习下JAVA开发,后续直接参与到研发工作中而不再负责运维工作。周围同事也都在说运维工作比较low,转研发会好一些。但是毕竟从毕业之后阴差阳错进入这个行当,已经三年时间了,多多少少还是有些感情的,内心还是有点纠结。正好借着这个机会,整理下自己之前的经历,反思下自己的工作,看看能否理清今后的发展思路。

什么是运维?什么是开发?

14年毕业至今,前后换过三分工作,每一次都对运维工程师这个职位有一些新的认识。

第一份工作是在一家比较小的安全公司,大四实习之后直接转正,做工作有老员工带着,遇到问题可以直接请教老员工。那时候的工作就是跟着前辈部署一些程序,排查下性能问题,重启下服务器,每天最大的乐趣就是写一点小shell脚本,简化下繁琐的工作。所以,那时候的认知就是:在服务器上执行命令处理问题的就是运维,根据需求写代码完成功能和修复BUG的就是开发。

第二份工作呢,则是进了一家小型的创业公司。作为公司唯一的一名运维工程师,并没有人能指导我的工作,没人告诉我该干什么,怎么干,我只知道,如果应用系统出了问题,领导就会找我。 为了避免系统出现问题影响业务,我需要做负载均衡,高可用,监控,制定问题处理的流程规范。这时候的认知变成了:运维工程师是保障系统可以稳定的为业务提供服务,开发工程师是让系统更友好的给业务提供服务,研发创造价值,运维避免风险。

第三份工作,也就是目前的工作 则是就职于某大型电商集团中间件部门devops小组,重新做回了小小螺丝钉的角色。与之前工作不同的是,我们所有系统都是服务于集团内部的研发人员,而且很多系统和其它部门的系统之间相互依赖。为了完成工作,除了一些技术问题处理,更有一部分精力需要花在和各种同事沟通,寻求最优解或者双方都可以接受的妥协方案。 这时候对运维工作的理解就是:与开发人员一起配合,尽可能的给用户优质的体验。

So,区分运维和开发的并不是工作方式,并不是说研发就是一直在写代码,运维就是一直在插拔网线,部署程序,重启服务器。 而是大家的职责不同,仅此而已。

运维工作真的比研发low吗

发现周围好多同事朋友,不过运维还是研发,包括HR,部门领导,猎头,都感觉运维比研发low,相应的,同等能力下运维工资貌似也普遍略低于研发(这里的运维包括具有一定开发能力的运维开发工程师)。认真想了下,出现这种现象的原因,可能有以下几个:

1.大部分运维工程师的时间充斥着琐碎事务,完全就是一个客服加打杂的工作

2.运维工作并不能直接的创造价值

3.运维普遍要求24小时on call。 凌晨接到电话时Fuck在心口难开

但是这些问题,其实并不是没有办法解决的。相信现在很少再有那种单纯的系统运维或者应用运维工程师了,大家多多少少都掌握着一两种开发语言。而大多琐碎的事务,都可以通过自动化来完成。再有就是现在大多数系统都是分布式的高可用架构,只要系统避免到单点故障,真的很少有问题需要当晚立刻处理,完全可以等到第二天工作时间在进行操作。当然,具体操作起来还是有很大难度,会遇到各种各样的问题。比如工作被各种琐事填满,完全没有时间进行工程性的工作提高工作效率。部门间信息共享不够,比如服务器连通性报警,对于我们来说单台连通性报警并不是什么大问题,但是监控部门的同事会认为比较重要,不管几点都会电话通知我们。后来经过和监控部门沟通之后,监控部门同意类似问题只通过短信等发送报警不打电话叫醒我们之后,又会有部分研发恰巧没睡着看到报警信息之后打电话来咨询(这里指大型公司)。但是办法总比困难多,不能因为这些困难就放弃以更优雅的方式处理运维问题,而是直接认定 运维工作比较low。 之前我们说了,运维只是要保障系统稳定性和可用性,和工作方式方法无关。这样看,Google的SRE说白了不也是运维工程师,虽然没有真正接触过,不过看《SRE Google运维解密》中写的,还是很有技术含量,很高大上的。 那50%的时间分配原则,真真让人羡慕。 如果排除上述那些因素,只看工作本身的话,其实运维的技术含量并不比研发低。要保证系统的稳定性,网络协议,操作系统,开发流程规范各种都需要有一定的了解,而且可以开发自己的运维平台简化工作,自己本身既是开发人员,又是最终用户,省去了和产品经理及业务方的各种扯皮,可以安安心心按着自己的心意创造产品,还是很美好的,不是吗。

如何让我们的工作变得高大上

既然有着光明的前途,那我们需要怎样做,才能过上美好的生活呢?

作为一个一线基层运维,我觉得,自身能做的就是学习,学习,学习。学习专业技能,学习如何沟通,学习通用技能(如英语能力,文档能力)。提高专业能力,你才能实现你想做的运维平台,解决你遇到的那些问题。 提高沟通能力,你才能让你的直属领导和同事支持你做你想做的事情,自动化也好,学新知识也罢,都需要时间。 提高英语能力可以让你更快的学习专业技能,提高文档能力可以让你的工作成果在不同部门之间推广,让你得到其它同事的认可。 并且不要放弃任何学习和练手的机会,如果同一份工作,手动解决和通过编写自动化脚本所需时间相差并不多,那一定要选择用脚本来实现,多动脑子少动手。

自动化运维平台空想

没事儿的时候总喜欢瞎想,运维平台应该做成啥样,趁着这个机会,也顺便落到纸面上,说不定以后有机会真的付诸实践,别到时候再忘了。

一体化: 既然是叫做平台,就应该有完善的功能,从硬件资源申请,持续集成,到监控,到批量命令执行,failover都应当包括在内。后台可以分为不同的子系统,但是用户操作时,应该是统一的入口,各系统间数据应当共享,所有操作日志清晰可审计。

少量并多样的交互: 交互频率应当越少越好,只要有人参与到整个流程当中,那处理周期怎么也是分钟级的,如果涉及到多人操作,可能需要几个小时甚至几天。 理想状态下,最好是监控系统发现异常后,直接通知异常处理系统进行处理,流量迁移,故障判断一步到位,如果可能最好能直接恢复,如果是硬件故障,可以直接报修IDC或者硬件供应商。只需要在这一切完成之后,给运维人员一份记录即可。不用业务的异常处理流程可能有所不同,这一部分最好做成可配置的。有特殊需求的用户可以自行定义异常处理流程。 相反的,交互方式应当越多越好,手机APP,chatbot,WEB页面。

自主进化: 由于统一了所有操作的入口,而且有着完备的数据,所以应该能够通过机器学习等方式,让平台越来越智能。由最开始的我们指定平台应该怎么做,到平台根据实际情况给出处理意见,由运维人员确认是否可以进行该项操作,到运维人员制定约束,避免一些危险操作,其余的由系统通过自主的学习来判断应该如何去做故障处理,性能调优等工作并具体执行。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 运维工程师
    +关注

    关注

    4

    文章

    39

    浏览量

    8497
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    如何成为一名高薪嵌入式工程师

    学嵌入式,也可以轻松入门。 如果你已经明确好,想要从事嵌入式开发,想要成为一名高薪的嵌入式工程师,那下面这几点建议请好好看看: 、夯实技术基础 ✅编程语言 C语言:嵌入式开发的核心语言,需
    发表于 04-09 09:03

    工程师必须掌握的10个系统命令

    系统命令是工程师与服务器交互的基础工具。虽然现代工作有大量的自动化工具和平台,但掌握核心
    的头像 发表于 03-23 10:28 223次阅读

    电子工程师设计要点与经验分享

    电子工程师设计要点与经验分享 作为一名资深电子工程师,在硬件设计开发领域摸爬滚打多年,积累了不少宝贵的经验和见解。今天就和大家分享些电子工程师
    的头像 发表于 02-03 11:10 320次阅读

    什么是BSP工程师

    任何软件的。BSP工程师需要结合硬件原理图修改从芯片厂商拿到的参考代码,调试板子,使板子上的操作系统能够正常稳定工作,从而提供个稳定的开发调试环境,这个过程叫做点亮板子,行话叫做Bringup。这
    发表于 01-13 06:54

    电子工程师设计要点与经验分享

    电子工程师设计要点与经验分享 作为一名资深电子工程师,在多年的硬件设计开发工作中,积累了不少宝贵的经验和见解。下面就和大家分享些电子设计方
    的头像 发表于 01-07 13:55 514次阅读

    硬件工程师如何提高电路设计的可靠性?

    聊我从业硬件工程师至今的些小的感悟,这些小感悟对于些经验老道的
    的头像 发表于 11-11 07:36 3298次阅读
    硬件<b class='flag-5'>工程师</b>如何提高电路设计的可靠性?

    Ceph集群部署与完全指南

    作为一名资深工程师,我见证了太多企业在存储架构选型上的纠结。传统的NAS/SAN方案成本高昂,扩展性差;而云存储又面临厂商锁定的风险。直到我深入研究Ceph后,才真正理解什么叫"软
    的头像 发表于 08-29 17:18 1529次阅读

    Python脚本实现工作自动化案例

    还在为重复性工作而烦恼?每天被各种告警、监控、部署搞得焦头烂额?作为一名有10年经验的
    的头像 发表于 08-27 14:46 1363次阅读

    设备管理信息化平台解决方案

    对于某些大型工厂来说,设备故障是需要尽量避免的,就算是出现故障也要尽快维护,避免影响到生产计划。某废气处理设备厂商便提供驻地的售后服务,安排工程师轮流待在工厂进行运
    的头像 发表于 08-14 10:15 691次阅读
    设备<b class='flag-5'>运</b><b class='flag-5'>维</b>管理信息化平台解决方案

    作为一名PCB质检工程师,我为什么在用手持式面铜测试仪?

    在PCB行业,铜厚直是决定阻抗、散热与可靠性的关键指标。过去,工程师把板子搬到实验室、等待台式铜厚仪出结果;作为一名PCB质检工程师,如今,我更愿意把“实验室”揣进口袋——手持式面铜
    发表于 08-11 11:59

    文掌握Linux命令

    作为一名工程师,熟练掌握Linux命令是基本功中的基本功。无论是日常工作中的系统维护,还是面试时的技术考核,Linux命令都是绕不开的核
    的头像 发表于 07-22 15:23 723次阅读