2008年08月08日 00:00 [Edit]

DIY 24/7 - 書評 - [24時間365日]サーバ/インフラを支える技術

技術評論社土井様より献本御礼。

初出2008.08.03; 販売開始まで更新

実に面白かった。本書単体で読んでも面白いが、「Googleを支える技術」と読み比べると面白さ22倍といったところだろうか。


本書「24時間365日 サーバ/インフラを支える技術」は、はてなKLabという、実際に24時間365日稼働するサービスを運用している「中の人々」が、それをどうやって実践してきたかを一冊の本にまとめたもの。「外から見て」書いた「Googleを支える技術」は、そこが決定的に違う。

書籍案内:[24時間365日]サーバ/インフラを支える技術 ……スケーラビリティ、ハイパフォーマンス、省力運用|gihyo.jp … 技術評論社より抜粋
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章 止まらないインフラを目指すさらなる工夫 ……DNSサーバ,ストレージサーバ,ネットワーク
3.1 DNSサーバの冗長化
3.2 ストレージサーバの冗長化 ……DRBDでミラーリング
3.3 ネットワークの冗長化 ……Bondingドライバ,RSTP
3.4 VLANの導入 ……ネットワークを柔軟にする
4章 性能向上,チューニング ……Linux単一ホスト,Apache,MySQL
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のなかみ
Appendix
404 Blog Not Found:Beauty Deeper than the Skin - 書評 - Googleを支える技術
著者も私もGoogleの「中の人」ではない。本書の描くGoogleの解剖図と実際のそれとが一致するということはないだろう。せいぜい我々が知っているのは、ターヘル・アナトミア以前の解剖学に過ぎないのかも知れない。「五臓六腑」といっても「腑」なんてないかも知れないし、「臓」はもっと多いかも知れない。

本書では、その心配は無用だ。なにしろ中の人々が書いた一冊である。本書に書かれたことに憶測は一切ない。「中のすべて」を書いたわけではないしそれはそもそも無理というものであるが、少なくとも本書に書かれていることは全て事実(のはず)である。最終章に至っては、実際のラックの写真まで登場している。

どちらが読み物として面白かったかといえば、「Googleを支える技術」の方ではある。外から見ている分、中身を憶測するという推理小説的な愉しみがあったからだ。また、自分自身がGoogleほど巨大なシステムを手がけたわけではないということもある。

しかし、どちらが「ためになるか」といえば、圧倒的にこちらの方。両者の規模のサービスであれば、私自身手がけたこともあるので「手応え」もこちらの方が大きかったし、また両者の規模のサービスを展開している、あるいは展開しようとしているところはずっと多いだろう。実に楽しくつっこみを入れながら読ませていただいた。

本書が何より優れているのは、はてなとKlabの両者が「今どうしている」かだけではなく、「今までどうしてきたのか」をきちんと書いていること。巷では「スケーラブル、スケーラブル」とマントラのごとく唱えているけど、その実例というのは実はそれほど出てきていない。本書は実に貴重な、「サーバーインフラ成長録」なのだ。

もちろん不満もある。不満というより「コレジャナイ」感かな。本書も「Googleを支える技術」も、OSはLinuxを使っている。最近でこそこれは「正解」なのだけど、10年前はそうではなかった。特にファイルシステムとネットワークまわりがgdgdで、「個人でUnix」にはもってこいだったけど、「プロダクション」では怖くて使い物にならなかった。make xconfigを見て、「それは方向がちがうだろ」と思った私は、その頃ノートPCに入れていたLinuxをFreeBSDに入れ替えてしまった。

おそらくサーバーに関しては、Linuxと*BSDは、まだ半々ぐらいなのではないか。*BSD派による一冊もまた欲しくなった。Yahoo!とかlivedoorとか。どうです、中の人たち。

もっともそれだけにかえって*BSD派の私には得るところがより大きかったというのも事実。でも、linuxでmake world相当のことってBest Practiceが決まっているのだろうか。いや、そりゃあlinuxはあくまでkernelって言われてしまえばそれだけだけどさ。「どのdistro?」というところで迷いたくないんだよね。

この「24/7サービスを自分で実際にやってみる」というのは、実にいい経験である一方。なかなか書物で学べない分野でもある。勢い教育はOJTによる「一子相伝」的になる。本書のとおりにやる必要はない。実際、DSASはとにかくはてなの24/7レベルは私にはとても合格点を出せない(しなもん会長の面を見過ぎや)。しかしそもそもこういう知見が書物の形で出てきたということがまず画期的であり、プログラマーに関して表に出にくいシステム管理者の励みとなるだろう。

是非一読のほどを。

Dan the System Administrator


この記事へのトラックバックURL

