2021 年年终总结

2021 年年终总结

独立博客:https://ryan4yin.space/posts/2021-summary/

闲言碎语

一晃一年又是过去了,这个新年,全球疫情再创新高,圣诞节后美国单日新增更是直接突破 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%,就是很大的突破了。

  1. 熟练掌握 Go/Rust 语言,并用于至少一个项目中
  2. 深入学习如下技术
    1. Kubernetes 源码
  3. 网络技术
    1. 服务网格 Istio
    2. 代理工具 Envoy/APISIX
    3. 网络插件 Cilium + eBPF
  4. AWS K8s 成本与服务稳定性优化
    1. 节约跨可用区/跨域的流量成本
    2. K8s 新特性:Topology Aware Hints
    3. Istio: Locality Load Balancing
    4. 实例类型优化:
      1. 使用更合适的实例类型
      2. 使用 ARM 架构机型,降本增效
    5. 推广 GRPC 协议
  5. 打通本地开发环境与云上的运行环境:
    1. nocalhost
  6. 探索新技术与可能性(优先级低)
    1. 基于 Kubernetes 的服务平台,未来的发展方向
      1. kubevela
      2. buildpack
      3. 是否应该推进 gitops
      4. openkruise
    2. Serverless 平台的进展
      1. Knative
      2. OpenFunction
    3. 跨集群的应用部署、容灾
      1. karmada

2021 年初朋友与我给自己的期许是「拆破玉笼飞彩凤,顿开金锁走蛟龙」,感觉确实应验了。

今年我希望自己能「更上层楼」,一起拭目以待吧~

上一篇:排序算法2


下一篇:AWS 15年(2):云原生兴起