最近、システムリプレース(システムを新しくして置き換える案件)の話がやけに多い。
私はクラウドに関わっている、と言うと先進的に聞こえたのは昔の話。今や、数あるシステム環境の一つだと思う。
長くシステム環境を預かると必ずリプレースの話は出る。これはOSやミドルウェアのサポート期間があるために、どんなものでも入れ替える必要がいずれ迫られる。商売としてそういうふうにできている。
デジタルだから古くなんないもんという強弁に対し、巷のセキュリティー攻撃が血も涙もない攻撃を繰り返す。もうマッチポンプなのかと思うくらい、攻撃はIT業界の商売を助けていると思う。ソフトウェアは放っておいたら、脆弱性がどんどん出てきて、攻められちゃいますよ、と。脆弱性を作るのもソフトウェアの方なのだが、人間が作るものには絶対はない。
ここで「しようがないな」と予算を積んで更改してくれる企業もいれば、「ずっと安定して使えてるし何も昨日と変わりないからそんなお金使わなくていいだろ」と放置し、そしてランサムウェアにやられて何十日も業務に支障がでるなんて企業の失敗話、たくさんたくさんニュースで聞いた。
そして、これだけクラウドにたくさんシステムが動いているとすれば、クラウドの世界でもリプレースの時期がやってくるのは必然。もうクラウドが本格的に使われだしてから10年くらい経つので、世の中の半分以上はリプレースの話なんじゃないかな、とも思う。
リプレースをするために、じゃあ今っぽいスマートな設計にしよう、ということでここ最近、最新のソフトウェアを検証し続けているんだけど、とても感じることがある。昔の設計ってよくできてるじゃない、と。
本音を言えば、もう全部昔の設計のままで、ソフトウェアのバージョンだけ新しくしてそっくり移しちゃったほうがいいんじゃないのと思っている。でも、リプレースって、そんなに話は簡単じゃない。載せ替えにだけお金がかかって昔と今で何も変わらないと、お金を出す人(ユーザー)が難色を示しがちである。
数年で技術は確実に発達した(だろう)。だから、リプレースするとこんなに便利になったり、コストパフォーマンスが良くなったりする、というシナリオを期待しているユーザーはとても多い。
ところがどっこい。
よくできている現設計を見ながら、しかし、これがどれだけ良いのかについてはユーザーはあまり関心がない。もう何年も動いたものに対しては「古くなった」という感想しかない。しようがないことだが、これじゃ現設計も浮かばれないわな。
新しくすると、もっと良くなり安くなる。これは人々に備わるバイアス的な何かなのかもしれない。そんなことないな。捨てるばかりがリプレースじゃなく、伝承すべきものも多い。特に今私が関わっている仕事がそういう設計だから思う。
建築のように100年持ったりとか、コンピューターシステムにもそういう概念があったらもっと楽なのに・・と思いつつも。仕事を定期的に頂けるのはリプレースのお陰だし、と痛しかゆしの商売なのである。
そもそも、一昔のシステムって言ったって、構築した当初は頑張って新規プロジェクトでいろんな優秀な人が頭を動かしたわけだし。古くはないわけだ。ソフトウェアのサポート期間がただただ切れるだけ。
古いシステムでも優秀な設計はあるので、古さだけで設計の良さを過小評価するのはどうかな、と思ったのであった。