@Lenciel

校友杯漫记(1)

1

母亲节这个周末,回了趟玉泉,踢球。

120 周年校庆,比赛办得隆重。

罗主任提前交了篇好像是在泡我的“球队介绍”,然后把总结的任务留给本座。

这当然是占我便宜。

三十几度,一天连踢四场,别说皮肉,脑花儿都化成了灰,还写得出个毛线。

歇到今天,生活勉强能够自理。

趁着没忘,先记下些流水账。

2

我和陈禹、黄科两位师兄,周五下午从成都出发,到了已是傍晚。

出了萧山,直奔饭局。

雨过天晴,落日余晖。

开进市区,没过黄龙,天就黑了。新桥门,小桥门,正大门,在夜色里淡淡地立着。

几十米后,车头一拐,顿时灯火通明,这就进了青芝坞。

接下来两天,我们吃住都在这里。

其实青芝坞以前就是吃住的地方。

主巷两边都是餐馆,特色居然是各种麻辣。

有些同学来吃,或许觉得挺有特色。以四川人的标准衡量,水准就比较一般。

但因为近,性价比也不错,当年常来。

所以知道青芝坞更主要是住的。

将近两百户农家,都有楼有院。

一个人租的一般是发了狠备战考研的。 两个人租的一般是拼了命享受爱情的。

当年这些浙大学生制造的地动山摇的快活声响,对苦哈哈还没有考上的人的鞭策作用,想必超过了各种科学理论。

但处在西湖周围,哪能有价值洼地。终于被翻了新,做起民宿经济,小小的一间房也要三四百块一晚了。

青山隐隐水迢迢,玉人何处教吹箫。

3

到了一会儿,靠着禹哥的充电宝,开了机。

微信里,已经有两三群人,开了饭。

赶紧找到住处,放了行李。发现螃蟹在楼上,就捡了他,去吃饭。

雨还没干,巷子显得光滑。

螃蟹叹了口气,“还是这里的姑娘光滑啊”。

我赶紧把眼睛从手机屏幕里抢救出来,却已经来不及。

光滑的姑娘顺着光滑的小巷,滑进了转角的暗影里,比暗影还暗。

于是不敢怠慢,一边联系组织,一边东张西望。

有咖啡店挨着甜品店,有面包店接着蛋糕店。

它们都卖龙井。

还有个面馆,黑板上画着油泼面和小笼包,却关着门。

大概只卖早餐,明天可以试试。

所有的店,招牌都还新着。清一色无衬线字体,铿锵有力,放眼望去,像在听法官宣判,木槌把字一个个敲到脑袋里面。

就要拐上主巷时,我有些怕,担心看到端了吉他卖唱的歌手,或是义乌产的小商品悬满街头。

好比是回老家,会青梅竹马颇有好感的美少女,却见她偷了母亲的口红,涂得狰狞:虽不忍心责怪,却也喜欢不起来,只剩惋惜。

这算是中国搞这种商业街的通病吗?

前段时间看各种神经科的书,发现 evolution 好像被统一翻译成演化而不再是进化。

大概学界觉得,进化的“进”,有单调递增的含义,而自然的变化并非如此单调。

其实人为的改动就更是如此:很多时候,新不如旧,这是常识。

可惜从近代开始,我们就以革命为好,以除旧为妙。到我党打下江山,在中国前面也要加个“新”字,于是这样一来就拿到比旧的要好的证据,拆什么都特别理直气壮。

4

拐上主巷,果然是焕然一新。

但并没有人在默默地用刀叉划拉芝麻菜或是牛排。

仍然是水煮鱼,小龙虾,卤鸭头,炒螺蛳。

仍然有咬着烟头炒菜的厨子,仍然有借着酒劲要搂成一团的食客。

仍然喧哗吵闹,灯红酒绿。

陌生的城市,熟悉的角落,真好。

中华文明本来就贵在有热腾腾的世俗眼,才能在四大文明里硕果仅存,熬到今天。

“世”可见其大,“俗”更道尽了它的五花八门,花样繁多。

可是文化总归需要土壤,中国的世俗文化,土壤是几千年农耕社会。土壤没了,文化就变成了技能,进入非遗保护名单,由专人学了,拿出来操练和表演。

所以能让学徒交几万学费,还被自己一个推手送出十几米远的太极拳师,难免错误地认为文化还在。

似乎还在,其实早不在了。

挨了揍还要挨骂,也不要觉得委屈:别人是在技能层面较真,你究竟能不能打。

当然,打人的以为中国有了纯粹的商业文化,单凭技能就可以大大方方逞强,也是没搞懂武林。

咱们不是美国,能让暴发户做总统。

天朝的暴发户,办公室里面不挂一幅“难得糊涂”,自己都觉得害臊。

5

脑子里跑着马,脚下也快起来。

很快就走到约定的汇合处,段鹏师兄也到了。我们却找不到吃饭的地方,只好让冯剑来引路。

原来就在街对面,我抬头看招牌,“舒安”。

应该是先开旅馆,再有餐馆,不然这名字有些像这顿吃完,就要集体去安乐死。

包厢里,张鹏、刘坚、邢燚和金孝都到了。

