[24時間365日] サーバ/インフラを支える技術 | A Day In The Boy's Life

A Day In The Boy's Life

とあるエンジニアのとある1日のつぶやき。

[24時間365日] サーバ/インフラを支える技術 ‾スケーラビリティ、ハイパフォーマンス、省.../安井 真伸
¥2,919
Amazon.co.jp

ネットワーク、サーバー、ミドルウェア、果ては電源管理まで幅広くインフラ回りに触れていて、だらだらと技術解説するのではなく、図解でわかりやすくしたりサンプルのソースが書かれていたりと、とても興味深く読めました。


というのも、実際に大規模インフラを運用されている方々が書いており、中にはかなり主観が入ってるなと思える部分もありましたが、それも実際に運用中で苦労したり工夫したりで得た知識だと思うので、納得させれてしまいます。


自分自身が特に興味深く読めたのは4章の負荷に関連する記述で、自分でも過去にそういったことを調べてまとめてみたりもしましたが、まだまだわかっていないかったんだなぁと思い知らされました。

こういったサーバ負荷に関しては、サーバ管理する上では付きまとう問題なので、知っておきたい、でもなかなかまとまった情報がない、と思っている人も多いのではないでしょうか。

また、「6章 あのサービスの舞台裏」では、はてなのインフラの構成や運用管理の仕方などが詳しく書かれていて面白かったです。


全般的にOSS中心の技術情報なので、大体の企業で提供しているサービスのインフラでは、一部アプライアンスを使ったり、プロプライエタリソフトウェアがあったりと、この本で書かれているような全てOSSというインフラ構成はかなりまれかと思いますが、逆にOSSだけでもここまでできるんだとエンジニアの心をくすぐる本だと思います。



目次 [24時間365日] サーバ/インフラを支える技術


1章 サーバ/インフラ構築入門
1.1 冗長化の基本
1.2 Webサーバを冗長化する・・・・・・DNSラウンドロビン
1.3 Webサーバを冗長化する・・・・・・IPVSでロードバランサ
1.4 ルータやロードバランサの冗長化

2章 ワンランク上のサーバ/インフラ構築
2.1 リバースプロキシの導入・・・・・・Apacheモジュール
2.2 キャッシュサーバの導入・・・・・・Squid、memcached
2.3 MySQLのレプリケーション・・・・・・障害から短時間で復旧する
2.4 MySQLのスレーブ+内部ロードバランサの活用例
2.5 高速で軽量なストレージサーバの選択

3章 止まらないインフラを目指すさらなる工夫
3.1 DNSサーバの冗長化
3.2 ストレージサーバの冗長化・・・・・・DRBDでミラーリング
3.3 ネットワークの冗長化・・・・・・Bondingドライバ、RSTP
3.4 VLANの導入・・・・・・ネットワークを柔軟にする

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、initramfs
5.6 リモートメンテナンス・・・・・・メンテナンス回線、シリアルコンソール、IPMI
5.7 Webサーバのログの扱い・・・・・・syslog、syslog-ng、cron、rotatelogs

6章 あのサービスの舞台裏
6.1 はてなのなかみ
6.2 DSASのなかみ