2023年に読んだ本

thumbnail

転職ドラフトからオライリーの本たくさんもらったので欲しかったやつとりあえず全部読んでみた。

<pr> 紹介コード RVSC を使うとお互いにもらえるので気になる人は是非。 https://job-draft.jp/sign_up?utm_term=RVSC </pr>

オブザーバビリティ・エンジニアリング

良い本。トレーシングやOpenTelemetryの本と思って買っていたが、実際はオブザーバビリティを確保するための色々な手法を紹介している。そのような手法が発達するまでの歴史の流れの解説も面白かった。従来のメトリクスとモニタリングだけでは現代の分散システムのデバッグが困難ということで、 オブザーバビリティ・エンジニアリングを導入する上での説得に使えそうな文言がたくさん散りばめられている。その手法の一つが、そもそも問題が起きてからデバッグのためにデバッガを挟み込んでデプロイしたくないという問題のためにどういうテクニックが使えるかということが紹介されている。

この本はよく読者に「オブザーバビリティがあるか?」を確かめるセルフチェックの質問をよく挟んでいて、その中にあった「あなたのチームで最高のデバッガーは一番勤務年数が長い人ですか?」という質問が良かった。これは「従来のログやメトリクスでもデバッグできるけど、それは色んなことを経験しているからであって、年長者しかできないよね」というのを確かめる質問だ。現代はいろんなものが分散しているせいで、エンドユーザーが出会ったバグの原因を探すのは難しく、どこを調べたらいいか分からないという特徴があって、そういった未知の未知に対処する方法を考えなければいけないと深く納得した。一番の年長者ではなく、一番好奇心の強いエンジニアがデバッグで大活躍する環境を整えなければいけない。

ただ、この本でもログやメトリクスといった従来の手法を否定するわけではない。実際 Telemetry(元の意味は遠隔測定法という意味らしい)を構成するのは メトリクス、イベント、ログ、トレース(M.E.L.T.)で、最新のオブザーバビリティは、互いに補完し合うらしい。(https://newrelic.com/jp/blog/best-practices/what-is-modern-observability)

otel が流行っているので trace についてがっつり解説されているが、それ以外の手法や落とし穴について満遍なく解説されていて、オブザーバビリティ・エンジニアリングをやるための最初の一冊という感じだ。

詳解 Terraform

とても実践的な本だった。

いわゆるシークレットの扱い、複数環境に適用するためのモジュール分割方針の解説など、実務向けのテクニックが盛りだくさんで嬉しかった。いつも用意してもらった開発フローの上でしか書いていないのでこういう知見は嬉しかった。なので自分のような初心者向けな本だと思った。

本番の知見としては、「すでに主導管理されている組織に段階的に入れていく」「誰かがGUI手動で設定をいじった時どうするか」「ステートがふっとんだときどうするか」についてもカバーされていて欲しかった。

あと、最初の章の他のIaC比較や、IaCの歴史を辿る話が面白かった。いきなり Terraform から入った自分にとっては楽しい考古学だった。

Kubernetes で実践するクラウドネイティブDevOps

Docker や k8s が何かをある程度知っていたり、理解せずとも職場で使っている人が、既存の k8s 基盤を理解したい・拡張していきたい人への最初の一冊という感じだった。

k8sそのものの解説、Deployment yaml の書き方から始まり、シークレットの管理やデプロイ方法までカバーされている。あとは Helm や Istio や Kustomize のような周辺ツールも一通りカバーされていて、良かった。この辺の全体感を自分はわかっていなかったし、どうして必要かわかっていなかったので、そういう答えが得られたのは良かった。

この本を読んでから最近はGKEで自分用のクラスタを作って遊んでいるのだが、GKEで実際に始める方法(設定項目多すぎマジで分からん)や GitOps の実践まで踏み込んで欲しかった気持ちがある。

マイクロサービスアーキテクチャ

2023年はマイクロサービス分割やサービス統合の仕事をすることになった + なぜか自分に知見を求められるという状況があったりして、勉強しなきゃと思って購入。

これは正解を学ぶというよりパターンを学ぶという本だった。というのもアーキテクチャに正解はないと思っているからだ。ただその引き出しの数を増やしてくれる本ではあった。一冊持っておくとよいと思う。

その他

他にも書こうと思ったけど、今から忘年会なのでここまで。あと読んだのは

かなぁ。

積んだ本

  • プロダクトマネジメントの全て
    • プログラマー以外のキャリアを考える過程で読んでみようと思って購入。したけどプログラミング忙しくて読めていない。
  • エンジニアリングマネージャーの仕事
    • プログラマー以外のキャリアを考える過程で読んでみようと思って購入。したけどプログラミング忙しくて読めていない。
  • Go言語100Tips
    • ISUCON対策でGo勉強してたので買った。4tips くらいしか読めていない。
  • 詳解 システムパフォーマンス
    • ISUCON対策でパフォチュー勉強してたので買った。けど低レイヤーレベルでのチューニング以前のボトルネックが潰せていなかったので、途中で読むのやめた。章ごとにまとめというかテスト的なのがあって、そこを目を通すだけでも勉強になる。というか自分何もわかっていないことが明らかになる。
  • SQLアンチパターン
    • ISUCON対策で買った。けど、スロークエリ回避とN+1の解消方法を身に付けたかったのだが、読んでみたらあまりその目的にはあっていないことに気づいて積んでしまった。