这都是当年信息学院足球队的台柱。

冯剑是大厂子弟,踢球有童子功。但他和我的缘分不仅在球场。因为被我召唤到控制系,他才有了陈曦老师这样的好老板。因为被我召唤到毽球版,他才有了董 biu 这样的好老婆。

如今他定居杭州,有了一儿一女,在杭氧集团,继续实践控制科学。

平时还读书练字,继续实践控制自己。

张鹏,大概是因为在东莞电信工作,比以前更沉稳了。他司职右后,场上队长,生活里和球场上挺像。话不多,很低调,但明眼人能看出,他忙前忙后,踏踏实实。

生活里他是恒久的温柔,球场上他面对对方进攻,却常常会怒喝一声,才拦腰断下。

刘坚,大概是因为在东莞电信工作,比以前更淫荡了。他是左脚选手,司职左后。一口浓重的东北口音,讲起事情来荤素不避,自带捧哏和逗哏双重技能,他在,欢乐就在。

每次他说自己是小弟时,脸上都是“我不做大哥好多年”的表情。

邢燚比读书的时候瘦了一圈,因为心脏加了支架,本不打算来,被我们硬拉到队里做门将。他球风硬朗,能攻善守,因为显而易见的原因,我们叫他四火。

那时在信息,后腰的搭档不是黄恒就是四火或者李杨,好幸福。

金孝,杭州本地人,是左右脚射门技术都很棒的前锋。当年有场球我三脚中场附近的长传,他都是不等皮球停稳,就拉弓放箭,直挂死角,让观众惊为天人。

后来我看拜仁的穆勒踢球,那甩手甩脚的样子,常想起他。

一桌人不需要我暖场,就聊得热络起来。过了一会儿,老鸭带着一黑一白,过来聊天。

原来明早的对手们,就在隔壁。

我在浙大过的第一晚,就睡在老鸭床上。他在谁的床上,已不可考,于是我们研究了一下他和小黑谁在浙大呆得更久。

小黑变壮了,看来在绿城没少给自己开小灶。有了他加入,刘坚只用逗哏了。

逗得很湿润,像私房二人转。

白得那个,是他们的中后卫,钱嘉琪。

6

聊着聊着,去看望猫的罗主任推门进来了。

场面应该很缠绵,胸口挂满了毛,好像白毛女趴在胸口,哭了一宿,留了证据。

邢燚手里的酒开得快了起来。

一黑一白也就起身,帮我们去隔壁捉拿随广州队前来的蔡瑜。

蔡瑜最初踢的是边前卫,因为身体素质好,在校队改了盯人,就再也没有回过边上。

他身材样貌,一点儿没变。说起足球,一双大眼,炯炯有神,像还留着头发的张卫健,在行侠仗义。

人到齐了,张队要排兵布阵。人却太少,无阵可排,差点儿门将都得轮流做。

又聊了会儿,夜就深了。

“明天还得早起,散了吧。”

我站起来,看着这桌人,有种在聚义堂的感觉,很想给每个人都立传。

出了餐馆,又和禹哥去老枪那桌。

这是浙大 40+球星们组的队。岁月如歌,当年长短各异的老枪,如今更是宽窄不一。

但酒量却都很了得。

我不敢久坐,和熟悉的葛峰、宏华、七哥等几位师兄喝了,看着禹哥。

他说,“我再坐会儿”。 他也是老枪。

于是起身,一个人往回走。

酒店门口,有猫守着。斜着脑袋,从头到脚打量了我一番,却没点头放行。

又彷佛在问:去哪儿野了,这才回来。

DevOps

定义

如果你的Manager对着一堆项目指点江山:“我们要在A项目里做DevOps,我们要B项目也做DevOps,哦,还有那个C项目。”

你心里面难免犯嘀咕:“做DevOps是做什么?”

这很正常。

本座见识过的各种DevOps布道,听众们往往不是大腿一拍醍醐灌顶的神态, 而是一脸困惑欲言又止想问又不知道从何问起的样子。

很多公司的DevOps落地就像我们提到的这位Manager,拉一堆人画一个圈,你们来做DevOps,好像就完成了。

从业多年的你已经有经验,所有没法被很好地翻译成中文的术语,都要小心。比如Bounded Context,比如DevOps。

所以你去查,DevOps是什么?

网上有张流传甚广的图:

这张看起来颇有道理的图其实什么也没有说:测试、开发和运维这三种角色的工作,究竟有什么交集,可以被称为DevOps呢?

其实

DevOps从2009年被提出,算是顺势:敏捷流程在大量的公司落地以取代过去的瀑布流程。

实施敏捷流程一个主要的诉求就是尽快发布可用的版本,迭代试错。而当时的业务运维部门(Ops)的工作方式是满足不了这样的需要的。

传统的运维,主要考核指标是业务系统的“稳定运行”。所以他们会制定很多的流程甚至惩罚措施,来规避风险。而且,半夜出事儿了,第一时间被呼起来的是他们又不是开发,所以虽然私下里在机器上开了各种端口通了各种隧道方便自己在三亚休假时,也能把产品数据库的备份恢复,但是他们面对业务方总是“铁面无私”的。

