郑昀:技术人间自有法则在
2020-04-18 16:03:56来源:博客园 阅读 ()
郑昀:技术人间自有法则在
通过本次讲座,我想强调的是,You!Leaders!一定要通过层层叠加的“Rules”建立起本能反应,一遇到类似的事情,应激般的就知道该怎么设计,怎么行动,怎么救火。 而这些“Rules”是经历了血与火的洗礼铸造的,每一条都有来由有去路。 等有一天你依据本能(也就是你自建的法则)行事的时候,你就会体会到我的良苦用心了! 创建于2019/4/28 最后更新于2020/4/16 关键词:法则,规则,捷径,灾难,劫难 提纲:- 人间法则零:手中无刀,但心中要有刀
- 人间法则一:捷径充满荆棘
- 人间法则二:尽早统一规格
- 人间法则三:灾难锦囊
- 自建法则 法则长存
法则零:手中无刀,但你的心中要有刀
软件工程和技术领域里虽说法无定法,需求和流程随便怎么做都可以,但也并非可以天马行空恣意妄为,稍不留意就可能天塌地陷墙倒屋塌,酿成不可收拾之惨剧。下面我就说道说道。 2020年1月底2月初,首都医科大学附属复兴医院出现医护人员感染新冠肺炎事件,最终累计确诊34人,既有医护也有患者和家属,原因也非常“感人”:一位有武汉接触史的老太太,本来属于“新冠肺炎疑似病例”在发热门诊看病,但却突发奇想,通过院领导的关系,托关系找心内科ICU主任韩某,愣是从防护森严的发热门诊病房转进了云淡风轻的心内科ICU,结果横扫一片。 我一直说,工程师团队和医护团队都是专业领域机构,管理方式有相似之处。那么在这个案例里,管理者犯了什么错误?心中无原则! 心中无原则,会有一百万种死法。 原则!专业团队的管理者心中一定要有原则,你有了原则,才能要求大家“讲政治,守规矩”!同样,在做设计的时候,先把设计愿景、设计分阶段目标、设计原则写下来,在此基础上画地为牢再做设计推演,莫要天马行空恣意妄为。手中无刀,心中有刀。法则一:捷径充满了荆棘
外行总觉得软件开发有捷径,有银弹。还是那句话,有一百万种死法等着您呢! XDD 话说时间回到2019年12月20日,波音公司设计研制的载人飞船“星际客机(CST-100Starliner)”正要从卡纳维拉尔角发射,执行它的第一次飞行测试任务。按照计划,飞船将在这次无人试飞中将与国际空间站对接,为宇航员送上圣诞礼物。但是就在与火箭分离后,飞船上的一个关键设备出现了异常,可以简单理解为飞船的一个时钟错误,让飞船误以为自己正处于提升近地点的变轨过程中。在预设程序里,变轨是需要很高精度的姿态和轨道控制的,因此飞船的 48 台姿轨控发动机开始疯狂工作,在短时间内消耗了大量燃料。由于“星际客机”消耗了过多的燃料,与国际空间站的对接试验不得不取消,原定于12月28日返回的飞船不得不提前到12月22日返回地球。 2020年2月28日,调研报告终于出来了,波音公司承认,星际客机软件系统的程序存在严重缺陷。这份报告显示,飞船和火箭助推器的时钟不一致(运维同学可能会心一笑,这真的是非常经典的基础维护错误),而飞船的 Mission Elapsed Timer 提前轮询了火箭助推器的时间,从而提前开始了错误的计时并进入了错误的轨道。 这些明显的错误完全可以被提前测试出来。于是调查小组对测试的流程进行了检查。他们发现软件测试走了捷径:波音公司缩短了对该飞行器软件的关键测试,他们将整个飞行过程分成了几个小单元分别进行测试,但最后却没有做完整的、端到端的集成测试,即没有进行时长为 25 个小时的整体测试。 NASA 载人航天业务负责人道格·洛夫罗表示,波音公司的问题是“根本性的”和广泛的“软件过程故障”。波音的这种软件质量控制,还不知道会导致系统中到底存在多少个 Bug,“到底只有这两个还是会有几百个”。 看到这里,你会不会擦一擦头上的汗欣喜道:幸好这只是无人飞船,而且还只是第一次执行飞行任务而已,有则改之,无则加勉嘛。 更可怕的还在后面呢。 彭博社曾指出:波音 737 MAX 把软件系统外包给了印度外包公司 HCL 和 Cyient 的软件工程师,比起美国正职软件工程师每小时 35 至 40 美元的工资,印度外包的时薪只需要 9 美元,便宜了四五倍呢。更进一步,波音的分包商与供应商同样选择将工程外包到印度,降低成本以保证利益最大化。一位前波音软件工程师在 2015 年表示,企业将裁掉 90% 经过了熟练培训的员工,用“外包”来代替他们,从而缩减开支。 软件外包绝对不是“一包了之”,它是一个需要发包方和承包方高度协作的过程,贴身服务周期长,可变因素太多太多,这使得发包方和承包方都同时面临极大风险。我们见识过太多的外包失败案例,不差波音这一个。 波音的 787 型飞机计划 70% 使用外包,最终导致了延期三年还交付不了,波音表示:“我们同时在技术、工具和供应链上做了太多改变,超出了我们的管理能力”。 哪有什么捷径啊?只有外行领导的一厢情愿而已。 1999年 NASA 当年发射了两艘火星探测器,心想这下总是双保险了吧。结果,一个失联,一个在火星坠毁。咋回事呢?也是同样的锅:集成测试做得不好。 第一架名叫火星气候探测者。1999年9月23日失联于地球太空。 RCA报告这么写道: 它的飞行系统软件使用公制单位“牛顿”计算推进器动力,而地面人员输入的方向校正量和推进器参数则使用英制单位“磅力”,1磅力=4.4482216152605牛顿,导致探测器进入大气层的高度有误。 在该探测器的悲剧中,轨道模型来自于属于政府部门的NASA(采用公制单位如米和厘米等),而飞行控制软件来自于私营承包商洛克希德·马丁公司。 洛克希德·马丁公司的码农们没有按照飞船工程的接口规范设计软件,而是习惯性直接使用了英制单位,大祸在上天前就已经注定。法则二:尽早统一规格,别让杂草到处长
技术团队人多了,就会分好多组,并发干活,人上一百,形形色(sai)色(sai),如果没有居中协调人,比如一个 CTO 或者 大 PM,就很可能会各自为战,完全取决于技术 Leader 的喜好和意识。这会有什么问题呢? 这里有一个经典故事:阿波罗13号。很多人可能都看过这部据真实事件改编的电影。 1970年4月,阿波罗13号发射升空之后,液氧贮存罐意外爆炸,指令舱和服务舱失去了两个氧气罐中所有的氧气,所幸宇航员没有受到影响。面对这种情况,NASA 不得不放弃原定的登月计划,改为以顺利返回地球即生还为最重要目标。经过紧张计算,地面指挥中心发现可以借用登月舱的资源保证宇航员生存,所以原本设计供两名宇航员使用两天的登月舱需要容纳三名宇航员生存四天,但这样就会存在极大的风险,宇航员可能窒息而死。 果不其然,登月舱的二氧化碳氢氧化锂过滤罐不堪重负,好在天无绝人之路,指令舱有备用的过滤罐。这时候才发现,登月舱和指令舱的过滤罐由不同供应商提供,所以一个接口为方形,一个接口为圆形,并不兼容。法则三:灾难锦囊,大恩不谢
灾难我们见得多了//不愧是老兵~ 每临大事有静气,不信今时无古贤//但是我们每次都慌得不行~ 关键是每次灾难都不一样//它不重样诶,你待我何~- 重启相关应用;
- 如果不行,先流量切换多活机房,保证服务正常提供;
- 目标只是分钟级最快速度恢复,保证SLA四个九!
- 不需要做任何其他事情,
- don't do anything,
- 不要寄希望于工程师短时间内定位问题,不需要的~
- 先恢复服务!除此之外的任何事情可能都是奢望,甚至是干扰。
自建法则 法则长存
不,没有什么法无定法,技术的世界里一定是有法则的,否则你会死得很难看,别指望我来救你,我救都救不赢。 通过本次讲座,我想强调的是,You!Leaders!一定要通过层层叠加的“Rules”建立起本能反应,一遇到类似的事情,应激般的就知道该怎么设计,怎么行动,怎么救火。 而这些“Rules”是经历了血与火的洗礼铸造的,每一条都有来由有去路。 比如说,我在2018年定义的 DevOps 新八荣八耻,每一条都是血肉长城:- 以随时可扩容、可缩容、可重启、可切换机房流量为荣,以不能迁移为耻。
- 以可配置为荣,以硬编码为耻。
- 以系统互备为荣,以系统单点为耻。
- 以交付时有监控报警为荣,以交付裸奔系统为耻。
- 以无状态为荣,以有状态为耻。
- 以标准化为荣,以特殊化为耻。
- 以自动化工具为荣,以人肉操作为耻。
- 以无人值守为荣,以人工介入为耻。
原文链接:https://www.cnblogs.com/zhengyun_ustc/p/12728998.html
如有疑问请与原作者联系
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
- jdk各个版本下载 2020-06-11
- 我被炒鱿鱼了 2020-06-06
- 秒杀系统必须考虑的 3 个技术问题! 2020-06-05
- 最新四面京东拿offer回来分享面试经验总结(技术三面+HR面) 2020-06-04
- 微服务平台技术架构 2020-06-02
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash
