作者介绍 肖天国,触控技术运维总监,高效运维技术社区创始人,作者互联网专栏《高效运维最佳实践》。 “高效运维”与老王(王金银)提倡的“精益运维”、织金提倡的“白盒运维”并称为运维三大流派。 简介 2015年,行业内出现了数次大失败。根本原因在于,这不应该是人为事故。本文将从这些重大故障入手,主要讲一些与运维管理相关的话题。这篇文章的主要内容包括: 1.不安全的网络 2.人为事故为什么那么多? 1.为什么在运维中更容易发生事故?有事故吗? 3。都自动化了,怎么还会出事故? 4。灰度这么好,怎么还是出事了? 3。如何避免人为事故? 1。人 2.培养安全意识 3.让敬业成为习惯 好!我们正式开始。 1.网络不稳定 最近了解到的一些重大故障,不仅来自携程和阿里云,还有一些人为的事故,影响很小,但也很不合理。 901阿里云故障 阿里云表示是云盾升级触发了一个bug,导致部分服务器上的少量文件被系统误隔离。已经第一时间开始系统回滚,被误隔离的文件正在陆续恢复中。 有阿里云用户表示很受伤。 很多微信群友表示也中招了。从影响范围和技术分析(详见下文)来看,应该主要是人为事故。 528携程故障 5月底的携程故障,17小时后才恢复营业。该负责人甚至直言是“员工操作失误造成的”。 其他“离谱”的失败 包括但不限于: 1.公司技术人员在光天化日之下为公司的计费数据库服务器更换电源... 2。某银行总行主机,按键线反了... 3。某银行的一键交易系统,在更新版本的时候,SQL脚本更新语句没有写where条件,然后所有的网点信息都被重置了…… 根据笔者十几年的互联网经验根据经验,重大故障,至少60%的根本原因是低级别的人为事故。真正由复杂的系统问题引起的严重故障很少。 第二,为什么人为事故那么多? 互联网还没有摆脱鲁莽的时代。技术上,从最初的小米加步枪,到现在逐渐自助、半自动化,或者用开源产品鼓捣形成自己的系统。 如果说技术的发展尚可,有亮点,那么管理和对人的重视就更差了。 可以证明,在微信技术社区中,讨论技术热点的文章非常受欢迎;但是技术管理文章往往很容易被忽视。 究其原因,就在于广大互联网技术人员的“工匠情结”。从我从事的运维行业来看,尤为突出: 大家开始学习Linux和Shell,享受敲几行命令自动部署多台服务器的乐趣和成就感并按Enter。并错误地认为这都是关于你自己的。 技术人员梦想拥有“绝技”,在Linux系统上做一些暗箱操作或对某项编程技术有独到秘籍,从此骄傲人生,“不低头”下五斗米”,如果他们认为公司或领导有什么让你不舒服的地方,你应该立即走开。 虽然,这也常常验证了一句话“最有才华的人往往是最无能的”。 技术人员不要被束缚,更要相信自己,觉得我的技术好。为什么我需要别人来检查我的工作?我是完美的。 技术领导者的工作年龄往往更大,可能经历了更残酷的成长时代。 而很多人下意识地认为科技可以解决所有问题,但问题是: 当系统越来越大,自动化和智能化程度越来越高的时候,飞行员的水平跟不上。我应该怎么办? 机器再强大,也需要人来操作。你这么认为吗? 1。为什么运维更容易发生事故? 其实开发者比运维更幸福。只是开发更多的重点功能以及如何快速交付项目需求。程序有错误?没关系!口袋底部有测试。甚至,bug多了也没关系,可以算作测试的性能。 这时候开发就是operator,测试其实就是inspector。两个位置相辅相成: 这就是为什么飞机的驾驶舱里有两个飞行员,尽管副驾驶似乎什么都不做。但是,它可以在关键时刻挽救生命。 O&M就没那么幸运了。运维往往被赶到一线,手里拿着的只有生产环境。而且一般情况下问责是自己承担风险,运维工作基本没人查。很少有人意识到这是一个严重的问题。 2。规范那么全面,为什么会出现意外? 规范是用来“约束”人的,科技是用来“简化”人的。但是,再智能的系统,总得有人来操作吧? 对于人类来说,我们到底做了什么?这值得我们扪心自问。 不管有多少规范,人们都可以搁置。因此,管理者千万不要认为规范制度完善了就万事大吉了。反之,放松警惕,放松对人的管理,放松执行,可能更大的悲剧就要来了。 规范制度不是技术管理的全部。规范可以理解为最低标准,用来防止不专业的人犯下毁灭性的错误。 规范更多的是关于“艺术”而不是“方式”。标准虽然想体现“道”,但毕竟“指月非月”。 注重人才的选拔和专业意识的培养才是王道。 3。都是自动化的,怎么还会出事故呢? 最近的这些严重故障,都定义为人为事故,我想没有多少人反对。 自动化可以减少登录服务器的常规和重复操作,从而减少人为事故的发生。那么这是怎么回事? 其实恰恰相反。因为运维自动化平台的出现,人为事故带来的不利影响被无限放大。 在小米加步枪的时代之前,大家都是登录服务器操作。数以千计的服务器各司其职。一下子让整个系统崩溃真的很难。 运维自动化平台的出现,很好地“解决”了这个问题。毕竟平台再智能,也需要人来操作。过度依赖平台会弱化人员的专业培训。 如果人与人之间的关系没有协调好,问题的根源就解决不了。往往是压垮我们的最后一根稻草。 4。灰度这么好,怎么还是出事了? 有人会说我们公司的灰度发??布很完善,应该可以控制各种意外。如果有,影响的范围应该很小。 这个其实有两个问题。一、灰度发布,测试环境能不能忽略?如果模拟环境没有充分模拟,或者没有在模拟环境中进行充分测试,直接在生产系统上进行灰度化,这个也是很值得商榷的: 有朋友说对于国内的内部操作电信9机柜100%模拟生产环境进行测试。包括网络设备的版本,也进行了全面的稳定性测试。 究其根源,可能是互联网行业从草根中诞生,长期野蛮生长。从混沌到治理,习惯于试错和快速迭代,所以很容易出现混沌。电信、银行等行业,从一开始就把安全视为生命线,循规蹈矩、谨小慎微。 还有,当发生重大事故时,灰度范围内的用户永远是他们的灾难。他们为什么要受到这样的“待遇”?他们为什么有罪? 他们应该是“小白鼠”吗? 两种灰度策略合适吗?版本发布平台往往聚集了人们智慧的结晶进行了设计和架构,但具体的灰度策略可能没有定义(这不属于技术范围,属于业务范围)。 即一次更新100台服务器还是一次更新10000台服务器可以由运营者手动指定。 最怕的是工具很烂,使用者的综合能力很一般。 如果用户图省事,所谓的灰度发布,一次性更新上千台服务器,那么这个工具不仅不能产生效率,反而会成为帮凶(就像磨快的刀,会变成同谋)成为凶器)。 本质上,Grayscale其实是一种系统和意识。希望通过灰度,唤醒人们的安全意识。如果运营商不能意识到这一点,那就是死路一条。 3。如何避免人为事故? 在生产系统上更新版本(尤其是在没有等效模拟环境的情况下)就像在高速公路上换轮胎一样。存在各种危险,特别是对于服务于数万台物理机器的大型系统。 人为事故的发生往往不是个案,而是长期积累的结果,而单个人为事故往往只是问题的冰山一角。人为事故是不可避免的,而不是偶然的。 想要有机会彻底解决人为事故,建议从以下几个方面入手。1.选对的人 选对的人往往能事半功倍,反之亦然。 管理的一个重要原则就是要充分发挥人的优势,尽量不要试图去改变一个人。尤其是一线生产系统的运营岗位(其实很重要),找对人比什么都重要。 运维的首要工作职责是稳定。所以,还是找个诚实谨慎的人比较合适。性格粗犷,甚至容易出现“幻听”的人,显然不适合。毕竟“常在河边走,怎能不湿鞋”。 为什么一定要用两把刀才能开飞机? 德才兼备才是正道。这里所谓的人才就是技术,德就是人的美德、行为和意识。道德与道德是相通的。如果增强运维人员的意识,提高综合能力,规范规程,一些问题是可以避免的。 这里的顺序很重要,直接从规范切入往往是失败的开始。意识水平需要先提高,然后顺其自然。而不是猛烈切入。 2。培养安全意识 “敬畏运维作业”。这句话应该作为对世人的警示,挂在每一个运维人员的心里。 牢记安全意识,比死记硬背规章制度更重要(当然,首先要有规章制度)。 运维体系和标准化体系最大的意义在于控制死角可能带来的影响。每一次事故都是发现盲点和死角的过程。运维最难的地方就是不可能没有死角。 规范肯定是问题的背后。为了规范而规范不是目的,基于需求控制风险的规范才有意义。 诚然“安全没有捷径,该踩的地雷你都会踩”。但这不是借口,更不是免死金牌。同理,以技术来保护技术也是不可取的。 对于每一位运维人员来说,绷紧心中的安全这根弦比什么都重要。毕竟,死胡同总是存在的。已知只能用未知来解决,反之则不行。 3。让专业成为习惯 圣人亚里士多德曾说过:“人的行为总是重复的,因此,卓越不是单一的行为,而是一种习惯。” 单一单一的刺激无法养成习惯,单一的过度刺激只会形成恐惧,变得胆小。 敬业成习惯,往往更多取决于经理。因为管理者更能区分哪些是重要的、哪些是紧急的,哪些是不重要的、不紧急的。敬业精神首先要成为管理者的习惯,然后时时传承下去,毫不懈怠。 管理者要选对人,然后对于操作权限较大的人员,定期对各种故障和事故进行检讨,并采取多种措施,使员工始终有安全意识,真正认识到责任重大。 “警钟长鸣”,各种震撼人心的模拟演练、练习和训练也是必不可少的。 要建立巡检员机制,养成良好的团队工作习惯,“结对运维”: 不设巡检岗,单干。它可能非常大,很容易做出错误的决定或使用“昏招”。 补充:对于公有云来说,如果参加了云险,这对终端用户来说也是一件幸事。毕竟,云厂商的补偿是多少,哪怕是100倍?如果业务损失由第三方保险公司承保应该会更好。 路漫漫其修远兮,我将上下求索。想用这句话来勉励天下运维同仁。一起努力。 如何一起快乐发展 《高效运维》公众号(下方二维码)值得您关注,作为唯一官方公众号,每周发布多篇干货满满的原创文章:精华系列群的讨论、运维论坛的精彩分享、群友的原创等。《高效运维》也是互联网专栏《高效运维最佳实践》和官方运维2.0公众号.重要提示:除非事先获得授权,否则请在本文公众号发表2天后转载本文。尊重知识,转载请转载全文,包括我行及下方二维码。
