在 6 月 5 号,唯品会发布了 23 年 3 月 29 号的故障报告,因为南沙 IDC 冷冻系统故障导致唯品会线上商城停止服务,造成了数以亿计的损失(作为小运维的我,瑟瑟发抖)。
对于唯品会来说,线上商城是其核心业务入口,故障不可避免,但是故障如此之长却不能容忍,为什么会造成这种事情发生呢?在我们这种小运维的眼里,这种事故不应该发生在这种量级的公司中,我们都是在模仿、学习他们的 PPT 中寻找运维之路。
但是,PPT 的高大上,无法压住故障不发生,这是为什么呢?
我个人斗胆说几种猜测:
现在国内各种技术大会,然后邀请一些知名企业的 CTO、技术负责人等到场演讲,从演讲来看,每家公司都很强(至少 PPT 上是这样展示的),每次我听完都会豁然开朗,大受裨益,打心底佩服这些公司,佩服他们超强的思维、超高的能力以及超酷的团队。
但是,PPT 毕竟只是一个辅助工具,它不能代替现状。
漂亮的 PPT 只是给想看的人看的,不漂亮的事情是要独自去承受的。
之前有看多唯品会在 GOPS 上的分享,PPT 上呈现的确实很棒,如果拿着这个向上汇报,老板也会觉得我们公司的技术真厉害,做的真好,给了老板一切都很好的假象。
出了问题,不办你办谁?
从自己嘴里吹出去的牛逼,也会回到自己嘴里。
在《SRE:Google 运维解密》这本书中,故障演练占了很大的篇幅。通过故障演练,可以提高系统的可靠性和容错性,可以让团队更好的了解系统的架构和工作原理,可以更好的理解各模块的相互影响,可以更快的发现系统架构中的漏洞和故障。
可以说,故障演练是整个稳定性保障的核心环节,因为它可以帮助团队最大限度的减少实际故障的同时,也能更高效的应对可能出现的问题。
但是,实际中是这样的么?
在实际进行故障演练的时候,要预定故障点,要整理输出具体的应对措施,要指定全面的计划,要准确描述每个人的工作职责和任务。
光这些前置工作就需要耗费很大的人力物力,很多团队、很多人就会精简步骤、精简措施,抱着做了就行的心态看待故障演练,抱着侥幸心态看待故障本身,把希望寄托在别人不出问题的情况下。
比如把希望寄托于公有云,公有云不出问题,整个系统就是稳定的,但是公有云 ≠ 完全可靠,谷歌云、阿里云、腾讯云等都发生过重大事故,然而买单的还是用户自己。
所以,对于运维团队或者 SRE 团队,需要认真对待故障演练,不仅要做好演练的前置准备工作,在演练中也要密切关注计划,发现问题及时采取措施并进行修正。
不要让演练成为走过场,不要让演练成为 KPI,不然你就是下一个优化对象。
3 月 29 日唯品会的问题,可以从侧面反映:多活,也许真是说说而已。
随着业务的发展,系统架构会不断演变,因为我们对高可用的要求越来越高。
比如从同机房的单机架构->同机房的主备架构->同城多机房架构->两地三中心架构等。
如果唯品会做了同城多机房,就算最简单的同城主备,也不至于宕机 12 个小时。
更别说如果做了同城双活。
但是,我只是站在上帝视角猜测。也许他们也做了多活,只是假多活罢了。
上面总总,到头来都会走到财力、人力、物力上来,就拿多活来说,搞一个同城灾备,投入的成本就不是 dubbo 那么简单,每当 SRE 负责人向上汇报申请资金的时候,如果上面的领导不予支持(钱,钱没挣,还要花这么多),什么都是白搭。
领导要压成本,下面要钱做事,成本不足导致入不敷出,也就会出现 PPT 漂亮,实际很烂的局面。
纵有一腔抱负,乃无用武之地。
出了问题,还要用你祭天。
上面所说纯属虚构,如有雷同,请点赞~
在很多公司,运维的话语权很低,低到离谱,这就导致运维在做事或者推进事情的时候寸步难行。
但是,一旦出现问题,运维却是被第一个推出来的,所以“背锅侠”一直被扣在运维头上。
那作为运维应该怎么做呢?
最后,说归说,闹归闹,别拿生产开玩笑。
责任编辑:武晓燕 来源:运维开发故事
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。