巻き込まれた方もおられるのではないか。3連休明けの10月11日に起きた全銀ネットワークのトラブル。三菱UFJ銀行など全国10の銀行から他行への振り込みが出来なくなった。この状態は次の日まで丸二日続いた。
このトラブルからの回復過程などが報道されるに及んで、一応IT業界の隅っこにいる者として一言言いたくなったので、予定を変更して書かせていただく。
それは、このトラブルへの対処方法が私の常識からかけ離れていて、凄く驚いたからだ。
通常、今回のようなシステムの更新・バージョンアップに伴う移行作業で障害が発生した場合、切り戻しという手法が採られる。これは更新・バージョンアップ前の状態に戻すことで、言わば、移行を「なかったこと」にするということだ。
私も何度か、このようなシステム移行作業の切り戻しを体験している。
こうした作業は今回のように連休をよく使う。休日にシステムを全面停止させて、その間に移行を完了させる。スケジュール表をつくり、チェックポイントをいくつか設けて、そのチェックポイントの予定時刻にデッドラインを設ける。そのデッドラインの時刻までにその作業が完了しなかったら移行は諦めるのだ。
そこから切り戻しがはじまる。元の状態に戻す。もちろん、この作業にも手順が決められていて、その手順に従って淡々と元に戻していく。そういう作業だ。
失敗したのだから、作業が面白かろうはずはない。ただ、休日明けの業務に支障が出ないように慎重に、静かに、黙々と実行していくだけだ。
報道によれば、今回このトラブルを収束させるために全銀ネットワーク運営者が採った手段は、この切り戻しではなく、ソフトウェアの修正だったという。
だから私は驚いたのだ。
これは、私の感覚では、非常に危険。ソフトウェアの修正がさらなるトラブルを引き起こす可能性が高いからだ。
そもそも、この段階まで来てソフトの修正が可能なのであれば、その修正を最初から施しておいたはず。それができなかったのに、あの期に及んで(変な日本語ですが、過去のことなので「あの」としました)踏み切るとは。度胸があるのか、最初から第二の手段として用意していたのか。
いや、用意していたはずはない。用意していたのなら初日に実行していたはずだから、トラブルが次の日も続くことはなかったはずだ。
私なりに、なぜソフトウェアの修正という「危険」な手法を採ったか、その理由を考えてみた。
(1) ハードウェアの更新は元に戻せなかった
今回の移行はハードウェアとソフトウェアの両方の更新だったという。ハードウェアを切り戻すことが何らかの理由で不可能だったことは考えられる。
ただ、機械が凄く古いなどの理由で技術的に不可能だったのか、予算か契約の問題でハードウェアの更新だけはやっておかないとヤバいことになるためなのか、その辺はわからない。
(2) そのソフトウェアは元々危なかった
技術者の中に、今回修正したソフトウェアがトラブルを起こす可能性を以前から指摘していた人がいたのではないだろうか。実際に起こって「それ見たことか」と思ったその技術者は、かねて考えていたこのソフトの修正を提案した。そして、上がそれを承認した。
ただ、その割に二日もかかってしまったのは情けない。
(3) 一般ユーザー対応を優先した
報道によれば、修正したソフトウェアの機能は銀行間の手数料に関する部分だという。そして、修正の方法は、この機能を取っ払ったことだという。
「何だ、トラブルを起こした部分をコメントにしただけなの」と私などは思った。「コメント」とは、実際のプログラムの中で、命令や機能を記述している箇所ではなく、そこに書いてある命令や機能が何をしているのかを人間が見てすぐわかるように普通の言語(つまり日本語や英語)で説明している部分のことである。つまり、実機能はない。
プログラミング言語には必ず、「ここからがコメント」という記号と「ここまでがコメント」という記号があって、その二つで挟んでしまえば、その部分は単なる説明書きとなるので、機能しなくなる。
昔よくやったよ。今でも、自社のホームページの文章を修正するときなどは自分でもやっている。かつてはこう書いていた、ということを記録しておくために、削除しないでコメントにして残しておくのだ。
この度の対処が本当にコメントにしたのかどうかなど知る由もないが、銀行間の取引にだけ関係のある機能で、実際に振り込みを行っている個人や企業には関係がないから、復旧を優先したのだろう。データさえ残っていれば、銀行間の取引など後で何とでもなる。そう判断したのだろう。
以上、だらだらと書いてしまいましたが、今回のトラブルにより、銀行間の送金を担うシステムが非常に古く脆弱であることが暴露された。ネットバンキング対応を急ぐ各銀行のシステム更新にもついて行けてないようだ。
三木谷さんと孫さんが手を組んで、3大メガバンクの一つでも巻き込んで「別の決済システムつくるから参加しませんか」などと誘えば、みんなそちらに行ってしまうのではないか。
かかる、あらぬ妄想までしてしまった、3連休明けの日々でした。