我是个9年经验的运维老兵。
和大家聊聊,当我在谈论运维的时候,我在说什么?
当我在谈论运维的时候,我究竟在说什么
关于定位
运维和开发,是任何一家IT公司中都非常常见的两大岗位。
也是devops中绕不开的两大事务,一个创造产品
,一个维护产品
;
运维之于开发,好比球场中的后卫之于前锋
、相声中的逗哏之于捧哏
、机场的地勤之于机长
、战场上的炊事班战士之于前线战士
。
是选择当前锋还是后卫?是做机长还是当地勤?是去炊事班还是上阵杀敌?
一个在前、一个在后;一个创造价值,一个保障价值
我想大部分的人都会选择第一个选项,毕竟创造价值所带来的荣誉感最直观。
很多人觉得运维的工作不像开发岗位容易出彩,即便是正儿八经出彩的时候,十有八九也是伴随着事故的发生。
一个运维的日常:
一切正常:我们花钱请你来干啥
系统异常:我们花钱请你来干啥
相反,运维工作中比出彩概率更大的,是我们常常开玩笑说的锅
;许多运维同学对职业前景无望,只是卑微地祈求自己任职内无锅无坑地过下去。
有人说,没有哪个运维大侠职业生涯期间没背过锅,这些出其不意的黑锅让你成为了更好的自己,所以,请好好感谢这些锅。
要是按这个理来说,我也觉得背锅是件好事,它好就好在,它好NMLGB。
我相信没有正常人愿意背锅,产品的生命周期经历了市场调研
、设计
、开发
、测试
,最后上线运营
,由运维扶着,怎么出事了就成运维的事了呢?运维是离事故最近的一环,但一定不是必然的一环,更何况中间有可能还隔着各类规程
、制度
、流程
、审计
等职能环节。
所以,当事故从天而降在所难免的时候,你知道问题不在你这,就请广大的运维朋友们保持自信而不失礼貌的微笑,你的自信能给惶恐的其他同事带来很大程度的安全感。
那么
当我们在谈论运维的时候,我们是在讨论如何无锅无坑地过这一生?
关于职责
当我们面对一个运维工程师的时候,我们很可能面对的是一个复合型选手。
他所从事的专业在很大可能上跨越了不同的操作系统
、跨越了不同的编程语言
、跨越了技术与业务
,所交涉的团队很可能跨越了开发、测试、产品,乃至财务
。
如果说开发能力最后所追求的境界是深度,那运维讲求的是广度以及深度
。
下面是我从网上随便搜的一则来自某大厂的运维工程师的招聘要求:
1、深入理解运维体系结构,精于容量规划、架构设计、性能优化;
2、熟悉服务管理、单元部署、自动扩容等运维系统建设,对成本控制和效能提升有深刻的理解和实践
3、熟悉故障、监控、限流、降级、预案、扩容工作原理;
4、深入理解Linux、apache,tomcat,jboss,nginx系统原理,具备问题分析和快速处理能力;
5、熟悉SHELL,PYTHON,PERL等脚本类编程工具,并有使用提升效率案例;
6、熟悉java虚拟机,对java应用的部署及系统优化有一定的经验;
7、熟悉Java,Php,C++等编程语言优先;
8、熟悉自动化发布工具、熟悉虚docker技术优先;
仔细看看这份JD,我们试着分析这个岗位的技能属性要求:
首先,大家有没有注意到,JD前3项都没有提及具体的技术或语言要求,提到的都是思维能力,可以理解为技术经验的积累和软实力;第4项之后才是具体的与业务相关技术栈熟练情况。
其次,我们可以看到JD有提到"具备问题分析和快速处理能力"
、"有使用提升效率案例"
等字眼,也从一定程度上表明了运维工作的核心关键——分析问题
、提升效率
。
一个岗位要求熟悉多种开源工具、了解业务线、会用各类工具、懂点开发,想必只会是运维岗了。
所以
当我们在谈论运维的时候,我们是在谈论的如何学习各种系统和工具?
如何起步
是不是总有人(就是我)会习惯性地吹牛批说,“我拿公司的产品当自家儿子一样照顾”?
所以,如何开始你的运维生涯,以我的经验来看,首当其冲的是要接纳自己的产品,把它当成自己的孩子。
首先,你得爱它,这是基础,也是非常必要的,是你开始一切运维事务的前提,不热爱你的产品,不一定会出事,但一定是做不出彩
。虽然这产品会虐你千百遍,但你知道,你每一次把它扶正,都是在帮它成长为更好的它。
其次,你要懂它。懂它的脾气,它的弱点,它的给人们带来了哪些快乐,为人们带来了哪些生活上的便捷
。
最后,你要守护它。守护它的安全,保障它的性能,要非常敏感地感知它的不适,做好预警和通知,并且快速地提供解决,哪怕是在凌晨或夜里。
当你站在父母的角度来看产品,你的一切工作似乎都变得有那么些意义了。
所以,试着说服自己或催眠自己,“像照顾自己的孩子一样照顾好公司的产品”。这不是一件容易的事,某些程度上,运维工作的内容本身就是一个类似父母的角色扮演行为,吃力不讨好,是这份工作的常见情况
。
所以
当我们在讨论运维的时候,我们是在互相吐槽然后抱在一起哭?
关于发展
从职业发展的角度,运维工程师个人的技术栈严重依赖于你所维护的产品(当然开发岗、测试岗也一样)
所以,充分地熟悉你所服务的产品,可以帮助你快速地扩展工作当中的思路。
这便是你从爱它、懂它、守护它的过程中,给自己带来的收益。
所以,当你来到了新东家,建议你首先需要确定几个事:
- 1、我要维护的是个什么神兽?(
认识一下你认领的熊孩子
) - 2、我要面对的是些什么样的神仙用户?(
认识一下你的爸爸们
) - 3、开发过程都用了哪样的技术栈?(
将来出事了也知道从哪下手
) - 4、我的职责范围都包括了哪些?(
确定雷池边界
) - 5、如果有条件,和前辈了解一下以前都出现过哪些大级别的故障?(
万一再次出现却没有充分准备,你可能会死
,别问我为什么会知道) - 6、办公室的最优逃生路线?(便于随时跑路)
当你对所提到的除第6点以外的所有事项都有了深刻的认识之后,如何通过自动化、规范化、流程化的操作方法提高运维效率将是你下一阶段需要严肃考虑的问题
。
俗话说,“天下武功唯快不破”。社会本就是个江湖,这话在江湖中的任何一个领域都适用。
如果说运维工作千万条,稳定第一条,那么效率一定是“维护稳定”的基础能力。毕竟我们在很大程度上如同消防员一般地存在,一次优秀的事故处理过程,往往是做到了提前预警
、快速响应
、快速定位
、快速解决
。而这无不依赖于规范的流程体系、完备的监控告警系统、高效的自动化系统才能得以实现。
运维体系建设从0到1、从无到有、从有到优,当你带着顶层思维至上而下地建设了规章制度
、管理流程
、系统工具
,相信你的个人技能也将会得到极大程度的发展。
所以朋友们,当你处于迷茫时期不知道提高什么技能的时候,请跳出技术本身看运维,围绕着正在进行的业务展开思考,你将收获的可能不仅仅是技术。
结论
说到这,我在谈论运维的时候,我谈到的到底是什么?
是高度的责任心
和职业道德
是7*24
无时不刻的关注和待命
是持续不断的学习和自我提升
是强大的内心和抗压能力
是在职责范围内,本着对产品和用户负责的宗旨,使用技术和工具保障产品的稳定,提升产品迭代速度,并从中抽离出的流程、规则和方法。
-----------------The End -----------------
原文地址:https://www.cnblogs.com/wymanwang/p/12511615.html