レガシーシステムとは 〜特徴〜

最近ではレガシーシステムの範囲も拡大解釈されてきていますが、レガシーシステムを「プロプライエタリなアーキテクチャーで構成された大型汎用計算機(メインフレーム)」と定義し、特徴と経緯について考察したいと思います。

1.レガシーシステムの特徴

(1)ベンダープロプライエタリ製品で構成される

単一のベンダーがハード、OS、ミドル製品のほぼ全てを提供する統合化されたシステムです。
効率的にシステムが稼動するようにベンダーが独自にハード、OS、ミドルそれぞれのレイヤ間のすり合わせ技術によって実現されています。
これによって、統一感があり、冗長性を省いたシステムが構築できます。
一方、オープンシステムはレイヤー間のインタフェースを標準化することで異なるベンダー製品の選択の自由度とシンプルなインタフェースによる開発の効率化による製品コストの低減とビジネスの合理性が追求されていますが、システムとしての統一感、効率性、単体の安定性がレガシーシステムより劣る点と、可用性確保に対するアプローチの違いが挙げられます。
イメージ的には金属ジッパー(メインフレーム)とビニールファスナー(オープンシステム)でしょうか。

Untitled-3

⑵長い歴史の中で蓄積された基幹系システム独自技術

日本で最初の商用オンラインシステムは1963年2月旧国鉄(現JR)のMARS101と言われています。以来、50年以上大規模なシステムで稼動した中で基盤技術が蓄積されています。代表的な技術は以下の通りです。
・効率的にバッチ処理を実現するための技術(JES、JCL、バッチスケジューラ)
・コンピューター資源を効率的に活用するための資源管理技術
・超巨大システム向けに、集中型のアーキテクチャーでありながら、スケールアウトを実現するための技術(筐体間共有メモリ)
・計算機内に論理的に複数の仮装計算機を構築する技術

仮想化技術は最近ではオープン系でも当たり前の技術になりましたが、1980年台には既に実用化されていました。
これらの技術はレガシーシステムでは当たり前ですが、現在のオープン系アーキテクチャーでも実現されていない技術の一例です。実現されていない理由として、ニーズが無かった(重要基幹系固有の要件)、パラダイムの違い(単体と冗長のアプローチ)、ビジネス制約(製品レイヤ内で完結できない)が挙げられます。

⑶装置単体の信頼性が高い

レガシーシステムは、当初部品コストが非常に高価であったため、基幹システムで求められる可用性を確保し、装置を効率的に活用するために装置単体の信頼性を高めることが優先されました。
一方でオープン系システム は、部品単体の信頼性を高めるより標準化によって低コストで大量生産の効くようになった部品の冗長化することでコストを抑えつつシステムとしての信頼性を高めるアプローチを採用しています。
以上の通り、システムの可用性の確保については、装置の専用化と効率的な活用を主眼としたレガシーシステムに対し、経済合理性を追求したオープンシステムといった、異なる価値観に基づいたアーキテクチャーになっています。

⑷ユーザーそれぞれの要件に特化した個別最適なシステム

レガシーシステムは通称「汎用機」と呼ばれています。これは当時高価だった計算機一台を使い倒せるように様々な利用形態での活用を前提としたアーキテクチャーを目指したことが起源です。
ネットワークが脆弱だった時代のバッチ処理中心の基幹システムからネットワークの高速化・インターネットの進化に伴う莫大なトランザクション処理への変化に追随しつつ、現在もなおユーザーの基幹業務を実現するために様々な機能拡充が行われています。
製品選択の自由度が制限されているが故に、ユーザーとベンダーの距離感が近く、ユーザーのニーズが直接ベンダーに届くことによって、基幹業務特有の処理形態を取り入れながら進化を続けています。
大量生産型のオープン系システムに比べ、ユーザーが限定されていることも基幹系システムに最適なアーキテクチャーとして今なお進化している一つの要因とも考えられますが、その一方で機能の複雑化や製品仕様の範疇を超えた個別カスタマイズの原因となり、ブラックボックス化による最新化を阻害する要因の一つとなっています。

以上の通り、レガシーシステムは基幹系システムといった特殊な用途のために長い間利用されてきたアーキテクチャで、機能的には大きな不満要素は無いものの、技術の風化や経済合理性と全体最適の観点から見ると見直すべき大きな課題があります。

via PressSync

LinkedIn にシェア
[`evernote` not found]
Pocket

Leave A Reply

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください