敏捷运维
Posted 运维Linux和python
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了敏捷运维相关的知识,希望对你有一定的参考价值。
序言
表面上都是自由的,实际上四周围墙,无法跨越;表面上都有很多选择,实际上没得选。
成功是一种考验,失败也是,原因能想出来吗?
敏捷运维,敏捷开发,在各种压力进行运维,有一定的适合场景,你知道么?
风言风语
运维到底根据什么样的节奏走?是快一点好还是慢一点好,效率优先?……是稳一点好还是直接上比较好,稳定优先?……是有规划好还是出问题再说,质量优先?……大部分人说,我三者都要,就像CAP 理论,你不可能同时获得三个,只能在这三个要素之间取得平衡。
今天主要探讨一下,运维到底做什么?运维的日常应该根据什么来驱动。
1 问题驱动
有的人发现了问题,就去解决问题,有的人发现了问题,能把问题作为一个切入点,去深度的治理应用,治理环境,让业务可靠性提高一个量级。
能提问题的人太多了,但是能提出一个好问题的人永远是高手。好的工具能让人事半功倍,好的工具人也是,好的问题依旧可以……
问题驱动做的比较好的估计是问题的终结者,但是如果每天都是充斥着告警,问题数量众多,那么必然造成精力不足,陷入问题的泥沼中,看起来做了很多,实际上都是小的问题,这种情况下,一般都是解决了一百个问题,但是一个没处理好,运维全剧终。
有菜B,终止服务……
不同的问题要善于分类,重复的问题用工具解决,实在没有工具,用俩脚本解决,不能改变产品,就只能改变使用产品的方式,减少问题,自动化解决问题,重复的问题自动解。
善用工具,节省在琐事上耗费的时间,偶尔思考一下,这些屁事的意义是让你成长还是在浪费你的时间……
2 利益驱动
运维居然也有利益?运维本质上是一种服务,要么是为项目客户服务,要么是为了公司服务。
所谓的利益驱动,不过是看投资收益比,做什么事情利益大,就往什么上面冲。 有的客户喜欢看人加班,那就死命加班,有的领导喜欢听拍马屁,那就好好拍马屁,总之,他们摸清楚了人的喜好,懂得人性,知道别人喜欢什么,深的此神韵。 利益可以再次分类一下,例如有的是占领影响力,最后是客户的枕边人,有的是加薪,做一系列的动作最后为这个做好铺垫,毕竟价值证明了存在感。 还是比较佩服这种人,不同的场景,不同的话术,屁事没做,一说话让人感觉他做了很多,受了很多委屈,付出了很多努力……沟通的艺术。 客户喜欢什么,那就做什么……冲冲冲,最怕的是不懂的客户,然后一通指挥,不知道要去向哪里,不知道未来在何方……不懂装懂最为致命,其实有好处也有坏处,好处是让你去追踪细节,坏处是浪费时间在次要的问题上。 3 理论驱动 为什么要学习理论?学理论多累,要付出几倍的时间和精力。
迷茫时,可以多读书,找到理论的支撑,找到灵魂的方向;工具人当久了,也可以读读书,找点灵感,去寻求多一点挑战,找寻不一样的思路。
业务在不停的发展,不同的业务阶段需要不同的技能,就像敏捷运维这种,在业务初期可以随便玩,各种折腾,天天升级,但是业务上线后,还是使用SRE这套更好。
业务上线之后,事情就会少很多了,其实偶尔也不会少,但是环境的熟悉度,架构的熟悉度,操作的熟悉度会降低很多事情的复杂度,一件复杂的事情,如果分解下来,也不过是一些标准的SOP交付步骤,还是比较简单的。
一周三个故障,估计也会让你心烦气躁,特别是一些比较诡异的故障,排查原因总是比较难的。
故障数量越多,说明前期工作做的越差,救火英雄总是这个时候出场,也给技术一个展现的舞台。
故障驱动,多了大家就重视了,慢慢就有流程规章制度的约束了,前期都是野蛮生长,慢慢的就是自费武功。 故障出场的时机,一般也是比较紧迫的场景下,无规范无纪律,等故障多了,慢慢的就行成了流程,慢慢的大家就能兴平气和的看待如何运维,慢慢的大家就知道可维护性很重要。
随着时间,故障的严重后果会让大家成长。。。慢慢的打造监控系统,也让大家束缚的越来越舒服。
造谣一张嘴,辟谣跑断腿。
每次出现故障的时候,总有那么几个人张嘴就来个原因,甩锅一流,很奇怪的是造谣不需要证据,而背锅的那个要给出证据证明自己的清白之躯。。。
要证明清白,其实略微有点难,你要从报错反推出别人干了啥,例如别人重新发布了服务,例如微服务架构中有服务的循坏依赖,例如各个服务是跨机房的,例如服务有大量JVM fullGC,例如同城容灾机房中的网络抖动。。。。你要去查看服务追踪,你要分析服务占用的资源,你要去日志,你要看记录,你要看各种慢sql。
要证明清白,其实很难,你要找到关键的证据能证明清白,例如资源变化曲线,例如某服务的fullgc监控,这种大家都能接受的,而他们不接受推理,不接受基本原理的解释。。。例如平常服务好好的,为啥突然就报错了。。。例如这个sql平时不是慢sql,怎么突然就变慢了。。。原因有很多,你要确定以及肯定。
有的时候,证明清白变成了一件很重的工作,当然这个排查的过程中,也能扫点很多雷,各种各样的问题会解决掉。。。只是耗费精力,本来不属于你的工作,然后顺理成章的成了你工作的一部分。
7 责任驱动
责任驱动,这个就很有意思了,如果沾边了那么就属于你的责任范围内,这种会涉及到很多层面的知识和能力。
责任驱动,即使不在自己的职责范围内,但是也会去协助排查,这种有点像使命感,解决问题成为了终章。
责任驱动最大的问题在于时间分配,因为很多东西都要花费时间去查,精力是有限的。
运维人都需要有一个驱动力,无论在什么场景下,总要有一个驱动力去驱动自己学习知识,解决问题,而不同的驱动力则适合不同的场景,没有所谓的对与错,没有所谓的好与坏,只有适合与不适合。
成也萧何,败也萧何,有的东西是双刃剑,不要执着在一件事上,要多看几件事,要多看点时间,多联想相关的细节。。。这样才能看出来到底是能力导致的,还是运气导致的。
很多事情,你会慢慢发现,它不是一蹴而就的,有很多发生之前的细节你未关注,那么错在你本身呢?还是错在于其他?分辨对与错有的时候也不是很重要。
敏捷运维最大的痛点在于每个人都说敏捷,但是没有人说出了事怎么办?没有人说我们允许犯错,错误率是多少。。。他们不但要敏捷,而且要周全,这TM就很难了。。。我TM想锤死他。
谁能告诉我,最强的运维是什么样的???在最短的时间内解决问题故障告警,这是至刚的拳法。。。运维最忌心浮气躁,运维的最高境界是让系统自动达到预期状态,从而你要了解宇宙苍生。
以上是关于敏捷运维的主要内容,如果未能解决你的问题,请参考以下文章