如何解决意料之外的问题

这周处理了一个HOTFIX,一面忙的焦头烂额,另一面也在反思,HOTFIX可能完全避免吗?

什么是HOTFIX?字面意思是热更新,现实生活中,多用在软件产品上。当某一个产品发布后出现缺陷,需要紧急修复,我们就可以称之为HOTFIX。更宽泛一些,这是一类不可预料的对现实有影响的问题,今天浅谈一下他们。

首先从问题的发生来看,大多数的问题我们可以避免吗?答案是肯定的。通过一些预防性的措施,我们可以有效的避免问题的发生。比如一个组织的安保问题,可以通过增加监控、安检、严格的证件审查等预防。软件开发上,我们通过Code Review、Unit Test、CI/CD来保证代码质量,通过强健的基础架构去保证服务质量等等。

但所有的问题都可以避免吗?在这一点上,我认为问题的出现和预防措施符合二八法则。即20%精力做的预防就可以防止80%的问题出现,在此基础上,想要达到100%的预防,就需要付出越来越多的代价。

事实上,预测这个世界将变得越来越难。很长一段时间里,世界被机械论统治。机械论认为,世界是一个复杂的机器,只要知道所有的变量、条件,就能够推导出未来的状态。但量子力学中的“不确定原理”说明,存在不可测量的变量,因为测量本身会改变变量状态。混沌理论中的蝴蝶效应指出,一只南美洲亚马逊河流域热带雨林中的蝴蝶,偶尔扇动几下翅膀,可以在两周以后引起美国得克萨斯州的一场龙卷风。这些都说明一件事,就是机械论是不可靠的。随着变量的增多,这个世界变得越来越复杂,越来越不可预测。

现代的软件工程一直在高速发展,摩尔定律带来的硬件大幅提升,使人类控制机器的领域,逐渐从最底层的机器码、汇编、中级程序语言,到高级程序语言、脚本语言,发展到现在的各种“云”技术,抽象的层级不断变多变高。整个软件开发的生态环境,在慢慢变得庞大而复杂。

基于以上两点,我们不难得出一个结论,即现代软件系统的行为,将出现越来越多不可预测的问题。想开发一款零bug产品,也将变得愈发不可能。

既然问题不可能完全预防,那么问题发生后的应对,将会成为保证系统安全的最后一道屏障。这种应对的方案,可以是一些预先准备好的风险管理项,更重要的是建立一种机制,这种机制保证不论发生什么事情,大家都不用慌张,依着这种机制,一步一步来,总能度过难关。

回到软件开发上,也不限于这个行业,防范方法也可以分为两类。一类是预案,出现紧急bug怎么办?系统宕机怎么办?第三方应用挂了怎么办?问题没有出现前,自己去想象会有什么问题。墨菲定理说,最坏的情况总是会发生。所以不论多坏的情况,多么不可能出现的场景,都要假定它会出现,并提前作出应对方案。

如果不幸遇到那些没能想到的问题,以及想到但没有预案的问题,可以尝试回答几个问题。

1. 发生了什么?——描述现象

2. 为什么会发生?——描述原因

3. 有什么影响?——已经造成的后果,将会造成的后果。

4. 该怎么做。——解决问题,消除影响

这几个问题的答案有了,危机的解决便只剩执行和等待了。事后再思考几个问题,增加经验,也是防患于未然:

1. 是否能避免?

2. 如何避免再次发生?

这都是很容易就可以想到的思路,通过这种一来二去,个人或组织就完成了一次迭代和升级。下次遇到同类问题出现将会是手到擒来,遇到新的问题也会信心满满。

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 218,122评论 6 505
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 93,070评论 3 395
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 164,491评论 0 354
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,636评论 1 293
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,676评论 6 392
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,541评论 1 305
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,292评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,211评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,655评论 1 314
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,846评论 3 336
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,965评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,684评论 5 347
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,295评论 3 329
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,894评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 33,012评论 1 269
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,126评论 3 370
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,914评论 2 355

推荐阅读更多精彩内容