2021 年年終總結
阿新 • • 發佈:2022-01-06
閒言碎語
一晃一年又是過去了,這個新年,全球疫情再創新高,聖誕節後美國單日新增更是直接突破 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 年初朋友與我給自己的期許是「拆破玉籠飛綵鳳,頓開金鎖走蛟龍」,感覺確實應驗了。
今年我希望自己能「更上層樓」,一起拭目以待吧~