我是一名运维工作者,可是老板,决策者并非技术出身,并不理解运维,甚至曾经碰到过有人简单的理解运维为,就是看着电脑不宕机,网络不掉线。这时候运维的困难就来了,当我们需要资源做事情的时候,决策者会带着一脸的怀疑问我们为什么。
这时候我们用一些自认为时髦的技术词语告诉领导,我们要用虚拟化管理服务器,分布式解决大并发,自动化部署应用,智能化监控应用,你猜老板能否听懂?能否立马支持你的工作?事实是,当老板听不懂你在说什么的时候,是不会支持你的,或者支持力度很小。
我们需要给领导讲明白,运维是什么,做什么,运维如何做。为了给领导讲明白,我用如下一个故事作为开头。
我是一名养鱼专家,大王要买很多很多鱼,找到我给他养。我定睛一看,霍,还真是多,不是同一种鱼而是各种各样的鱼:
-
有的很弱,出水 10 秒就死
-
有的很强,一尾巴就能把鱼缸劈裂
-
有的很大,放在鱼缸转不过弯
-
有的很小,不仔细看看不见
-
有的食肉,可能吃掉其他鱼
-
有的食草,鱼缸要配上水草
-
有的很贵,养大能卖很多钱,当然是重点保护对象
-
有的较贱,我跑集市买的到
-
有的怕热、有的怕冷
-
有海水生、有淡水生
大王说了:
-
所有的鱼都必须健康活着
-
我想要那条都能及时给我
-
饵料和鱼缸你看情况购买
-
要是活得欢腾我会奖励你的!
这么多鱼,这么种鱼,我先想想要考虑的事情:
-
如有一万条各类鱼,我要怎么养?!
-
鱼儿病了,如何及时知道并看病?
-
我如何快速定位到大王要的鱼?
-
鱼缸突然碎了怎么办?
-
水蒸发少了怎么加水?
-
水热了,凉了怎么办?
-
鱼儿万一被偷了,怎么办?
-
鱼儿如何投食?
-
鱼儿大了,鱼缸放不下了怎么办?
-
要是突然暴毙,触电,中毒怎么办?
-
我这里地震、海啸、战争了,如何转移鱼?
-
........
好累,要考虑很多情况!!
紧紧张张的我走到大王面前,开始诉说自己准备了很久的话语:
大王,要我给你养这么多鱼,我需要:
-
1 万个鱼缸,大小不一
-
1 万个人,每人养一条
-
1 万袋鱼食,有肉,有草
-
1 万吨淡水,1 万吨海水
-
......
但没等我说完,大王抡起棍棒,对我说:
....(骂我的脏话省略)就 1 千个鱼缸,50 个人,食料和水现买,少量预存,其他自己想办法....(骂我的脏话省略)
看来资源不是随便获取的,要在有限的资源下养活,养好这么多鱼,这可怎么办?
不经一番寒彻骨,怎得梅花扑鼻香,经过一番思考和技术研究,我们决定采用如下一些技术方式科学养鱼。
-
将普通的鱼缸,再加上玻璃隔断,使其隔离成大小不一的空间。
-
将中小型的鱼先放到这些隔断中养。
这种方式的优点:
-
解决了正常鱼缸养小鱼浪费问题
-
隔离鱼缸安装比正常鱼缸安装更快速。变成了对正常鱼缸添加隔断的过程
这个鱼缸坏了怎么办,我要准备一个备用鱼缸,随时可以用来替代损坏的鱼缸。
-
优点:容易操作,鱼缸准备数量少
-
缺点:不适合离开水就死的鱼,需要花时间转移鱼
准备一个鱼缸,利用技术生成一个和母体几乎一样的镜像鱼,要求:
-
镜像鱼能外出展览,不是原始真鱼
-
生长和母体鱼基本同步
-
如果母体鱼阵亡,可以利用镜像再造技术还原一个
-
优点:每条鱼都有副本,不怕突然暴毙阵亡
-
缺点:鱼缸的消耗要 X2,对应的其他成本都上升
对于那些极为贵重的鱼,不能有半点闪失,因此,我希望能利用技术,再生个鱼,要求:
-
A 鱼生长,同时 B 鱼也会生长,
-
B 鱼生长,同时反馈到 A 鱼上
-
A/B 死亡,另一只不会跟着死
我还希望对 A 或 B 制作一个镜像(副本)
有一些鱼,生长很快,几个月就大到鱼缸放不下了,这种鱼,大王是拿不动的,要也只会要鱼的一部分,如何养这种鱼呢?
-
大鱼分割,头身肚尾分开放到小鱼缸
-
要保障整体生长协调性,不长偏
-
鱼再大还可以继续切割更细
这是分布式养鱼法的扩充,为了防止某个分体部分突然腐烂,要准备其副本,要有个分布式管理者掌控鱼的分布,要有个分布式鱼监控者,掌握鱼各部的生长。
-
优点:真正解决了鱼超大,又死贵的管理问题
-
缺点:实现难度大,需要技能多,资源消耗多
鱼太多,依赖人工养育显然不合适,我需要考虑自动化完成这些事情。因此自动化投食,自动化监控,自动化迁移,自动化捕捞等技术相应上线。
鱼缸太多,依赖人工进行管理,显然也太累,因此,自动化鱼缸管理系统上线:
鱼缸资源池 ->鱼缸初始化 ->鱼缸编排 ->鱼缸监控 ->交付
当我的自动化养鱼技术成熟后,是不是可以对那些尚处在,人工养鱼阶段的专业户进行技术输出,对其他老板提供代养,托管服务,如果资源剩余我还可以对外租赁?哈哈,我也可以挣钱了,想想就很美。