この記事へのトラックバック
404 Blog Not Found:DIY 24/7 - 書評 - [24時間365日]サーバ/インフラを支える技術
404 Blog Not Found:DIY 24/7 - 書評 - [24時間365日]サーバ/インフラを支える技術【】at 2012年01月21日 20:52
ライブドア櫛井様より献本御礼。 4Gbpsを超えるWebサービス構築術 伊勢幸一 / 池邉智洋 / 栗原由樹 / 山下拓也 / 谷口公一 / 井原郁央 元取締役であるという立場を離れて言う。本書の内容は、すごいものが本当に多すぎる。本書を紹介しているだけの本エント....
後悔なき公開 - 書評 - 4Gbpsを超えるWebサービス構築術【404 Blog Not Found】at 2009年08月13日 15:26
2月は偶数月。 WEB+DB PRESS vol. 49 初出2009.02.18;発売開始まで更新 そして偶数月といえば、こちら。
予約開始 - WEB+DB PRESS Vol.49【404 Blog Not Found】at 2009年02月18日 15:22
スマートフォンを11月10日に発売: GoogleがAndroidの新SDKとロードマップをリリース (1/2)ITmediaGoogleはアプリケーションの開発を促進すべく、同社のモバイルOSであるAndroidのSDKならびにAndroidの最初のロードマップを公開した。SDKの発表と同じ日に、Androidベースのス...
グーグル マップ【 斉藤さん 】at 2008年08月20日 16:24
これには回答が二つある。 初心者が考えがちな「Linuxの普及しない理由」 - 狐の王国 2chあたりで何年も前から散見され続けてるのであらかじめ突っこんでおこうかという気になった。 それぞれの回答に 1 entry を裂く価値があるのでそうする。 まずは理由A。
「Linuxが普及しない」理由A - 実はすでに普及している【404 Blog Not Found】at 2008年08月15日 02:04
書評リンク - [24時間365日] サーバ/インフラを支える技術 ~スケーラビリティ、ハイパフォーマンス、省力運用
[24時間365日] サーバ/インフラを支える技術 ~スケーラビリティ、ハイパフォーマンス、省力運用【書評リンク】at 2008年08月03日 18:07
この記事へのコメント
> 実際、DSASはとにかくはてなの24/7レベルは私にはとても合格点を出せない(しなもん会長の面を見過ぎや)。

相変わらずこの人は口だけ番長だな。
不十分だと思うなら自分がやってみせろよ。
具体的な指摘もないし、まったくもって科学的じゃない。
Posted by 有言実行 at 2008年08月16日 23:36
金融関係などのカタイサーバやってるひと(いわゆる「ミッションクリティカル」てやつ)にしてみたら、

m9(^Д^)プギャー

かもしれないっすね。よくわかりませんが。

タイトルの後ろに for Web2.0 (w
とつけるとちょうどいい気も。
Posted by なんとなく at 2008年08月07日 00:43
こんなところで紹介されたアフィ狙い丸出しの本を買っている奴が
一番の間抜け。
Posted by boke at 2008年08月06日 23:33
「make world」は `make world` のコマンド実行と捉えかねないので、
今風に「world の再構築」の言い回しにする方がよろしいのでは?
http://www.freebsd.org/doc/ja/books/handbook/makeworld.html
> make world は使わないこと (中略)
> ほぼあらゆる場合において、make world を実行するのは間違っており、
> ここで説明されている手順を用いるべきです。
Posted by tociyuki at 2008年08月06日 09:49
内容はあんまり覚えてませんが、今は亡きオープンソースマガジンの特集でlivedoorのシステムが
紹介されてましたね。
Posted by やぴ at 2008年08月05日 11:24
Windows Updateを使える環境にあるサーバーが何台あるのかと
言い換えたほうがいいかも名。
Posted by aho at 2008年08月04日 18:39
「内容のないアフ狙いのつまみ読み」ってどこ読んだらそんな感想が出てくるのやら。

例えば運用の現場では、RedHat Network 使ったアップデートなんて「論外」だって分かりますか?debian や ubuntu、suse だって大して事情は変わってなくて、現状 Linux 陣営からは FreeBSD の make {build,install}world に相当するような解は出てきてない。だけど、運用ではそこが重要視されることもある訳で。

そういう意味で「この本には何が書かれていないか」を指摘しつつも存在意義と立ち位置を紹介している、ちゃんとした書評だと思いますよ。
Posted by n-watch at 2008年08月04日 03:27
よく読んでみろよ。この本に関する言及は数行だぞ。こんな内容のないアフ狙いのつまみ読みにコメントつくわけないだろ。
Posted by perlbaka at 2008年08月04日 01:56
>「24/7サービスを自分で実際にやってみる」というのは、実にいい経験

私は、この方面の専門家ではないが、確かに、技術には、すべて、やってみなくては分からない、カンとコツのような部分があると思う。

それが分からずに、やれ暗黙知だの形式知だのといっている者を時折見聞きする。

ところで、ここって、ちょっと難しそうな話になると、極端に、コメントが少なくなるね。
Posted by 風竜胆@文理両道 at 2008年08月03日 18:56