|那个写脚本的架构师,被开除了...
我对 Linux 非常的精通 , 尤其是脚本语言比如 sed、awk、python 等 , 用起来更是炉火纯青 。
本文插图
图片来自 Pexels
我把它作为自己一个非常特立独行的技能 , 一个和其他普通程序员区别开来的技能 。
所以在我写脚本的时候 , 我都会自豪的抬高我的头 , 鼻孔朝天冥思精悍的 code 。
比如 , 看到别人一遍遍的翻文档安装 Elasticsearch 这个软件 , 我就浑身难受 , 写了脚本来加快这个过程:
mkdir /datauseradd es -d /data/eschown -R es:es /datacat > /etc/security/limits.conf <
这种脚本能够让我快速知晓软件安装的要点 , 不需要再读那些冗长的文档 。 像这样的事情 , 我总是在做 , 久而久之 , 搞的自己好像很闲一样 。
这几天看到小王一直在那里捣鼓 Excel , 这些数据他已经处理了好几天时间了 。
客户需要从其他平台迁移到我们的平台 , 导出了一堆烂七八糟的数据 , 大概有三四十 MB 的样子 。 不知道怎么回事 , 清洗数据这个活儿 , 就落在了小王身上 。
文件很大 , 公司的电脑很烂 。 小王打开之后 , 电脑的风扇就呼呼直转 。 他每次都需要使用 ctrl+f 找到不太正常的数据 , 然后把它么拷贝到另外一个文件中 。
数据多 , 工期紧 , 昨天晚上 , 小王就加班干到 23 点多 , 直到夜的尽头 。
总监对此专门进行了表扬 。
本文插图
我坐在小王的旁边 , 自然不能对此坐视不理 。 常年养成的习惯 , 让我对低效的事情无法忍受 , 就如同一只常年奔跑的兔子忍受不了缓慢爬行的蜗牛 。
只扫了一眼小王的需求 , 我就判定这个工期三天的任务 , 使用脚本只需要 2 个小时就能完成 。
我并不是乐于助人 , 实在是我非常的喜欢写这种脚本 , 还有脚本带来的这种速度差异的快感 。
一个小时之后 , 我把调试好的 Python 脚本交给小王 。 Shell 里一运行 , 正确的文件就出来了 。 好爽的感觉 。
小王自然对我拜服 , 逢人便吹我如何牛 X 。
这个事情不知怎么就被总监给知道了 , 我被叫进了宽大的办公室 。 看到总监一脸阴沉的脸 , 我知道事情不妙 , 但并不知道症结所在 。
我刚入职这家公司 , 应该没有在不经意间触碰了不该逾越的底线 , 我的心中充满了迷茫 。
“听说你帮小王解决了个问题“。 总监说 ,“以后少写这样的东西” 。
“为什么?“ 我仿佛不太相信自己的耳朵 ,“脚本能显著的增加工作效率” 。
“就知道你会有这样的疑问 。 ”总监严肃的脸缓和了下来 , 和我讲了一个架构师的故事 。
小宋曾经是这家公司的架构师 。 有很多三脚猫的架构师并不写代码 , 所以小宋成为了能码字的稀缺架构师 。 他的一个绝活就是写脚本 , 就像我现在干的事情一样 。
脚本能增加效率 , 这是我多年的经验 。 但效率这两个字本身 , 就根本无法衡量 。
所以效率这两个字 , 无法被量化 。 即使你把工期从 3 天缩减到 2 个小时 , 那也不见得你的效率高 , 因为这只是零散的琐事中的一个小插曲 , 你省下的时间还是去摸鱼 。
你的这些效率 , 打破了正常的研发周期 , 也断送了想要拼搏的同学的梦想 。 所以 , 增加效率, 这种有实际功效的做法并不能登上大雅之堂 , 只能在小圈子里乐呵一下 , 最后只会变成一个口号 。
小宋的脚本第一次是用在一个线上事故的处理上 。 当时 , 程序有一个 Bug , 数据库和缓存中一部分数据错乱 , 产生了不一致的情况 。 由于缓存分布在 20 多台机器上 , 就不能使用把所有缓存给清掉的方式 。
业务经理很着急 , 经过讨论之后 , 决定开发定时任务 , 扫描所有的缓存和数据库中所有的记录 , 然后修正数据 。 数据量很大 , 程序也需要验证 , 估计修复时间至少需要两天 。
小宋说 , 没那么麻烦 。 你只需要把问题发生期间 , 所有的业务日志给我就可以了 。
接下来的三个小时 , 小宋从日志里过滤出了问题发生过程中所有被更新过的 Key 。
略一思索 , 就使用脚本完成了对这一批 Key 的缓存删除操作 , 非常完美的解决了问题 。
这件事之后 , 小宋就经常被请去写一些脚本来帮助处理疑难问题 。 他来者不拒 , 乐此不疲 。 一切像是向着良性的方向发展 , 直到一次线上的故障 。
公司的几百台机器 , 都是在 AWS 平台上的 EC2 服务 。 使用 EC2 提供的 API , 可以做很多事情 。
但 EC2 的命令实在是太难以理解 , 所以小宋做了封装:
https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/ec2.html
使用这个脚本 , 可以对部分、或者所有的机器 , 进行批量管理(比如加个分组 , 开个权限等) , 就不用登陆到后台做一些管理工作 。 每当小宋看到黑屏幕上流淌的字符 , 他就想 , 这就是效率的魅力 。
脚本非常好用 , 于是得到了分发 。 有一个运维拿到了这个脚本 , 鬼使神差的想要在线上验证一把 。
他向所有的机器发送了关闭命令 。 公司立马就炸了锅 , 扯皮的事是难免的 。 但最后的矛头指向了小宋 。
脚本是他写的 , 但他首先是一个架构师 。 一个架构师 , 可以不写代码 , 可以不出成绩 , 但必须要有风险意识 。
可这些命令 , 并不是我提供的 。 这是 AWS 平台提供的东西 , 我对此什么都没有做 。 去测试这些命令 , 和用不用这个脚本没有关系 。 小宋争辩 。
但命令确实是通过这个脚本发送出去的 , 也确实造成了后果 。 背后那些千回百转的曲折关系 , 没人会去研究 , 也没人会关心 。
那些平常享受小宋脚本的同学 , 此时也是默不作声 , 因为这种责任问题 , 如同效率问题一样 , 都是虚张声势 , 并没有明确的结果 。
这种事情 , 小宋也是体验过的 。 比如提供了 Redis 脚本 , 有人就喜欢运行 FLUSHALL 命令;提供了 Docker 命令 , 有人就喜欢调用 docker purge 去做清理 。 这根本控制不住 。
他认为 , 这是使用者的水平问题 , 而不是他的脚本问题 。 与总监吵了几架之后 , 小宋最后一气之下 , 愤而离职 。
他直接删掉了这家公司所有人的好友 , 消失了 。
“所以 , 我是对你好 , 才会和你提这样的要求 。 比起风险来 , 这点效率带来的提升 , 真的是微不足道” 。
讲到这里 , 总监意味深长的看着我 。 “我现在就是及时的制止你的行为 , 免的步小宋的后尘” 。
我点点头 , 这个道理我懂 。 之前有家公司 , 就因为觉得 Linux 的学习成本大 , 命令危险 , 就选择了 Window 系统做服务器 。
宁可难受、付钱买授权、当 2B , 也不敢越雷池一步 。 拿着风险两个字挂在嘴边 , 这些道理都是一样的 。
我突然觉得 , 这么多年我的信仰就要崩溃了 。 花了那么大的力气 , 把命令行学精 , 到最后落到个学无所用 , 真是悲哀 。
“总监 , 不好了......正在我想要表达些什么的时候 , 有个小伙子闯了进来 ,“线上有人使用 Ansible 练手 , 把根目录的权限全部改成 000 了!”
本文插图
我的脑子里立马出现了这样的命令 , 这次锅是 linus torvalds 的了 。
chmod -R 000 /
谁知道总监笑了 。 “你刚来 , 不了解这里的情况 。 这个月已经发生好几次这样的事了 。 是时候换安全可靠的 Windows 了 , 我认识采购的人 。 ”
我微笑着点头 , 不置可否 , 但虚心受教 。 我灰溜溜回到自己的工位 , 长叹一声 , 删光了公司所有的人 。
今天就提交辞呈吧 , 毕竟 , 公司是找不到 linus torvalds 的 , 但能找到我 。 毕竟 , Ansible 这个工具 , 是我前几天刚给推荐的 。
所以 , 如果架构师是你 , 你会留下什么脚本呢?
作者:小姐姐味道
简介:一个不允许程序员走弯路的公众号 。 聚焦基础架构和 Linux 。 十年架构 , 日百亿流量 , 与你探讨高并发世界 , 给你不一样的味道 。
编辑:陶家龙
【|那个写脚本的架构师,被开除了...】出处:转载自公众号小姐姐味道(ID:xjjdog)
推荐阅读
- 美国_军事|那个帮美国破解北斗卫星的清华才女高杏欣,13年过去了,近况如何
- 保罗·狄拉克|为什么物质比反物质多?
- 列夫·达维多维奇·朗道|他是诺贝尔奖得主,遭遇车祸后变回普通人,自己写的论文都看不懂
- 广西国际壮医医院|奇迹!深度昏迷4个月,少年苏醒后写下“好好活下去”
- 地球|教科书将被改写?科学家在地球深处发现了新结构,组成尚不明确
- 医生|医生写出一份加薪申请,主任看后连夜签字批准
- 伦理学|神经伦理学十五年
- 地球|450种蝴蝶命运被改写,地球巨变正悄悄发生,人类真的要警惕了
- 中国天眼|那个救了“中国天眼”科学家的直升机,是哪来的?
- 地球|地球中心发现巨大神秘结构,将内核又分两层,教科书或将被改写!
