如何用故事的方式向你的老板讲清楚运维到底在干什么?

百家 作者:聊聊架构 2018-02-09 09:06:23
作者|方连超
编辑|郭蕾

我是一名运维工作者,可是老板,决策者并非技术出身,并不理解运维,甚至曾经碰到过有人简单的理解运维为,就是看着电脑不宕机,网络不掉线。这时候运维的困难就来了,当我们需要资源做事情的时候,决策者会带着一脸的怀疑问我们为什么。

这时候我们用一些自认为时髦的技术词语告诉领导,我们要用虚拟化管理服务器,分布式解决大并发,自动化部署应用,智能化监控应用,你猜老板能否听懂?能否立马支持你的工作?事实是,当老板听不懂你在说什么的时候,是不会支持你的,或者支持力度很小。

我们需要给领导讲明白,运维是什么,做什么,运维如何做。为了给领导讲明白,我用如下一个故事作为开头。

我是一名养鱼专家,大王要买很多很多鱼,找到我给他养。我定睛一看,霍,还真是多,不是同一种鱼而是各种各样的鱼:

  • 有的很弱,出水 10 秒就死

  • 有的很强,一尾巴就能把鱼缸劈裂

  • 有的很大,放在鱼缸转不过弯

  • 有的很小,不仔细看看不见

  • 有的食肉,可能吃掉其他鱼

  • 有的食草,鱼缸要配上水草

  • 有的很贵,养大能卖很多钱,当然是重点保护对象

  • 有的较贱,我跑集市买的到

  • 有的怕热、有的怕冷

  • 有海水生、有淡水生

大王说了:

  1. 所有的鱼都必须健康活着

  2. 我想要那条都能及时给我

  3. 饵料和鱼缸你看情况购买

  4. 要是活得欢腾我会奖励你的!

养鱼前的思考

这么多鱼,这么种鱼,我先想想要考虑的事情:

  1. 如有一万条各类鱼,我要怎么养?!

  2. 鱼儿病了,如何及时知道并看病?

  3. 我如何快速定位到大王要的鱼?

  4. 鱼缸突然碎了怎么办?

  5. 水蒸发少了怎么加水?

  6. 水热了,凉了怎么办?

  7. 鱼儿万一被偷了,怎么办?

  8. 鱼儿如何投食?

  9. 鱼儿大了,鱼缸放不下了怎么办?

  10. 要是突然暴毙,触电,中毒怎么办?

  11. 我这里地震、海啸、战争了,如何转移鱼?

  12. ........

好累,要考虑很多情况!!

跟大王要资源去

紧紧张张的我走到大王面前,开始诉说自己准备了很久的话语:

大王,要我给你养这么多鱼,我需要:

  • 1 万个鱼缸,大小不一

  • 1 万个人,每人养一条

  • 1 万袋鱼食,有肉,有草

  • 1 万吨淡水,1 万吨海水

  • ......

但没等我说完,大王抡起棍棒,对我说:

....(骂我的脏话省略)就 1 千个鱼缸,50 个人,食料和水现买,少量预存,其他自己想办法....(骂我的脏话省略)

看来资源不是随便获取的,要在有限的资源下养活,养好这么多鱼,这可怎么办?

痛定思痛后

不经一番寒彻骨,怎得梅花扑鼻香,经过一番思考和技术研究,我们决定采用如下一些技术方式科学养鱼。

鱼缸虚拟化
  1. 将普通的鱼缸,再加上玻璃隔断,使其隔离成大小不一的空间。

  2. 将中小型的鱼先放到这些隔断中养。

这种方式的优点:

  1. 解决了正常鱼缸养小鱼浪费问题

  2. 隔离鱼缸安装比正常鱼缸安装更快速。变成了对正常鱼缸添加隔断的过程

冷冗余

这个鱼缸坏了怎么办,我要准备一个备用鱼缸,随时可以用来替代损坏的鱼缸。

  • 优点:容易操作,鱼缸准备数量少

  • 缺点:不适合离开水就死的鱼,需要花时间转移鱼

热冗余 - 镜像技术

准备一个鱼缸,利用技术生成一个和母体几乎一样的镜像鱼,要求:

  1. 镜像鱼能外出展览,不是原始真鱼

  2. 生长和母体鱼基本同步

  3. 如果母体鱼阵亡,可以利用镜像再造技术还原一个

  • 优点:每条鱼都有副本,不怕突然暴毙阵亡

  • 缺点:鱼缸的消耗要 X2,对应的其他成本都上升

集群养鱼法

对于那些极为贵重的鱼,不能有半点闪失,因此,我希望能利用技术,再生个鱼,要求:

  • A 鱼生长,同时 B 鱼也会生长,

  • B 鱼生长,同时反馈到 A 鱼上

  • A/B 死亡,另一只不会跟着死

我还希望对 A 或 B 制作一个镜像(副本)

  • 镜像鱼能外出展览,不是真鱼

  • 生长和 A/B 鱼基本同步

  • 如果 A/B 都阵亡,可以利用镜像再造技术还原一个 A

  • 优点:最大限度的保障贵重鱼的安全,防止非正常死亡的损失。

  • 缺点:多消耗一些鱼缸,食料等,技术难度不大但实现繁琐。

分布式养鱼法

有一些鱼,生长很快,几个月就大到鱼缸放不下了,这种鱼,大王是拿不动的,要也只会要鱼的一部分,如何养这种鱼呢?

  • 大鱼分割,头身肚尾分开放到小鱼缸

  • 要保障整体生长协调性,不长偏

  • 鱼再大还可以继续切割更细

分布式集群养鱼法

这是分布式养鱼法的扩充,为了防止某个分体部分突然腐烂,要准备其副本,要有个分布式管理者掌控鱼的分布,要有个分布式鱼监控者,掌握鱼各部的生长。

  • 优点:真正解决了鱼超大,又死贵的管理问题

  • 缺点:实现难度大,需要技能多,资源消耗多

这么多鱼如何养

鱼太多,依赖人工养育显然不合适,我需要考虑自动化完成这些事情。因此自动化投食,自动化监控,自动化迁移,自动化捕捞等技术相应上线。

这么多鱼缸如何管理

鱼缸太多,依赖人工进行管理,显然也太累,因此,自动化鱼缸管理系统上线:

鱼缸资源池 ->鱼缸初始化 ->鱼缸编排 ->鱼缸监控 ->交付

自动化养鱼之后

当我的自动化养鱼技术成熟后,是不是可以对那些尚处在,人工养鱼阶段的专业户进行技术输出,对其他老板提供代养,托管服务,如果资源剩余我还可以对外租赁?哈哈,我也可以挣钱了,想想就很美。

养鱼与运维的关系

讲到这里,我们再回归运维,发现了没有,养鱼的过程,和运维有很多相似之处,其对应关系如下。

我已经对多个非技术领导讲过这个故事,均表示对运维理解更加深入,对相关的技术理解也更加深入了。

真实的运维做什么

讲完故事,我们再来说说,真正的运维工作都做哪些工作,这里借用赵班长的成果,我们看一下运维都做什么(微信压缩图片,文末有大图链接)。

这个表,可以这样分析:

从上往下看,记录了访问一个网址到获取到服务器上的数据,都要经历的路径,会经历浏览器,DNS, CDN 缓存,网络,负载均衡,应用服务,数据库 / 文件服务等。

从左往右看,每个路径上。会有相应的技术栈,对每种技术,还有对应的监控手段,每一层面还有相应的自动化方法,当自动化到一种程度,这种技术可以作为一种服务,称为云计算服务。

从下往上看,主要涉及运维的管理,公共服务。在运维中,必然存在对公共基础服务的运维,比如 DNS、mail、wiki、工单。还要对基础的硬件环境,服务器,网络,操作系统进行统一的管理。最后,在表格最底下是运维管理中,涉及到方法论,管理学,发展观知识。只有基于正确的理论,思想做指导。我们才能建设好一个富有战斗力的团队。

运维领导者要考虑什么

运维团队,是一个服务型团队,要服务的对象小到公司内部,大到其他企业,甚至整个社会。因此,我们还要跟领导讲一下运维要做的不仅是技术层面,还有很多架构,人文层面。借用百田峰哥的图,我们看一下运维领导者要考虑的事情(微信压缩图片,文末有大图链接)。

关于作者

方连超,蔷薇控股运维架构师,先后在 CFCA 和某大型互联网公司从事运维工作,融合金融和互联网运维基因。

https://static.geekbang.org/infoq/5a7d49f6970c5.png

https://static.geekbang.org/infoq/5a7d4a67051ed.png


针对运维从业者,这里编辑强烈推荐极客时间 App 上赵成老师带来的运维体系管理专栏。赵成说他踏上运维之路有很大的偶然性,第一,不忍心看着自己跟团队开发出来的系统到了线上总是出问题,所以每当有问题时,他总是第一个冲在前面解决问题,久而久之,便积累了丰富的经验,也成为团队中比较重要的角色;第二,也是更重要的一个因素,他说自己非常享受那种攻克难题之后的成就感。

他的专栏里将会介绍他所遇到过的挑战,他的尝试、实践经验和感悟体会,以及他十年来对运维产生的不一样的思考。欢迎点击阅读原文链接学习。

关注公众号:拾黑(shiheibook)了解更多

[广告]赞助链接:

四季很好,只要有你,文娱排行榜:https://www.yaopaiming.com/
让资讯触达的更精准有趣:https://www.0xu.cn/

公众号 关注网络尖刀微信公众号
随时掌握互联网精彩
赞助链接