TOPキャリアアップ> 過去に遭遇した代表的な障害回避事例
技術力とは何か
技術力とは何か

第1回:実案件を通して得た技術力とは?
著者:日本総合研究所  森 陽一   2005/12/26
前のページ  1  2   3  次のページ
過去に遭遇した代表的な障害回避事例

   筆者が過去に遭遇した障害事例の中には、本番直前の開発プロジェクトや本番稼働後に「世界で初めての障害ケースです」とメーカのSEから報告されたものもあります。これからあげる事例は筆者自身の記憶に残っていて、また貴重な教訓となったケースです。


オープン系プラットフォームの落とし穴

   「本番開始まで1ケ月しかなく、本来250台の端末を動かさなければならないのに、同時に3台以上稼働しない」

   取引先から出動の要請を受けたことからはじまりました。某オープン系のプロジェクトで、本番を間近に控えているが端末が同時に3台以上稼働しないとのこと。この件に関して原因を調査し解決してくれとの依頼を受けました。

   そこで担当者にお願いし、3台目の端末を稼働させたときのエラーログを見せてもらいました。エラーメッセージの内容は「UNKNOWN ERROR」、対応方法としては「メーカに質問するように」とマニュアルに記載されており、難しい問題に直面したと感じました。

   まずは端末を稼働させる環境設定(アプリケーションを同時に何個稼働させるパラメータとなっているのか、それを超えたときの指定はどうなっているのかなど)を調査して、試行錯誤でパラメータの設定変更を行ってみましたが、何の効果も得ることができませんでした。

   またメーカにも原因調査を依頼しましたが、「このような使い方は当社でも事例がなく、対応の方法がありません」とのことで、解決策を得ることができませんでした。

   このプロダクトを扱っている他の専門業者へも問題解決の方策を質問しましたが、このような使い方の前例はなく、別の方法で実装すべくプログラムを書き換えるべきとのご意見でした。もし書き換えるとしても、本番までの時間がなく間に合いません。

   このままではダメだと判断して、アプリケーションを書き換えずに済む方法はないかと考えました。そこで、このプロダクトが稼動していたプラットフォーム(ハードウェアと基本OS)を別のものに変更して、アプリケーションが動作するかどうかを試してみることにしました。

   その結果、なんと、アプリケーションは問題なく動作しました。早々、この構成で本番に必要な端末台数に近い環境を整え耐久テストを実施しました。このテストも問題なくクリアし、このハードウェアと基本OSを使えば問題を回避できるという確信を持ちました。

プラットフォームの分離
図1:プラットフォームの分離
(画像をクリックすると別ウィンドウに拡大図を表示します)

   オープンなソフトウェアといえども、ハードウェアと基本OSとの関連でそれに依存したバグが存在する可能性が残ります。従ってプロダクト開発者がどの機種を優先し、また入念にテストしているかによって、その機種上で動作するソフトウェアの品質が左右されます。この経験を通して、必ずしも同一レベルの品質が保障されていないということを痛感しました。

   また本番で必要となる端末台数を想定した上で、設計したシステム・アーキテクチャが妥当であるかどうかの事前の検証を行うことは不可欠です。このプロジェクトではメーカを入れてレビューを行っていたものの、国内ではじめての事例であるなどの説明はなく、「理論的には問題はありません」との回答だったようです。

   はじめて導入する技術は導入を決めた開発者自身の目でその稼働検証を行うことが肝要である。

   自分たちに実績のないシステム・アーテクチャを採用する場合、事前に基本OS、基本ミドルウェアのバグ検出を行うプロジェクト運営が必要になります。

   この検証においては本番で接続する端末台数を想定した耐久テストが有効です。時間があれば、基本OSのバグ回避を行う策も検討できます。オープン系の基本システムの信頼性は意外と低く、国内でバグフィックスができない場合が多いので問題解決に時間を要します。

   また、基本OS・基本ミドルウェアの不具合をメーカに押し付けるのではいけません。それらを選択した開発者自身の責任であると捉え、その回避策をも自らが考えだすぐらいの気持ちで導入する技術と向き合うことが必要です。

前のページ  1  2   3  次のページ


日本総合研究所 森 陽一
著者プロフィール
日本総合研究所  森 陽一
株式会社日本総合研究所 技術本部 本部長
技術士(情報工学部門)
79年 静岡大学工学部情報工学科卒業。
82年 日本総合研究所の前身、日本情報サービス入社。
90年 技術士(情報工学部門)およびシステム監査技術者資格を取得。
82〜04年 カードシステムに関する企画・開発業務に従事。
04年 日本総合研究所 技術本部長。


INDEX
第1回:実案件を通して得た技術力とは?
  はじめに
過去に遭遇した代表的な障害回避事例
  テスト環境と本番環境の違い