P0级故障频发背后:不给专业性买单,是降本增笑……

我为技术保障发声 2023-12-03 11:02:00
临近年底,各大互联网公司和云基础设施厂商,接连出了一些大故障,引发了众多的讨论:

 

  • 很多用户和技术爱好者,纷纷猜测、分析背后的技术原因,帮着做复盘,出谋划策;

  • 有一些“换我上也行”的吃瓜群众,看热闹不嫌事大,觉得云厂商和头部互联网公司的技术不过如此,换自己上能做的更好;

  • 还有一些技术从业者,抱着蹭热度的想法,开始包装“私有云”、“下云”、“自建云”各种方案了。

 

技术保障这个话题老套极了,但不幸的是,截止当前,技术保障仍然是一个人力密集 + 知识密集 + 资产密集同时存在的领域,大白话说,就是既要堆人,也吃经验,还靠装备,缺一不可。

 

  • 人不够,能累死;

  • 人员能力和经验不足,给多少都白搭;

  • 服务器不够,谁来都不好使。

 

而中国的互联网,更是处于全球数一数二的位置,已经渗透到了生活的方方面面,接二连三的这些故障,让整个社会都开始关注幕后的技术保障工作的重要性。大型互联网平台复杂度是非常高的,体现在:

 

  • 规模大,动辄数万台设备,几十万的容器,从统计上看,设备数量多、调度频率高、设备老化,都会不断地引发隐患;

 

  • 自动化程度高,正因为规模大,所以头部平台的运维自动化程度是很高的,容器也是自动化调度的,否则天天手工操作肯定难以为继,但是要清楚,自动化工具,正常的时候有多智能,故障的时候就能有多智障,要维护好这套自动化程度很高的工具,本身就很复杂,我们经常会听到一些“IT系统处于无人驾驶状态的”段子;

 

  • 历史包袱多,头部平台,都是高速发展,一路狂奔十多年才到了当前的位置,在这个过程中,很多技术上的债务、架构上的折中、权衡都体现在复杂度里了;

 

  • 变化快,上千名工程师一年 365 天,你改改这个需求,我加加那个功能,他调调那个策略,一周变个成百上千次,都是常有的事情,很多系统,你不动他,他都准备随时搞点事情,何况这么高频的变动和协作,出问题的概率是很大的。试想一下,盖了一个高楼大厦,设计标准很高、地基打的也很牢靠、由顶级设计机构操刀、施工过程也没有偷工减料,按理说这个大楼是相当“稳定”的,但是如果住户入住之后,你家砸承重墙、他家盖楼顶花园,一顿变更操作下来,大楼“危”也;

 

  • 服务水平要求高,头部平台,每时每刻每分每秒,都有大量的用户在使用,不能随随便便停机,这天然要求架构的设计上要考虑的更多;

 

  • 逻辑本身复杂,以打车为例,很多用户会觉得不就是 app 发个单和司机接单这么简单的事情吗,有什么难的?实际上打车的场景我认为是互联网应用里面,最复杂和挑战最大的,每一笔打车的交易,持续的时间可以达到几十分钟,在这几十分钟中,用户、司机、平台需要持续的实时的交互,以及保持各种状态转化。

 

过去的几年里,「降本增效」成为了 IT 圈的政治正确,在执行的过程中,因为一些理解的“片面性”,导致执行变了味,走了样,最后容易变成一地鸡毛。

 

 
1. 不切实际的设定降本的目标,“没有实事求是”

 

降本增效,要讲科学,投入产出要拉长时间段来评估(比如看3到5年的整体投入产出),切忌只看当下,不顾全局。缩减人员或者下服务器,虽然一下子会节约一笔钱,但是这个动作给用户体验造成影响会有多大、会不会给服务稳定性埋下隐患、一旦服务受损能不能承受得起、会不会一段时间内又需要花费更多的财力物力重建,等等方面需要通盘计算和考虑。

 

举个笔者曾经参与过的项目,作为反面案例,供大家警醒反思:

 

  • 公司给技术保障团队设定了一个降本的目标:每一笔交易所花费的IT成本(包括IT人员成本+服务器成本)每年下降 X%,这个目标本身非常清晰,且可量化。但错就错在每年下降X% 这个目标值的设定上,没有深入研究实际情况,没有实事求是动态变化。IT成本的下降始终是有一个天花板,越接近天花板,每降低一分都需要投入的10分的人力和时间成本,是得不偿失的,投入产出比大大降低。

 

  • 技术保障团队为了达成该目标,只能把宝贵的工程师资源和精力,都投入到怎么下机器上面,最后结果很显然,终于因为容量问题,酿成了巨大的故障,给公司、用户带来了巨大的损失。我们应当提倡,发挥技术人员的主观能动性,专注于长期目标,通过采用更先进的技术和理念,优化架构、优化代码,提高自动化、提高开发效率这些手段,来达到用户体验和成本之间的动态平衡,应当反对类似「堆人工下机器」这种目光短浅的做法。

 

 