开发当然会抱怨:上线慢啊,对线上系统接触不到啊,查个数据库都要找人啊…

但尽管研发流程“敏捷”了,也没有哪个决策者可以跳出来说运维部门制定出来的九九八十一步的流程可以不走,开发自己部署自己搞就好,因为:

  1. 研发具备运维知识的人确实很少
  2. 出了问题自己要背锅

但因为下面几个因素,造成运维这个环节不得不做出相应的改变:

  1. 云相关的技术日益成熟之后,过去Ops团队需要负责的很多工作都交给了云服务提供商或者内部的基础设施团队
  2. 随着分布式系统的日益普遍,微服务架构等各种把业务系统打散拆小搞自治的实践逐渐成为主流,越来越多的团队要求开发的人必须具备运维的技能
  3. 随着容器等技术的成熟,镜像逐步替代软件包,成为了交付的主体:和软件包不同,它集成度更高(对外暴露的只是ip+端口),包含了配置信息,部署更加方便。随着“基础设施代码化”等工作落地,本地的开发环境和线上环境的差异也更小了,降低了部署工作的门槛

但面对业务运维日新月异的要求,运维工程师(大多数背景是系统管理员)的技能和视野往往是不够的。于是一种折衷的方案:把部署和运维软件的职责从运维团队开放给别的部门,权力下放的同时责任也共同承担,于是DevOps运动就出现了。

到2012年左右John Wills开始卖《Cookbook of DevOps》这本书时,就已经说,DevOps这词包括了:

  • The Agile Infrastructure Thread
  • The Velocity Thread
  • The Lean Startup Thread

所以DevOps不是职称或者工种,也不特指某个具体内容的工作。

Wikipedia说它是文化,Amazon说它是文化,Thoughtworks也说它是文化

文化是需要土壤的,软件团队的文化,生长的土壤主要指:

  • 组织结构
  • 开发流程
  • 技术栈

如果没有相应的土壤,“文化”就只是“文化知识”。拿来对下面的人讲,很难讲清楚,更难落地。

这也是DevOps被很多人反对的原因。

Jeff Knupp觉得这就是在“残杀Developer”,Twitter的基础架构工程师Cindy Sridharan也发文抨击过把它当成一个工种或者工作内容。

所以,因为这些历史原因,即便是你跟头脑很清晰,认识很正确的人讨论DevOps,也需要问一下他/她的重点是指下面三方面的哪个方面:

  • 设施:如何借助基础设施即服务、运维自动化等手段,加快代码部署到生产环境的速度
  • 监控:如何借助日志和监控手段,及时把生产环境的情况反馈到开发团队。
  • 运营:如何借助端到端的埋点、数据采集、分析和可视化,把用户行为反馈到业务

工种的未来

其实在我眼里,DevOps的出现很早。Google在2003年建SRE团队的时候,Ben Treynor就说(我觉得Ben关于SRE的每句话都值得认真去看),这个部门的定义是:

“what happens when a software engineer is tasked with what used to be called operations.”

所以,多看看大公司里面各种职位的演化,对年轻的朋友们开拓视野,规划自己的发展是很有益处的。

但赶时间的同学不妨听我来多嘴几句。

测试

在一线公司特别是互联网公司里面,测试的角色早已经发生变化了。Facebook、Google、Amazon的专职测试人员不断缩减,微软更是把SDET (Software Development Engineer in Test) 和SDE(Software Development Engineer)两个职位合并了。国内也是阿里走在前面,接下来各个龙头企业都在跟进。

为什么测试团队会缩编?因为就目前整个软件研发流程而言,软件工程师需要负责代码、单元测试和集成测试的开发。自测完毕代码提交后,CI上还会有自动化的回归测试,通过之后代码被CD系统部署进行功能验证或者灰度发布。

特别是互联网行业,一方面,要构建一个和生产环境一样的stage环境进行测试非常困难,要把生产环境上的问题测出来难度很大;一方面,整个部署和试错的成本,相对传统的如电信,存储软件这样的平台,相当可控,让用户当小白鼠未尝不可。于是,纯粹进行功能验证的测试团队,规模在不断缩减。而开发测试工具测试框架,CI和CD平台的团队慢慢成为了标配。

如果你是测试工程师,应该从聚焦在功能测试,转变为聚焦在测试工具和框架上了。

运维

先是很多公司效仿Google,把基础设施和运维团队进行了合并,称为SRE。他们的职责包括了构建基础设施,配置管理系统,日志管理系统,容器管理系统,监控等等。

Amazon能够搞出AWS,跟他们内部推崇人人都可以独立地完成编写代码,测试代码,版本管理,部署上线,进行服务监测等任务,从而把整个基础设施乃至整个技术栈都PaaS化了,有很大关系。

所以,随着DevOps运动不断深入,运维需要越来越多的承担起把整个公司的技术栈在开发测试环境和生产环境以PaaS的形式对其他部分交付的工作。

开发

我很喜欢的Esty的CTO,John Allspaw一个采访里面说过,我们不要开发(Developer),我们只要软件工程师(Software Engineer)。

这一句话,就可以抵一万句了。