質問

2012年03月17日 12時09分
  • SQL Server2000や2003のEOL対策を検討しております

情シスのオープンナレッジ『Syszo』サービス終了のお知らせ

質問

現在、お客様向けシステム(WEBアプリケーション)構築を検討しております。

元のシステムアーキテクチャーは、DBサーバ:Windows Server 2003、SQL Server 2000を利用しており、WebAppサーバ:Windows Server 2003、.NET Framework2.0、ISS8.0、ADO.NETにて、ASP.NETによるシステムですが、下記の対策を検討中です。

案1)とりあえず、現行の環境にて開発を行う。
この案は、個人的には好ましい状況とは思えません。マイクロソフトのサイトを見ると、OSのメインストリームのサポートが終了しており、延長サポートは2015年7月14日、DBでは、延長サポートが2013年4月9日に切れてしまうことを考えますと、現行環境はいずれ、新しいアーキテクチャーに移行せざるを得ないたいと思っております。
ただ、なぜ、延長サポートまで終了するといけないのか、どのようなリスクが発生するのかを、上司にうまく説明しにくく、よい説得方法があればお教えいただけませんでしょうか?

案2)全て最新のアーキテクチャーに置き換える。
この案は、一見よさそうですが、「既存のシステム資産がうまく移行できるかどうか見極めにくい」、「新しいアーキテクチャー上での稼働実績や実例が少ないため、開発中に想定しない初期バグなどにて、想定外の開発工数がかかる不安がある。」ことも考えられます。

案3)折衷案を考える
具体的には思いつきませんが、5年ぐらいの延長サポート期間があれば、そのアーキテクチャーを今使用することも考えたいと思います。

他にも、案があるかもしれませんので、よいお知恵があれば、お貸しいただければ幸いです。

よろしくお願いいたします。

3件の回答があります

回答

OSなどのEOLは悩ましい問題ですね。
ただ、これから作ってお客様に納める(?)システムとしてはあまりにも余命が短い気がします。

EOLに関するリスクとしては以下のようなものがあります。
1.リプレイスや故障交換のとき新しいハードウェアにOSやドライバなどがマッチしない。
2.上記の問題のために容量増加やパフォーマンスに問題が出た場合の拡張性が乏しくなる。
3.セキュリティパッチが適用されないなどのリスクがある。
4.ブラウザなどユーザー環境が新しくなる中で新たに発生した問題に対処できない可能性がある。

これらのリスクを許容できるのであればそれでも良いと思いますが、
私がユーザーならもっと新しいアーキテクチャでの開発を望むでしょう。
特に1.に関しては、HWを更新できないということですので、致命的なリスクとなりえます。

しかし、案2の全て最新のものに置き換えるというのもリスクがあるというのはご指摘のとおりです。
私なら、この構成であればOS、SQLServerは新しいものに置き換えますね。古すぎます。.netFrameworkもバージョンアップを検討すると思います。

もう一つ、ユーザー側が許容するかが微妙なところですが、
折衷案として、仮想環境で構築するというのも一つの手だと思います。
上記の1、2に関してはクリアできるはずです。
社内システムのリプレイスであれば十分検討に値するでしょう。

スケールアップ拡張時にメモリ容量限界の問題がありますので、
仮想環境で構築するにしてもOS、DBともに64bitにするのが良いと思いますが、それほどパフォーマンスにこだわらないのであれば、割り切ってそのままいくというのも方法ではあります。

2012年03月17日 19時28分
csp

回答

お疲れ様です。

メーカーのサポート期限というのは悩ましい問題ですね。

私の経験する限り、PKGメーカーでも普通にEOLが来ている製品ミドルウェアを対応バージョンと良い、現行のメジャーバージョンをのサポートとといわれることがあります。
(たとえば、未だにJDK4までの対応とか・・・)

開発メーカーはプログラムの安定動作が重きにしか考えないので、セキュリティとかそういった面が忘れられているケースがあります。

古い物を使うリスクを説明することが大事だと思います。
データーベースですから、ウイルス等のセキュリティ的な話などをされてはいかがでしょうか?
古くてぼろぼろな倉庫に大事な物は収めておきたくないと思います。
サポートのないDBサーバーは、警備のない鍵のかかったただの箱といった感じで、イメージしやすい形で説得されるといかがでしょうか?

弊社もそうですが、上層部がIT関係者でないため、なかなか難しいと思いますが、会社のリスクなると言うことを信じてがんばって説明をしてください。

2012年03月19日 21時35分

回答

私だったら...
「お客様向けシステム」というのが”お客に納品するシステム”か”お客が使用する(システムは社内にある)”かで多少、事情が変わりますが...
・お客に納入するシステムなら、すべて最新のものにします。たぶん”仮想化による旧ハードの延命”も行いません。
・お客が使用するシステムなら古いハードを生かして仮想化は考えますがアプリは最新にしますね。

どのようなリスクが発生するのかを、上司にうまく説明しにくく、
「お客様向けシステム」でのリスクは絶対に回避すべきです。障害がおきたらお金もそうですが”信用”を失ったら取り返せません。(「古い物を使いました」は言い訳にもなりません)

社内で使うシステムなら話は逆で古いものを生かして費用削減を狙います。(が さすがにウチでもSQL2kは無いなあ)

2012年03月25日 18時25分

あなたもコメントしましょう!