全銀の障害について思うこと
少し旧聞だが、2023年10月10から11日にかけて全国銀行データ通信システムがダウンしたことによって、複数の銀行が振り込みなどの取引ができなくなりニュースになった。
いつものようにメディアがこぞって非難する形となり、挙句の果てには金融庁が全銀ネットなどに報告徴求命令を出して晒上げるほどの事態となった。
実際はこんなに騒ぎ立てるほどのことなのだろうか。
信頼性の指標として、平均故障間隔(MTBF -- Mean Time Between Failure)という指標がある。1973年4月9日に稼働を開始して、今回がはじめての障害とのことであるから、
$ python
>>> import datetime
>>> datetime.date(2023, 10, 10).toordinal() - datetime.date(1973, 4, 9).toordinal()
18446
>>> 18446 * 24
442704
なんと50年間無故障、つまり44万時間!そんな超絶優秀なシステムが他にあるだろうか?ちょっと思いつかないよね。
稼働率はなんと99.98%——3 9s——である。
>>> 18445/18447
0.9998915812869301
世界標準なクラウドサービスプラットフォームであるAWSでは、金融のサービスは1年間のうち故障時間は1分以内——5 9s——の信頼性が望ましいと書いてある。これによると確かに落第ではあるかもしれないけど十分じゃないだろうか。(そもそも、しょっちゅう障害を起こしているAWS自身が5 9sの信頼性があるのか私は疑っている。)
少し前にも、つくばエクスプレスが20秒早く出たことで謝罪をしたってニュースがあった。
日本の公共システムに対する期待が高すぎるんじゃない?
私は付き合いでAPEX LEGENDSというFPSを時々やっている。
少し調べると分かるように、APEX LEGENDSはバグだらけで有名だ。
つい先日もまったくでたらめのキルレシオが表示されて仲間内で相当に盛り上がった。「EAはとうとう142
割る132
もできなくなってしまったのか。」と。
このことは、
「はじめてプログラムを学んだ人でもできる簡単な割り算ができないくらいEAのプログラマは無能だ。」
ということを意味するのだろうか。
「まったくそんなことはない。」
と、私は断言しよう。
そもそもAPEXは相当に技術的に困難なことをやってのけていると思う。プログラムはほんの少しのミスで意図しない動作をしてしまう。度重なる仕様変更と、短い開発期間ではミスをしない方が難しいだろう。
EAのバグが示すように、見た目には相当簡単に思えることでも実際は非常に難しいということがある。人生で一度も誤りを犯したことのない完璧な人間でなければ、システムの不具合を必要以上に責め立てるのはやめるべきだ。