orangeitems’s diary

40代ITエンジニアが毎日何か書くブログ

システムリプレースの難しさは不条理と共に

 

システムをリプレース(更新)するというのは、本当に難しい。

仕様は全く同じなんだから、ハードウェア、OS、ミドルウェア、もろもろ新しくしてよ、というシンプルな話のはずである。しかし、実際は難しい。シンプルなのに難しいものだから、そこにお金がかかりますよ、という理屈もなかなか通りにくい。

 

え、そんなにかかるんですか、と。それならリプレースしません。そんな判断も一瞬合理的に思うが、それを是とするためにはたくさんの確認項目が生まれる。

システムが、他のネットワークシステムと完全に切り離され、単独で動いているとすればまだいい。脆弱性があってもアクセスが限られるからうんぬんかんぬんで逃げられるケースもある。実際のところ、本当に切り離されているというのは、ドアのない家みたいなもので不自然極まりないのだが。

しかし、たいていのシステムは外とつながっている。つながっている外のシステムが、ある日この塩漬けシステムを拒否し出すのだ。プロトコルが古い、暗号化方式が古い、証明書が有効でない、外のシステムもセキュリティーを守るのに必死なので、塩漬けの化石システムからの接続をある日突然拒否し出しても文句は言えない。

また、ハードウェアの問題もある。古いソフトウェア群を動かせるハードウェアがいつまで手に入るか。ハードウェア発売から5年以内は考えなくてもいい話が、6年目を過ぎだすと、「その古いOSは動かないんですよ・・」という話がちらほら出てくる。

OSを仮想化しておけば・・というのもまた微妙で、今度は仮想基盤(ESXiやXen、KVMなど)が古いと、新しいハードウェアがサポートできなくなったりする。

ハードウェアは、常に最新のOSをサポートしようとするが、逆に古いOSの動作確認はやらない。従って、ハードウェアを新しくすると言うことは、新しい仮想基盤やOSを使うことが前提となるのだ。

 

塩漬けにするためのコストもかかり続けるなら、ええいめんどうだ、リプレースしようと思ったとする。それはそれで、じゃあOS、ミドルウェアなどを最新バージョンにアップグレードしたとして、じゃあ古いアプリケーションがそのまま動くかというと、これは全く保証できない。

また、不運にもサポート切れとなるミドルウェア等が、ベンダーの戦略転換などで最新バージョンが出ない、なんて場合もある。その場合、代替ミドルウェアに切り替えないといけないが、満足できる乗り換え先などないのが普通である。今風の機能はたくさん実装していながら昔のあの技術は使えなかったり、一部作り直しや追加開発が必須となったり。システムとは、作られたときに存在したミドルウェアの上で動作確認をしているので、動作確認から何から全部やりなおさないといけない。

シンプルな話がどうしてここまでややこしい話になるのか、と感じる人もたくさんいるだろうと思う。ただ、本当にややこしいので、それを実現するための費用も払ってもらわないと困るのだ。しかしリプレースした結果、新しいことができるようになるわけでもなく、価格が高すぎて既存の保守業者ともめるのは日常茶飯事なのである。

 

それなら・・ということで、じゃあそれぐらいお金がかかるなら、いっそ作り直しちゃうか、という議論が起こる。いくつか見積を取ると、リプレースするのと予算が大差ないことがわかる。ということで、この業界のシステム新規構築の話が絶えないのはこのためだ。

むしろこれで、すんなり新しくシステムが新しくできれば、まだいい部類の話になる。最悪は、「昔のシステムの仕様に合わせて」と条件にあり、その資料を見たら不完全極まりなく、ユーザーに仕様を教えてとお願いするも、忙しいだなんだと非協力的で物事の進みが極めて悪い。そのうち「これでは無理です」とベンダーがさじを投げ、そしてユーザー側がご立腹。そんな話を毎年のように聞く。

不条理なのである。いい加減この業界も、10年も20年も使い続けられるシステム構築ができるようにならないものか。しかしそんなことをしても自分たちの首を絞めるだけだ。システム構築が絶えない状況は、ベンダーにとっても利があるから。デジタルでロジカルなくせに、不条理が支配しているというのが、何とも皮肉だ。