書評:『24時間/365日サーバ/インフラを支える技術〜スケーラビリティ、ハイパフォーマンス、省力運用』

技術ノウハウ本、とでもいえばいいのか、特定のツールやソフトウェアについてではなく、タイトルにあるとおりサーバインフラという視点からサービスの土台に求められる継続性や可用性を解説する1冊。KLabとはてな、基本的にオープンソースを活用してサーバインフラを構築している執筆陣による本書には、コモディティ化して非常に低コストで入手できるx86サーバハードウェアとネットワークスイッチを用いながらも当然ながらいかにオープンソースを駆使してソフトウェア的にサーバインフラを創り上げるのかというノウハウが詰め込まれている。

[24時間365日] サーバ/インフラを支える技術 ?スケーラビリティ、ハイパフォーマンス、省力運用 (WEB+DB PRESS plusシリーズ)

[24時間365日] サーバ/インフラを支える技術 ?スケーラビリティ、ハイパフォーマンス、省力運用 (WEB+DB PRESS plusシリーズ)

  • 1章 サーバ/インフラ構築入門
  • 2章 ワンランク上のサーバ/インフラの構築
    • 2.1 リバースプロキシの導入…Apacheモジュール
    • 2.2 キャッシュサーバの導入…Squid,memcached
    • 2.3 MySQLレプリケーション…障害から短時間で復旧する
    • 2.4 MySQLのスレーブ+内部ロードバランサの活用例
    • 2.5 高速で軽量なストレージサーバの選択
  • 3章 止まらないインフラを目指すさらなる工夫
  • 4章 性能向上、チューニング
    • 4.1 Linux単一ホストの負荷を見極める
    • 4.2 Apacheのチューニング
    • 4.3 MySQLのチューニングのツボ
  • 5章 省力運用
    • 5.1 サービスの稼働監視…Nagios
    • 5.2 サーバリソースのモニタリング…Ganglia
    • 5.3 サーバ管理の効率化…Puppet
    • 5.4 デーモンの稼働管理…daemontools
    • 5.5 ネットワークブートの活用…PXE,inframfs
    • 5.6 リモートメンテナンス…メンテナンス回線,シリアルコンソール,IPMI
    • 5.7 Webサーバのログの扱い…syslog,syslog-ng,cron,rotatelogs
  • 6章 あのサービスの舞台裏

個別の技術の詳細についての本はオライリー技術評論社などを始めとして数多くある。しかし、こうした経験に基づくノウハウ本はあまり多くはない。舞台の裏側といえばいいのだろうか、よく知っているサービスはどんな風に構成され、どんな考えで運用されているのか。まるで実体のないものであるかのようにネットサービスは扱われるけれども、その裏側にはそのサービスを支えるインフラが必ずある。
多くの人にとって、GoogleやYahoo、そしてはてなのサービスやKLabが支える様々なサービスは「そのサービス」にだけ興味があり、サービスさえ問題なく使えていさえすればいいだろうが、そのサービスを支えるインフラにこそそれぞれの会社や組織のこだわりがある。
サーバインフラはWebサービスやアプリケーションの開発に比べて地味で面白みのないものだと思われているが、導入であろうと運用であろうと、拘りを持って取り組めばとてもやりがいがあるレイヤーだと思う。本書はそんなインフラの面白さを伝えてくれる1冊だ。