February 28, 2009

システムはなぜダウンするのか

システムはなぜダウンするのか 知っておきたいシステム障害、信頼性の基礎知識
システムはなぜダウンするのか 知っておきたいシステム障害、信頼性の基礎知識

キーワード:
 大和田尚孝、障害対応、システム、ダウン、運用
コンピュータシステムのダウンの原因が技術的な観点から示されている本。以下のような目次となっている。
  1. 第1章 システムが止まった…――「ダウン」とは何か
  2. 第2章 きちんとテストしたはずなのに…――アプリケーション・ソフトの不具合
  3. 第3章 アプリケーションだけではない…――OS、ミドルウエアの不具合
  4. 第4章 アクセス殺到に耐え切れず…――性能・容量不足
  5. 第5章 気づかなかったは許されない…――環境設定・変更ミス
  6. 第6章 その「うっかり」が致命傷…――運用・操作ミス
  7. 第7章 まさか、こんなことが起こるとは…――ハード故障、不慮の事故
  8. 第8章 障害対応は時間との闘い…――ダウンに学ぶ
(目次から抜粋)
著者は、以前SEでシステム運用に従事した後、日経BP社に転じ、『日経コンピュータ』の記者として、システムダウンの事例を数多く取材されてきたようだ。そして、システムの信頼性向上につなげるには、システムダウンの経験を多く得るのが一番という結論に至ったようだ。しかし、一人の技術者が多くのシステムダウンに遭遇することはないので、この本が書かれたようだ。以下その部分を抜粋。
そこで本書では、過去数年間にわたって、実際に発生したダウンの事例のなかから、日経コンピュータ誌をはじめ、雑誌や新聞などで原因が詳しく報じられたケースを取り上げ、どのような原因がきっかけでどんな事象が起きたのかを技術的な観点で体系的にまとめました。
(pp.2)
取り上げられている事例は、企業名などは伏せられているけど、数年にニュースを騒がせた株の誤発注のものやあまり大きな事例でないものまで幅広く示されている。それらのシステムダウンの事例が、システム内部の挙動、ハードウェアなどの解説を含めて技術的に示されている。これらは、とても勉強になる。

システムがダウンする原因は、以下のように大体4つに分類できるようだ。(クリックで拡大)
ダウンの原因の分類

このように、システムが動かなくなる原因が各章で詳細に示されている。

この本を読む前は、システムがダウンする原因は、作ったシステムのバグとか不正データとかそういうのが主な原因だろうと思っていたけど、それ以外にもハードウェアが原因だったり、OSとハードウェアの不整合だったり、DBのデッドロックだったり、ネットワークの輻輳だったり、はてはねずみがケーブルをかじっていたのが原因といったものまで示されており、システムが落ちる理由は多岐にわたるなぁと分かった。それら全てに対応するのはかなり難しいのではないかと思った。

そして、本書では、ダウンを100%防ぐというのは無理という現実を受け止めて、ではどうするかということが以下のように示されている。
 ダウンを100%なくすのではなく、ダウンしてもすぐに復旧させる、ダウンした際の影響範囲を小さくする、同様のダウンが起きないように対策を講じる、といったアプローチが求められます。
(pp.21)
そして、最終章では、原因究明よりもまずシステムを復旧させることが最優先であると示されていた。なるほどと思った。

他にも、障害対応技術者について、以下のように示されている。
技術者にとっての腕の見せ所は、いかに原因を迅速に突きとめられるかです。それにはまず、システム全体のハード構成やネットワーク構成、使用するOSやミドルウェアの知識、アプリケーションの仕様、開発言語の知識などをすべて理解している必要があります。
(中略)
優秀な技術者ほど、ダウンの発生状況や影響範囲などから根本原因を突きとめる嗅覚があると言われるのは、こうした幅広い知識を身につけているからです。
(中略)
これからの技術者には、ダウンが起きた際に原因を素早く突き止めるスキルと、ダウンから再発防止策を学ぶ力の両方が今まで以上に求められています。
(pp.23)
システムを知り尽くしていないと、障害対応はできないということだろう。そうなるには、どれだけ時間がかかることやら・・・。

この本は、システムダウンの事例が豊富に載っており、いかにシステムを運用させるかといった観点から書かれている本はあまりないので、貴重だと思った。これを読んでおけば、いつでも運用、障害対応要員として借り出されても大丈夫だと思う。少なくとも基礎的なことは網羅されていると思うので、システムダウンの原因の特定などが早くなるのではないかなと思った。

ただ、システムダウンの原因の事例は多く示されているが、障害が発生ないようにするにはどうするか、そして発生した場合はどうするかといったことについては、あまり詳しく示されていない。

入社して最初の仕事が運用だったので、これはもっと早くに読みたかったと思った。そうすれば、JP1(JP1 - Wikipedia)でバッチが異常終了していて赤くなっているのを見て、無駄に不安がらなくてもすんだのに・・・。また、もっと運用に早く価値を見出せたかもしれない。

システムは、作って終わりではなく、いかに安定稼働させるかが重要だということがよくわかった。昨今のシステム開発は、要求が複雑化し、求められる技術も高くなり、大規模化していき、難しくなってきている。そして作った後も安定稼働させるのが難しいという状況になりつつあるのかなと思った。そういう状況になったとき、システム構築業界、SI業界、IT業界は、再度ソフトウェア危機(ソフトウェア危機 - Wikipedia)に直面しているのではないかと思った。やはりシステム構築業は難しい世界なんだなぁと思った。

運用担当、障害対応要員は絶対読んでおいて損はない1冊。ゆっくり読むと大体5時間くらいかかるが。

このなぜシリーズで書評したのは以下。どれも分かりやすくていい。



システムはなぜダウンするのか 知っておきたいシステム障害、信頼性の基礎知識
システムはなぜダウンするのか 知っておきたいシステム障害、信頼性の基礎知識

読むべき人:
  • システム運用要員の人
  • 運用などSE業ではないと思っている人
  • システムは作って終わりだと思っている人
Amazon.co.jpで『日経コンピュータ』の関連書籍を見る

bana1 役に立ったらクリック☆  にほんブログ村 本ブログへ



トラックバックURL

トラックバック一覧

1. システムはなぜダウンするのか  [ hobo-sickboy- ]   April 13, 2009 06:17

システムはなぜダウンするのか 知っておきたいシステム障害、信頼性の基礎知識(2009/01/15)大和田 尚孝商品詳細を見る ■感想 システムのダウン...

2. 『システムはなぜダウンするのか』  [ 雨読夜話 ]   August 12, 2009 01:26

システムはなぜダウンするのか 知っておきたいシステム障害、信頼性の基礎知識日経コンピュータ 日経BP社 2009-01-15Amazonで詳しく見るby G-Tools関連...

コメントする

名前:
URL:
  情報を記憶: 評価:  顔   星