おひさしぶりです。
今日は自分のメモですがこれから読みたい論文とその理由について記しておきます。ちなみに全てGoogle関連です。開発に関わるものもあれば、インフラ基盤のものもあります。
1. Advantages and Disadvantages of a Monolithic Codebase
Googleでは独自のVCS(バージョン管理システム)があって、それがモノレポで管理されているという話を聞いたことがあります。
大量のGoogle Internalなソフトウェアがあるなかでそれらをどうやってまともに管理してるのかはずっと気になっていたので、これを読んだらなにかわかりそうと思いました。
2. Modern Code Review: A Case Study at Google
コードレビューのプロセスにおいて、モダンなコードレビューがどのようなものであるか、プロセスがどうか進化していったかという内容をGoogleのエンジニアたちのリアルな声とともにわかるような論文のようです。
3. Taming Google-Scale Continuous Testing
アブストを読んでもスコープがあんまり見えなかったのですが、コードの依存性や変更による影響範囲をどうやって継続的にトラックしていくか。テストの制御や結果のフィードバックを効率的に行うための仕組みをどう作っていくかみたいな話っぽいですね。
4. Lessons from Building Static Analysis Tools at Google
多数のエンジニアが使うような良い静的解析基盤を作るために、FindBugsというツールを使ったJavaのコード解析の経験や、アカデミックの世界から得た学びについて説明しているらしいです(アブストそのまんま)
5. Debugging Incidents in Google's Distributed Systems
GogoleではSREに関する本を2冊出していますが、製品におけるインシデント対応は本のベストプラクティスに書かれているような理想的な状態とは異なります。この論文ではリアルなインシデント解析について、効率的にデバッグを行うためのGoogleで使っているツールや、抽象的な戦略から具体的なタスクの組み合わせについて網羅的に書かれているようです。
6. Borg: the Next Generation
かの有名なBorg論文の続き?です。GoogleではBorg関連の論文を3本出していて、これはその3本目になります。(Omegaの論文は実はまだ読んでいないので、合わせて読もうとは思いますが、いまのところこれのほうが興味があります)
実は既にななめ読みはしているのですが、8つのクラスターにおける特性をそれぞれ比較してみたみたいな感じで、そんなに面白い!とは思わなかったのが正直なところでしたが、今見直してみたら「New Borg features and trace properties」とか「 Vertical scaling」についても言及されていたので、もうちょっと読んでみようと思いました。
7. Borg, Omega, and Kubernetes
Borg関連の論文の2本目がこれです。ちゃんと読んだことがないので、一応忘れないようにメモ。