システムが止まった時のこと、ちゃんと考えてますか?
ちょっと!今朝から注文がシステムで処理されていないみたいなんだけど、いったいどうなってるんですか!
すみません、どうやら昨日のシステム変更に不具合があったようです。まだ復旧の目処は立っていません…
それじゃあシステムが止まっている間に入った顧客の注文、どうしたらいいか教えてください!
そのあたりのルールってそちらの部内で決まっているんじゃないですか?
システムが止まるなんて想定してないですよ!ああ、どうしたらいいのか…
ここまでひどい修羅場を経験したことのある方は少ないと思いますが、事前に対応ルールを決めていなかったためにシステムトラブルの際に行き当たりばったりの対応をしてしまったという方はかなり多いのではないでしょうか。
システムというものはゼロかイチかで動いている演算の集合体ですから、人間が設計した通りに動くと考えることは自然な発想です。しかし、すべての状況を想定してシステムを構築するということ自体が不可能な行為であり、どんなに綿密な計画や設計を行ったとしても100%障害を防ぐことは絶対にできません。2008年5月に三菱東京UFJ銀行が、旧東京三菱系システムと旧UFJ系システムの統合を行いましたが、通常よりも大幅に工数を上乗せして膨大なテストを行っていたにも関わらず、インターフェースエラーという単純な障害を防ぐことはできませんでした。
この事例が意味しているのは、どんなに膨大な工数をかけてシステムを構築したところで、完全に障害を防ぐことはできないということです。そもそも、障害発生率に対するコストは0%に近づくほどに逓増し、しかも決してゼロになることはない極限値の曲線を描いています。よって、障害が発生することを前提にシステムを構築・運用するしかないのです。
これをITサービス管理として体系化したのが、ITサービス継続性管理です。