少しはITエンジニアらしい話をすこし。
システムを構築する際に(特にハードウェアを構成する際には)常にリダンダンシー(冗長性)を鑑みながら機種の選定から構成を行います。
それなりの情報システムを構築する際は、その機械を設置する建屋に始まって、フロア、各ハードウェアの構成すべてにおいて何らかのリスク軽減策及びにバックアップシステムを持つ必要があります。
ちょっと現在の私のお客様の、あるシステムを例に簡単に説明してみましょう。
・建屋:免震ビルで、停電時は自家発電装置が当面の電力を供給できるようになっています。
・設置フロア:壁と床は密着しておらず隙間があり、ビル自体が揺れても機器が設置されているフロアはわずかしか揺れない設計になっています。
・そのシステムが外部と通信する回線は2回線契約しており、1回線が遮断されてもバックアップ回線で通信が継続できるようになっています。
・システムは3台のサーバで構成され、メインサーバが故障しても瞬時にサブサーバに切り替わり、メイン、サブが故障してもさらに待機しているサーバが処理を継続するために動き出す構成になっています。
・システムが動作しているサーバのハードディスクはRAIDという仕組みを使って、壊れても動作を続ける事ができ、さらに壊れた瞬間に壊れたハードディスクの代わりをしてくれるホットスペアというハードディスクも設置されています。
・さらにディスク上の全データが消失しても、即座に復帰できるようデータはテープ装置でバックアップがとられています。
・システムと回線を結ぶスイッチングHUBも2台になっていて片方のHUBが故障しても回線とつながり続け、2台同時に故障しても同等機種がすぐ近くに待機しています。
・使用している各機器は、すべて製造メーカーと「24時間365日、故障発生時から4時間以内に復旧する」というサポート契約を結んでいます。
要は何でもかんでも二重化以上の対策を行い、どこか1箇所でも壊れたらシステムが動かなくなるというSPOF(Single Point of Failure)を回避する事が必要なわけです。
これだけ見ると、かなり頑丈なシステムに見受けられますがそれでもトラブルは起こります。というか、もしここででっかい地震が起こって20mの津波に襲われたらいくら冗長化しようがその物自体が洗い流されてしまうわけですから、トラブル以前にシステム自体が喪失するという事になってしまうわけですね。
じゃあそのでっかい地震と20mの津波にも耐えられるシステムを作れ!と言われたら、そこから先は、コストとリスクのトレードオフを検討しなければいけません。
年商365億円のネットショップ会社のシステムのために、地下深くまで基礎を打った超高層免震ビル、1年分ぐらいの自家発電燃料、二重化どころか四重化ぐらいしたシステム機器、製造メーカーのスタッフは常に常駐・・・でもランニングコストが年間365億円かかりますなんていうシステムを作っても誰も買ってくれないですよね。
逆に、安いPCサーバかなんかでシステムを構成してランニングコストが年間100万円ぐらいだと、そのネットショップ会社は喜んでくれそうですが、いざトラブルが発生すると1日停止する度に1億円ずつ失っていくわけです。
結局、コストを考えながらシステムを作り上げるにエンジニアになるためには、常にトラブルが発生した時にどれくらいの影響を及ぼすか?を十分に考察した上で、コストとリスクのバランスが最適な解を導きだすという、人間の感覚的な要素も鑑みた、非常にセンシティブな能力が必要になるということです。
さて、トラブルが発生した時に、半径数十キロ四方に人が住めなくなり、土地が死に、海が死ぬだけでなく、最悪の場合地球レベルで汚染を引き起こす可能性のあるシステムを作る時、エンジニアは果たしてどれだけのリダンダンシーを考えて設計すべきなんでしょうか?
あまりにもリスク項目が多すぎて、私のようななんちゃってエンジニアでは適切な回答を見出せそうにありません。
ただ、少なくとも「想定外」なんて言い訳が通用するシステムだけはエンジニア魂として作りたくはないのですけどね。
『ぼくのまゆげをクリックして
今日の運勢を知るブプレ〜♪』
|