闲言碎语
一晃一年又是过去了,这个新年,全球疫情再创新高,圣诞节后美国单日新增更是直接突破 50 万直逼 60 万大关,国内也有西安管理不力导致民众忍饥挨饿。
新冠已经两年多了啊。
言归正传,今年年初从 W 公司离职后,我非常幸运地进了现在的公司,在融入新公司的过程中也是五味杂陈。
不过总体结果我自己还是挺满意的,目前工作已经步入正轨,也在新公司发现了非常多的机会。
一些重要事情还是没怎么想通,不过毕竟风口上的猪都能飞,今年小小努力了一把,大部分时间仍然随波逐流,却也渐入佳境。
生活
- 加入了我司的冲浪小分队,第一次冲浪、海边烧烤
- 跟两个堂弟一起穿越深圳东西冲海岸线,风景非常棒,不过路上也是又热又渴
- 定期团建,跟 SRE 小伙伴公款吃喝,今年下馆子次数估计是我去年的七八倍
- 又买了双轮滑鞋,学会了倒滑、压步转向,复习了大学时学过的若干基础技巧
- 今年只看了一部电影——《寻龙传说》,片尾曲超好听。
- 各种巧合下,意外发现初中同学住得离我 1km 不到,在他家吃了顿家乡菜,还有杨梅酒,味道非常棒!还有回甘强烈的城步青钱柳茶,让我念念不忘。
读书
- 年初辞职后游山玩水,心思稍微安定了些,看了大半本《走出荒野》。
- 6 月份社区组织打新冠疫苗时,在等候室看了本《青春驿站——深圳打工妹写真》,讲述八九十年代打工妹的生活。很真实,感情很细腻。
- 年末二爷爷去世,参加完葬礼后,心态有些变化,看完了大一时买下的《月宫 Moon Palace》,讲述主角的悲剧人生。
- 其余大部分业余时间,无聊,又不想学点东西,也不想运动,于是看了非常多的网络小说打发时间。
音乐
年初辞职后,练了一段时间的竹笛跟蓝调口琴,但后来找到工作后就基本沉寂了。
总的来说还是原地踏步吧。
工作与技术
回看下了 2020 年的总结与展望,今年实际的进步,跟去年期望的差别很大。最初的目标大概只实现了 10%,但是接触到了许多意料之外的东西,总体还是满意的:
- 熟悉了新公司的文化与工作方式,这感觉是个很大的收获,我的工作方式有了很大的改善
- 接触并且熟悉了新公司的 AWS 线上环境
- 负责管理维护线上 Kubernetes 管理平台,第一次接触到的线上集群峰值 QPS 就有好几万。从一开始的小心翼翼,到现在也转变成了老手,这算是意义重大吧
- 使用 python 写了几个 Kubernetes 管理平台的服务,这也是我第一次写线上服务,很有些成就感
- 参与 AWS 成本的分析与管控,有了一些不错的成果
- 学会了 Nginx 的简单使用,刚好够用于维护公司先有的 Nginx 代理配置。
- 随便写了几个 go 的 demo,基本没啥进步
- 学了一个星期的 rust 语言,快速看完了 the book,用 rust 重写了个 video2chars
- 学习了 Linux 容器的底层原理:cgroups/namespace 技术,并且用 go/rust 实现了个 demo
- 学习了 Linux 的各种网络接口、Iptables
- 熟悉了 PromQL/Grafana,现在也能拷贝些 PromQL 查各种数据了
如果要给自己打分的话,那就是「良好」吧。因为并没有很强的进取心,所以出来的结果也并不能称之为「优秀」。
技术方面的感受
- Istio 服务网格:体会到了它有点重,而且它的发展跟我们的需求不一定匹配
- Sidecar 模式的成本太高了,在未调优的情况下,它会给服务带来 1/3 到 1/4 的成本提升,以及延迟上升
- 比如切量权重固定为 100,不支持 pod 的 warm up,而它重点发展的虚拟机支持我们却完全不需要
- 一直在思考是持续往 Istio 投入,还是换其他的方案
- 服务网格到底该做成什么样子,我还并不很确定
- Cilium 推出的基于 eBPF 的 Service Mesh 是一个新趋势(它使用高级特性时会退化成 Per Node Proxy 模式),成本、延迟方面都吊打 Sidecar 模式的其他服务网格,是今年服务网格领域的大新闻。
- 我们曾尝试使用中心化网关来替代 Sidecar 以降低成本。但是跨区流量成本、HTTP/GRPC 多协议共存,这些都是挑战。而且这也并不是社区的最佳实践,现在我觉得维持 Sidecar 其实反而能提升资源利用率,我们的集群资源利用率目前很低。如果能把控好,这部分成本或许是可以接受的。
- K8s 集群管理方面,觉得集群的升级迭代,可以做得更自动化、更可靠。明年可以往这个方向靠拢。
- WASM 与 Rust 蓬勃发展,未来可期
- 成本控制方面,体会到了 ARM 架构以及 Spot 竞价实例的好处
- 跨区流量成本有很大的潜在优化空间
- 今年各云厂商故障频发,没有跨 region 的服务迁移就会很难受,需要持续关注下 karmada 这类多集群管理方案。
- Google 账号系统宕机
- Fastly CDN 故障
- Facebook 故障
- AWS 更是各种可用区故障,12/7 的故障导致 AWS 大部分服务都崩了。因此我们 SRE 今年经常是救各种大火小火...
2022 年的展望
今年的展望写得更聚焦一些,争取能实现 50%,就是很大的突破了。
- 熟练掌握 Go/Rust 语言,并用于至少一个项目中
- 深入学习如下技术
- Kubernetes 源码
- 网络技术
- 服务网格 Istio
- 代理工具 Envoy/APISIX
- 网络插件 Cilium + eBPF
- AWS K8s 成本与服务稳定性优化
- 节约跨可用区/跨域的流量成本
- K8s 新特性:Topology Aware Hints
- Istio: Locality Load Balancing
- 实例类型优化:
- 使用更合适的实例类型
- 使用 ARM 架构机型,降本增效
- 推广 GRPC 协议
- 打通本地开发环境与云上的运行环境:
- 探索新技术与可能性(优先级低)
- 基于 Kubernetes 的服务平台,未来的发展方向
- kubevela
- buildpack
- 是否应该推进 gitops
- openkruise
- Serverless 平台的进展
- Knative
- OpenFunction
- 跨集群的应用部署、容灾
- karmada
- 基于 Kubernetes 的服务平台,未来的发展方向
2021 年初朋友与我给自己的期许是「拆破玉笼飞彩凤,顿开金锁走蛟龙」,感觉确实应验了。
今年我希望自己能「更上层楼」,一起拭目以待吧~