1. 程式人生 > 其它 >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 年初朋友與我給自己的期許是「拆破玉籠飛綵鳳,頓開金鎖走蛟龍」,感覺確實應驗了。

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