Googleを支える技術


Googleを支える技術 ?巨大システムの内側の世界 (WEB+DB PRESSプラスシリーズ)

Googleを支える技術 ?巨大システムの内側の世界 (WEB+DB PRESSプラスシリーズ)


大学時代の友人に薦められた本です。読み終えました。文字通りGoogleで使われている検索技術の裏側の解説本ですね。単純に想像しただけでも、その裏側ではものすごくたくさんのサーバが同時稼働し、すごいスピードでHDDが壊れていくんだろうなというが想像がつきます。いやはや・・これは分散サーバの仕組みの最高峰を拝めるいいチャンスだな・・とわくわく感で読んだわけなんですが、内容は・・・


「あまりに規模がでかすぎて、仕事でこのレイヤで作業する機会が出てくるとは思えん!」


って感じ(ぉ


内容を全く理解できないっていうわけではないが、内容はもはや「検索」というものに対して極限まで最適化されており、汎用的なサーバ開発への応用するのは厳しいってことと、最大性能ではなく電力性能比というレイヤまで入ってきてしまっている点が、なんとも1ソフトウェア技術者としては、現実とはだいぶかけ離れてる感じがする。


・・とはいえ、運用コストを一番の軸に据えたソフトウェア開発っていうのは、単純に美しいコードや設計という言葉では表現できない一本の揺るがない軸だという意識は俺にもある。特に、サーバ故障や稼働率といった外的な運用コストだけでなく、開発者どうしのコミュニケーション、管理から付随する内政の運用コストについても徹底したアプローチをしているという実態は非常におもしろかった。

  1. 1週間以上要することは、なんであれ設計ドキュメントを要求される。
  2. 自分が選んだ第一、第二レビュワーからフィードバックを受ける必要がある。
  3. Googleでは意味のあるコードはどんなものであれ、その内部構造について書かれたほとんど本のような資料があり、しかもそれが非常によく書かれている。


こういうルールって口で宣言するのは容易いんだけど、実際に達成するのは簡単ではない。会社側も社員も全員が一致した企業文化を根付かせないといけない。世の中要求しただけですべてがうまくいくなんてことはありえないしね。


やっぱ、ドキュメントはちゃんと人が理解できる形で書かないとだめだな・・と一応反省しておこう(笑)もっときれいに書くよう修練してみるか。