オルタナティブ・ブログ > 森崎修司の「どうやってはかるの?」 >

計測できそうでできない多くのこと。エンピリカル(実証的)アプローチで。

システム不具合の原因 - 設定ミス -

»

システムにおこる不具合や障害の原因は、プログラムのバグ、ハードウェアの故障、設定ミス、機器配置のミスなど、ソフトウェア単体の場合と比べて幅が広い。特にちょっとした拡張やハードウェアの入れ替え等のあまり問題が起きないであろうと気楽に考えてしまいたくなるような場合でも、大きな障害につながる可能性がある。

最近ではシステムがスタンドアローンで構成されることはほとんどなく、ネットワークでつながった複数の計算機が互いにサブシステムとして成り立っていることが多く、その間のスイッチングハブ(LAN機器)が故障しただけでもシステムに障害を起こしてしまう場合がある。サービス拒否攻撃(DoS)等の故意のアタックが発生した場合、特定の送信元からのリクエストを遮断するような設定をしたネットワーク機器やプログラムの追加の際に、必ずしも意図通りの配置や設定ができるとは限らない。本来受け付けるべきリクエストを設定ミスやプログラムのバグにより、遮断してしまう可能性がある。比較的短時間で対処をしなければならない場合に特に起こりやすいと言えるだろう。

これらについて抜本的な対処方法は存在しないが、開発環境や準運用環境など、実運用環境の前に設定変更や機器交換を試せるような環境を作っておき、運用ルールとして、その環境で試験をした後に実環境に適用することを課すことは1つの解決策であろう。ただし、実環境とのずれにより思わぬミスを招く場合があるため、これらの環境を実環境と異なる部分がないように維持することは意外とコストがかかる。また、システムの一部が多数のバージョンを持つソフトウェアであったり、インターネット等の自由度の高い構成要素で成り立っている場合には、実環境の再現が困難になりがちである。

これらの設定不具合の計測は、基本的に運用上の障害として計測されることがほとんどであるが、機器設計の複雑さや設定の難しさについても、何らかの計測指標が必要だ。指標はたとえば、開発環境から実環境へのステージングする際の確認の有無や、保守の上で再設計を検討するかどうかを決める判断材料になるだろう。

Comment(2)