2. 技术专家的意见不被注视,“不愿意为专业性买单”

 

在公司内部,经常听到高层口头上喊的都是“稳定性是第一位”。在实际操作的过程中,每当“资源投入”有冲突的时候,「技术保障工作的投入」永远都是可以往后排的那一个,排在“盈利KPI”、“拉新KPI”、“促活KPI”、“开发新功能”等等的后面,知行难合一。

 

在业务领域,常常讲,要让听得见炮火的人做决策技术保障工作,也是业务的重要、必备组成部分,一线的技术专家,却往往很难发出声音,比如项目deadline,永远是倒排,只有接受的份;比如能否投入固定比例的资源用于优化基础能力以及还技术债务,总是会被拍死;技术保障的工程师想晋升,也很难被倡导业务价值的晋升观念所认可,而出现一次大故障,却可以断送掉之前所有的努力。

 

再举一个笔者参与过的项目,再次供大家警醒反思:

 

  • 某个重要日子,提前一个月就开始全民备战,反复压测、反复优化调整、拆东墙补西墙,最后评估需要增加百十台服务器,否则会有风险,但业务方可以以增加服务器会造成年度利润目标无法达成,直接拒绝,吵到 CXO 处也没有加上去。结局很显然,该重要日子里,发生了重大故障,随后技术保障团队进行了重大组织调整。

 

对技术专家们的价值,不能客观地评价。这几年各行各业或多或少遇到了增长的瓶颈,以往发展能够掩盖大多数问题。在当下的情况,很多公司开始缩减技术人员规模。公司里,搞技术保障的团队,都属于幕后团队,基本从未走上过“前台”,价值也不容易被看到,工作不易被理解。平时不出故障,不显眼,要是出了故障,又太显眼,里外不讨好,因此在“人员缩减”中,首当其冲。

 

这些老师傅们,主打一个「对系统熟悉」,知道哪里有坑,从而能少掉坑,老师傅们的责任心都很强,今天的坑不填,明天掉坑里的只会是自己,在不断填坑中前进,用时间换空间。根据经验数据,当技术保障团队的老师傅们离开后的一段时间内,必定会出现大故障,且往往都是接二连三的,直到新接手的工程师们变成老师傅。因此,公司应该致力于创造好的大环境,制定好规则和激励计划,让专业的人做专业的事,做专做深。让老师傅们能有空间做长期正确的决策,成为公司的宝贵资产和重要竞争力。

 

 
3. 技术保障的规划和落地缺乏持续性,“技术保障是一场马拉松,硬是搞成了接力跑”

 

每当出了大故障之后,很多公司内部一定会先对某个技术负责人,再加上某几个一线技术人员,杀一儆百,然后发起一场“运动式的技术保障攻坚项目”。这个阶段,虽然是靠很高的代价换来的,但却是真正做事的技术人员最欣慰的日子,能够把以往想做、得做的事情,趁机完成。因为大家知道,这阵风过后,技术故障工作又会变得无人问津,直到下一个倒霉蛋再出现,但谁又能保障自己不是那个倒霉蛋呢。

 

如果不能回归到「专家领导专家」的工作方式,让专业的人领导技术保障工作,充分的授权,长远做规划,做长期正确的事情,那么接力跑还将继续。

 

最后,希望互联网能够再次回到之前那个百家争鸣、欣欣向荣、活力四射的年代。

 

作者丨我为技术保障发声
来源丨公众号:SRETalk(ID:SRETalk)
*本文仅为提供参考和学习交流,不代表dbaplus社群立场!dbaplus社群欢迎广大技术人员投稿,投稿邮箱:editor@dbaplus.cn
最新评论
访客 2023年08月20日

230721

访客 2023年08月16日

1、导入Mongo Monitor监控工具表结构(mongo_monitor…

访客 2023年08月04日

上面提到: 在问题描述的架构图中我们可以看到,Click…

访客 2023年07月19日

PMM不香吗?

访客 2023年06月20日

如今看都很棒

活动预告