見出し画像

全銀システムのトラブルに思う

全銀システムでトラブルが発生した。一部のシステムを更新したところ、障害が発生したらしい。身につまされる話だ。システム更新前には、各銀行との接続試験もしたという。

「試験したはずなのに」

そういうことはよくある。
本当に、よくある。
実際の運用は、一種の魔境だ。どれだけ試験を尽くしたつもりでも、運用で問題が発生し得る。問題が発生する可能性を極力小さくすることはできるかもしれないが、障害が0であると証明することはできない。規模が大きいほど、内容が複雑であるほど、担当者が多いほどリスクは高くなる。

今回の問題で一番に思い付くのは「タイミングの違い」だろうか。試験ではどうしてもお行儀のよい手順を実施しがちである。でないと結果の正当性を確認しにくいということもある。うん百万のデータをデタラメに放り込んでも、そのうん百万が適切に処理されたのかどうかを判断するのは難しい。試験したとしても
正しいことを判断できなければ無意味とも言える。だから、複数の銀行からほぼ同時に事象が発生したとか、そういうような場合でも間違いなく順番に処理できるのかとか、さらに多くの銀行からの事象が同時に発生した場合でも問題はないのかなどといったあたりは弱くなりがちとなる。タイミングでなくても、想定外の文字コードがあったとか、想定外の長さの文字列があったとか、想定外の金額があったとか、などなど、多数の銀行と接続する場合は少し変わったデータを送信してくる銀行があるという可能性も考えられる。いずれにしても、それまで実施してきた系統的な試験に隙間があり、運用時にはその隙間をついて問題が発生する。

あるいはまた、更新したシステムには問題はなくても、更新作業に問題があったという可能性もある。ケーブルの接続間違い、接続不良、スイッチの設定ミス、パラメータの誤り、etc、etc。こういうトラブルは対策は難しくはないがそこに問題があるとたどり着くまでに時間がかかることも少なくない。私自身もスイッチを減らしたいと言われたこともある。運用に際しての設定ミスを避けたいためだ。

今回のトラブルでもう一つ気になるのは、復旧までの長さである。365日24時間連続の運転を求められるシステムは、復旧時間の短縮も迫られる。一番単純な対策はリセットしてしまうことであるが、リセットする状況になかったのか、あるいはリセット前の情報収集に時間がかかったのか、もしくはリセットしても再発したのか。中継システムということであったので、あまり込み入った情報を内部に有しているとも思えないのだが、そう単純ではなかったかもしれない。接続している周辺装置との兼ね合いということもある。

今回のような長く使われているシステムでは、古い技術が残っていることも多い。大きなシステムであるほど一斉に新しい技術への移行が難しい。そのような場合、徐々に移行していくことになるが、中央に位置するような装置の場合は新旧両方の技術をサポートする必要にも迫られる。さらにまた、新旧の橋渡しが必要なことも少なくない。そして、そういうところにもまた問題が入り込みやすい。

一昨日、無事に復旧したようである。とりあえずは何よりだったが、エンジニアはそれこそ寝る暇もなかったかもしれない。これからもまだ、原因究明に追われるのだろう。できれば、個人を責めないでいただきたい。そもそも、一人の個人を責めているようでは、企業としての未来はないし存在意義もない。設計し、その設計内容を審査し、さらに幾重にも試験をするなど、何重にもガードはかかっているはずである。それを突破して問題は発生した。あるいは、クロスチェックがうすくなっていた可能性もある。考えたくはないが全体的に技術力が低下していたということも考えられなくはない。

単純に責めるのではなく、問題点を見つけられやすい環境も必要かと思われる。間違いを間違いとして報告しやすい環境、間違いにまっすぐに向き合うことができる環境、そういう環境が必要だ。上の人間はすぐに何故何故という。何故間違えたのかなど、間違えた本人にもわからない。急いでいたのか、別のことに気を取られたのか、ただの勘違いなのか。そして問題はそこだけにあるのではない。企業として組織を組んで開発作成したはずだ。その組織が、一つの間違いを見つけられなかったこともまた問題なのだ。特定の人だけを責めるのではなくて、組織として同じ間違いを二度と起こさないようにする手だてが必要だ。

「さあ、原因を特定して対策を講じようではないか」

そう言って自由闊達に議論できる場所であってほしいと、技術者の一人としてそう願う。



この記事が気に入ったらサポートをしてみませんか?