前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >通过阿里云宕机这件事,来看国内程序员的畸形职场文化

通过阿里云宕机这件事,来看国内程序员的畸形职场文化

作者头像
用户5166556
发布2023-11-20 10:42:16
3900
发布2023-11-20 10:42:16
举报

1、阿里云宕机始末

阿里在变更这块有三板斧,可监控、可灰度,可回滚。另外他们内部非常喜欢用这类简短的语句传递意图。

听起来非常简单,就目前大多数互联网公司基础设施都会支持这3项,只是支持的程度不太一样,普通的监控是监控,可观测性也是监控,但是区别相差甚远。从表面上来看,很多系统号称有监控,简单而基础的有主机负载、网络流量、磁盘IO这样粗放型的监控。这种没有深入到业务内部的监控,不能说没有监控,但通过这种监控自动发现问题和快速定位故障的程度不同。

可灰度和可回滚通常会结合起来使用,常用的是金丝雀、蓝绿发布,凡是刚刚上线功能,先灰度一部分流量上去试试,如果完全符合预期,那么按照正常节凑,全部发布上去。如果出现问题,一键回滚,造成的影响非常有限。

按照上述的节凑进行发布看似无懈可击,监控可以发现问题,通过灰度发布降低问题影响范围,出现问题回滚到上一个版本,但如果问题存在多个版本中,一直没有被发现,又该如何回滚?回滚太多,是否会存在数据库兼容性问题?上下游兼容性问题?新功能不可用问题?比如一个业务请求需要请求2个内部接口,才能完成一次请求的响应。如果其中有一个内部接口调用失败了,是返回部分数据?还是完全出错。假设返回了部分数据,上层业务以为是完整数据,结果可想而知。

所以上述三点完全实现起来并不是一件容易的事情。甚至,很多时候,大家过于依赖简单化的概念,进而有些自我催眠,而没有真正从技术上去做到全面的前期设计、评估、演练、优化、主动注入故障。

2、如何尽可能保证稳定性

阿里为了降低人力成本,一直在做中台,中台的本质就是消除人的不可靠性,统一管理,追求极致的效率,效率是高了,抗风险能力就弱了。对于互联网公司,有时多招聘几个人、各个部门之间各自为政未必是坏事。

除了最主要人力成本就是硬件资源,一个服务,部署在一个机房可以用,二个机房也是一样的效果。正常运行时不会有太大的收益。特别对于一些底层的基础设施本来就是一主一从架构,如果部署一套灾难切换环境,即便互为主备,在原有资源情况下需要再次翻倍。为了节约成本,如果企业不愿意这样做,那么就需要承担出现故障对应的惩罚。

稳定性从来不是一朝一夕的事情,技术只是其中的简单一环,如果你要是经常翻一些事故报告,报告中会有一些放之四海而皆准的复盘,究其根本,故障原因都是一些低级问题。

如果你是一个软件研发人员,仔细观察你当前团队工作5-10年的技术人员,无论是架构师、技术专家、甚至普通工程师,你会发现他们之间对技术的理解能力都差不多,基本上一个问题的解决方案都会比较雷同,那么为什么有的人只能做普通工程师呢?有的人却可以做架构师和技术专家,搭个框架、了解某个技术从来不是架构师的护城河,因为这些东西普通人可以很快习得。一切全在细节上,架构师对公司未来技术发展方向的把控、疑难杂症的解决、某个框架的设计或者算法的阅读能力要强于大多数人,不过这种能力很难一时看到效果或者很少用到。另外老板主要会关注一些财报和能给公司来带营收的事项,这些人会给老板一种错觉,虽然花这么多钱,但是这些人却没有产生什么价值。

