2020年10月1日、東京証券取引所がシステムトラブルで終日取引を停止するという衝撃的なニュースが出ました。
私も含め、証券・金融関係のシステムに携わるメンバーも少なくないですが、直接取引と関わるシステムではないためか、結局のところ影響はほとんどなかったようです。
私の担当するシステムでは、接続先でその日を休日と同じ扱いにする対応をされたことで、翌日は通常の運用に戻ることができました。
トラブルの原因は、記者会見などの発表によると「システムの共有ディスクのメモリーで障害が発生した。障害が発生した場合待機系システムに自動的に切り換えて稼働を続ける想定だったが、切り替えが出来ずに止まってしまった」ということでした。
また、再起動による当日中のシステム稼働に踏み切らなかった理由としては「東証のシステムは多くの証券会社等のシステムと繋がっており、強引に再稼働をすることによる二次災害のリスクを考えた」という説明がありました。
社会インフラとして重要なシステムは、それだけ信頼性・継続性が求められます。
毎日何のトラブルもなく、平穏に稼働し続けなければならないわけです。
そのために、ソフトウェア・ハードウェアともにテストを十分に行なうことは当然ですが、いくら想定しても想定しきれない不具合は存在するでしょう。
どうしてもシステムを停止しなければならない場合を考えて、緊急時の対応手順や取り決めなども設定されるかと思います。
私たちが担うソフトウェア開発の現場では、不具合を残さない・作りこまないことが重要です。
どうすればソフトウェア品質を維持できるか、保証できるかを考えながら、日々努力を続けています。
今回の件はどちらかというとハードウェアが原因だったようですが、末端でもシステムに携わる者として、改めて気を引き締めたできごとでした。