一转眼2020年就要过去了,依然记得12月初有人在朋友圈里发了这样一条状态更新:

“距离迈进2021剩下不到一个月!”

我当时在想,大家应该都对于2020年都已经不再抱有希望,不再发“12月请善待我”之类的状态,而是直接呼唤“2021年”。

不用多想,2020年大事件的密度应该是前所未有的,我们的感官每天都被这这爆炸的信息量刷新着,如此魔幻的2020让我们见证了多少历史上的第一次。如果要为2020年做一个时间胶囊,里面应该放些什么?口罩?健康码?新冠疫苗?科比的球衣?打工人?月球土壤?

真的要我回答2020的话,我的关键字会是「波折」。

早在1月份的时候,在美国的大舅就提醒我们要注意武汉流感的发展,当时觉得也没有什么,反正对于在家工作这件事情也不排斥,甚至对自己的“独处”经验也是十分自信,对于可以自由支配的时间从来都是安排得明明白白。没想到一语成鉴,疫情的发展远远超出预期。到了3月份初,蔬菜水果也出现了供不应求的状况,每次都需要预约抢购,口罩价格不止水涨船高,关键是很难抢购得到,于是3月份出行受到了严重的限制。无奈最终只能求助于大舅从美国邮寄一批口罩回来,然而,等到口罩寄到国内的时候已经到了4月份,那是的疫情已经有所缓和。

也正是从3月份开始,不争气的智齿开始发炎,情况逐渐开始恶化,每天晚上都感觉有个电钻一直在钻腮帮子,太阳穴扯着神经痛,疼到无法集中化注意力思考,当时的精神状态蔫到极点。但是当时因为疫情原因不方便跑去医院,于是咬着牙坚持到了6月,医生看到拍的片子之后都觉得难以相信我坚持了那么久,最终把掉智齿也就用了不到5分钟(介于画面过于血腥,图片就不放出来了),但是整个人终于解脱了出来,瞬间感觉风轻云快。

然而,就当我以为这一切就像疫情开始好转的时候,没想到又被现实的巨浪无情地拍打。拔过智齿之后本想休几天假,不巧的是,时间点正好赶上另外一个产品组 Q2 的发布。这里有些背景需要解释一下,我们组所有云原生产品在 Q1 就率先完成了全面拥抱 Operator 的部署安装模式,也开始使用 OLM(Operator Lifecycle Manager) 与我们自研的 ODLM(Operand Deployment Lifecycle Manager) 来管理所有云原生产品的生命周期。这是一个非常重要的新特性,这意味着所有依赖于我们组云原生产品的上层产品都必须遵循相同的模式。于是我被临时抽调过去辅助他们完成 Q2 的发布版本。本来以为不会太艰难,但是他们产品组的混乱程度远超我的预期,6月份的产品发布被拖到7月底。在这期间打破了我在公司期间最长的加班记录,产品 upload 的前几天我后背开始出现过敏症状,我咬着牙坚持到了产品正式 GA 后的第一个周末去医院检查,才发现自己的了过敏性皮炎。

说实话,我此前一直对于自己的身体状态很有自信,周末高强度的打几个小时的球都轻轻松松,每天的运动量不够都不会上床休息,虽然偶尔饮食不规律,但从来没有出现过如此疲惫不堪的状况。现在,我要开始认真思考如何“养生”,到了这个年纪,是不是喝啤酒、吃冰淇淋都想放两粒枸杞?

回到工作,今年能够参与开源社区的时间明显减少了很多,这从我的 Github 提交历史就可以看出来:

gitcommit-2020.png

主要原因是公司产品策略的变化,我自己也要跟着调整,以前注重的开源方向被挤压得基本没有了空间。这直接导致我在 istio 社区的活跃度明显降低,去年基本可以全勤参加 istio 社区 ENV WG 的夏令时周会,今年参加的次数屈指可数。但是,我也花时间接触了不少开源项目,包括迁移并成规模地开始应用 k8s 原生 CICD 系统 Prow,接管了目前已经开源的全部 Common Services 项目与部分 IBM MCM 项目的构建流水线,同时增加了 Prow 多平台构建的能力使之适应 IBM 的云原生产品构建目标。另外,年中的时候因为另外一个产品组的需求,使得我有机会深入了解 Kong API网关的功能与实现,还有它与其他 API 网关在用户场景上的区别,我甚至花了一段时间调研了 k8s 生态圈内的各种主流 API 网关的应用场景与实现细节,但是不久便被叫停。

2020年,光怪陆离,有人见尘埃,有人见星辰,虽然这一年之于我始终都是乱糟糟的,自己好像什么也没做好,尤其在这兵荒马乱的12月。但是新的转机已经暂露头角,希望这2020年所有的鸡毛蒜皮换成2021年的风和日丽。最后,以一句话祝福自己能在2021年“牛”转乾坤:

前路浩浩荡荡,万物皆可期待