对于普通工程师要想保证稳定性就必须从设计、开发、测试、上线、后续运维,保证全生命周期任何一环,都不要出现问题。但是问题都是发生在细节上,细节是什么?就是一些做了没人知道,不会有太多体现,不做可能也没有问题的事情。做细枝末节的事情很难被认可,如果做的好了,不出问题,老板可能觉着你什么都没做,接着会要求你做出一些体现价值的事情,俗称亮点。如果做的不好,领导会说,不知道你们天天到底做了什么,竟然会出这些低级问题。年终奖、加薪、晋升不要再提了。一旦老板把稳定性当成一件理所当然的事情,那么稳定性将不复存在。

3、畸形职场文化

企业招聘一大怪象,为了节约成本,淘汰年龄太大的经验丰富的技术人员,不愿意培养技术人员,接着又说社会上没有符合要求的技术人员。站在企业的角度,一方面大龄技术人员有自己的思考和想法,可能管理起来相对较难。另一方面薪资待遇相对比较高,但是加班干活可能却不如小年轻积极。这就导致一些企业在招聘的时候总是喜欢招一些年轻人,也是其中的原因之一。我觉着问题并不在大龄程序员这个群体,让我们思考一下,企业自身难道就没有问题吗?

目前国内盛产产品经理,很多毕业之后没有学过计算机专业的学生,程序员干不了,但是却可以弯道超车直接做产品经理,没有一点经验,凭借自己天马行空的想象力,想像出来一堆没有任何数据支撑的需求让程序员去实现。如果技术人员反抗,一堆产品经理围着说,这个需求已经给老板对过了,必须在这个月底上线。如果捅到老板那里,美其名曰,可以采用小步快跑,快速试错的思想(其实就是没有想清楚),总要做出一些东西出来。反正我就需求一提,技术团队来做,上线后成功了,功劳是我的,失败了也没啥坏处,互联网市场变化太快搪塞过去,找个新项目,继续画大饼。按照这个节凑,假设成功了,随着时间的积累,产品会越来越复杂,如果前期没有做好长期设计,其系统是非常脆弱的,任何一次变更可能都有发生故障的可能,不稳定性越积越多,每天都如覆薄冰,加之人员流动,那故障便是家常便饭,不仅阿里云这样,国内外大公司都出现各种各样的故障。所以有时什么都做,看似产出很高,但是不一定是好事。

不知道从什么时候起,加班就是约定俗成的。还出现了看似很有道理的人生经验,比如老板会灌输年轻人就应该多拼一下,加班才能学到更多东西,对未来也有好处。既然老板倡导,加班自然成了光荣的、可以拿来攀比的现象,比如说加班到凌晨一两点,拍个照,发个朋友圈,收到老板的点赞很开心。而管理者呢,还就吃这一套,谁加班多、会来事儿,考核的时候就更有好处。在这种氛围下,大家都知道了,只有加班哄老板开心,才能赚取更多的工资和升职加薪的机会,技术不是最重要的,就没有人愿意安心搞技术。于是出现了上班摸鱼、划水,下班写代码,最后留下各种坑。

计算机程序这种东西,虽然很多管理者对此不屑一顾,没有太大技术含量,只是一个工具而已,复制粘贴能用即可,前期看起来高效率,低成本。但是随着用户越来越多,产品就会越来越复杂,如果没有强大的底层基础设施支撑和前期的高层设计,bug会越来越多。出来混总是要还的,今天不关注技术,未来就会又要招聘无数个程序员为此加班。

不过随着时间推移,乱七八糟徒有虚名的互联网及软件公司会逐渐被淘汰,剩下的都是实实在在提供价值的公司,为了保证服务的稳定性和整体成本,公司会逐渐开始注重长期规划和投入,招聘更多有经验的程序员来设计或者重构系统,提升系统稳定性,目前这个势头国内已经出现,互联网已经进入存量时代,程序员这个行业招聘越来越严格,有经验有能力程序员会越来越吃香,而不是被随意调侃和裁员。

原创不易,随手关注或者”在看“,诚挚感谢!

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2023-11-15,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 云原生技术爱好者社区 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1、阿里云宕机始末
  • 2、如何尽可能保证稳定性
  • 3、畸形职场文化
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档