これは当然確実にできていなければいけないことです。もしデータが正確に合っていなかったら、処理はうまくいかず、エラーの発生は確実で、ビジネスも損害を受けてしまいます。当たり前の様ですが、数あるHAツールの中にはデータのリプリケーションという機能に着目しても、良いものもあれば劣るものもあります。データの整合性という意味では、不完全なデータやオブジェクトの反映は最悪のケースです。もしバックアップ機のオブジェクトが瞬間的なエラー等で、何らかの問題によって生成されてしまった不完全なコピーであったなら、深刻な問題になることは間違いありません。 同期エラーを自動修正するオートノミクス・システムを提案しているHAツールメーカーもあります。私はこのモデルには不安を覚えます。もし、オートノミクス(自律)が本来あるべき効果をあげられなかったとしたら、どうなるでしょうか?不完全なレプリケーション(複製)に誰が満足するというのでしょう?システマチックにデータエラーを作り出すようなシステムをあなたは購入されますか? いいえ、私なら購入しないでしょう。HA製品は、まず、第一にエラーの発生を減らすか、なくすようなエンジニアリングモデルを採用すべきです。HAツールがリプリケーション時、データやオブジェクトのエラーを生成してしまうのは、致命的な機能上の問題であり、勿論お客様は「なぜそんな事が起きるのか」をよく理解する必要があります。
HAの選択法則 2: リプリケーション(複製)のスピード
検討製品のHAツールのパフォーマンスをよく理解しましょう。製品を購入する前に、そのツールのパフォーマンスについて必ず確証を得ておくことが重要です。なぜなら、私の経験では、HAソリューションは資源の消費量という点では、CPU使用率2%や3%程度から30%までと様々に存在するからです。 古いテクノロジーのHAツールはシステム資源を大量に消費するソフトウェアであるため、サーバーが多くの処理をこなすことができません。そのため、最上位のHAソリューションといえども大して役に立ちません。IBMi(AS/400) は、より強力なサーバーを必要とすればするほど、それだけハード費用がかさみます。もし、もっと効率の良いツールを使ってハードウェアへの負荷を減らすことができれば、ハードウェアへの投資を減らすことのできる魅力的な手段となるに違いないでしょう。
販売されている多くのHAソリューションは設計のコンセプトがそれぞれ異なるということを、私は強調したい。過去の遺産による設計を継承し、妥協を強いられているものもあれば、RPGとかCLで作られているものもあります。その一方C++等の様にハードウェアにより近いところで動作する高水準プログラム言語を使って書かれているものもあります。 優れたHAツールは、オブジェクトが生成されたり変更されたりしたときに複製を作る仕組みをいくつかもっています。これはどんな環境においてもかなり重要ですし、オブジェクト変更管理を取り扱う手法は様々なものがあって、それらの中にも優劣があります。一般的に、実行環境にあるオブジェクトはほとんどテスト後に稼動しているので、オブジェクト置き換えのタイミングは緊急性の低い機能拡張時に行われます。従ってオブジェクトの変更はデータ変更より問題点は少ないということを理解はできますが必ずしもそうだとは思いません。勿論これは日常頻繁に発生するケースではありませんが、効率の良いオブジェクト管理はどんなHAツールにも不可欠の機能であると思います。 一般的にHAベンダーはIBMi(AS/400) の監査ジャーナルを新しいオブジェクトや変更されたオブジェクトを見つけるために使用するようです。しかしこのアプローチを選択するのは彼らだけではありません。監査ジャーナルへのアクセスを利用する技術は他にもあります。オートノミクス(自律)セキュリティシステム、SOX監査システム、パフォーマンス管理システムや他の多くのものが、システムのオブジェクト・スペースに起きた変更を把握する簡易な方法として、監査ジャーナルに目を向けています。 このアプローチは確かにうまく動作しますが、それは健全だとは思えません。なぜなら、このように監査ジャーナルを使用することは遅延の問題を発生させます。ご存知のように、多くの競合するソリューションによる監査ジャーナルの需要がどんどん増大し、それに対応してジャーナルレシーバーが大きくなるにつれて、監査ジャーナルをリアルタイムで利用する必要のあるシステムにとっては、待ち時間が大きな問題となります。確かにSOX法関連の内部監査にとっては、ある事象発生後1時間たってもジャーナルが使用できなかったとしても、最終的に使用できれば気にはしないでしょうが、HAシステムはそれとは全く違います。リアルタイムの必要性とはリアルタイムに処理されないと意味がないのです。 さて、他のアプリケーションによる監査ジャーナルの使用が増えた場合、監査ジャーナルのパフォーマンスがどの程度低下するかについては厳密に説明できませんが、それは結局いくつかのアプリケーションにとって問題点となると思います。また、このことはバックアップ機の状況が不確定の時間分、遅滞するということです。私が最も良い方法だと思うのは、一度オブジェクトが生成されたり変更されたりすれば、直ちに他のアプリケーションがロックをかける前に、その変更を反映させることです。 より良い成果を出すためには合理的で且つ効果的なテクノロジーを使用し、データ管理と同じくらい確実にオブジェクト管理を行える事が良いHAソリューションといえます。正直、私は(技術者としての見地から)、リアルタイム性を必要とするビジネス・クリティカルなアプリケーションに監査ジャーナルを使用することの有効性についてまだ納得がいきません。他の条件が同じならば、不安定なパフォーマンスを発生させない他の方法を取るべきであると思います。