『Webエンジニアが知っておきたいインフラの基本』読んだ

Webエンジニアが知っておきたいインフラの基本 ~インフラの設計から構成、監視、チューニングまで~

先週発売された『Webエンジニアが知っておきたいインフラの基本』を同僚にもらって読んだ。知っておくと便利なインフラの知識をまとめた本。8章構成で、1-4章は基本知識のおさらい、5-8章はより実運用に近い内容という構成になっている。

  • 1章 Webサービスでのインフラの役割
  • 2章 Webサービスを支えるインフラ技術の基礎知識
  • 3章 Webサービスのサーバ構成ベストプラクティス
  • 4章 Webサービスを始めるときのインフラ手配の基礎知識
  • 5章 Webサービスの運用(1) システム監視の基本
  • 6章 Webサービスの運用(2) ステータス モニタリング
  • 7章 Webサービスのチューニング(1) ボトルネックの見つけ方
  • 8章 Webサービスのチューニング(2) チューニングレシピ

前半部分

前半部分では、インフラ周りの設計に関係する情報を、ハードウェアからアプリケーションまで浅く広く扱っている。この情報の分布具合、どことなく基本情報技術者試験の教材、もしくは情報工学系の講義の教材に似てる。知ってて損はないけれど、知らなくても携わるサービスによっては特に問題無いだろうという部分は勿論あると思う。その辺りを鑑みながら、自分に関係性の強い部分は何なのか考えながら読んだほうが良いかもしれない。

前半部分では広範な知識よりも寧ろ、蔑ろにされがちな「ちゃんとやる」ための方法が所々で顔を出しているところが良い。例えば、稼働率は非エンジニアにも分かりやすく合意の取りやすい指標であるとか、故障発生時のワークフローの整備が大事であるとか、技術の変遷によって価値観が変わりやすいのでインフラ検討時は決定した背景を残しておきましょうとか、障害を想定したテストや高負荷を想定したテストを一度くらいはやっておきましょうとか…、そういう類の「ちゃんとやる」ための方法が説明されているのが良い。自分が担当しているサービスがあれば、それと向き合いながら、ここはちゃんとやっていたかなあ等と考えながら読むとより楽しめそう。

後半部分

後半は、監視や障害対応、パフォーマンスチューニングの勘所の話などが扱われている。障害発生時のコミュニケーション方法への言及があったかと思えば、ApacheやMySQLの設定項目の見直し方などにも触れていて、前半同様に後半もある意味手広くカバーされている。CactiというRRD-Toolベースの監視・グラフツールの説明やグラフの読み方に多くのページが割かれているけれど、他の章でも「基本的にはCactiのデータを見れば良いでしょう」と言及していたりと内容がCacti過多気味だなというのが正直な感想。

全体的に振り返ると、インフラの基本を広範におさらいして取っ掛かりとするところを目的として読んだので、バランスが丁度良かった。この後で、気になったところを適宜調べていきたい。そういう意味で、忙しい業務の合間よりも時間の取れる冬休みに読んで良かった。