商品等のご購入はAmazonがおすすめ

全銀ネットでいったい何が起きたのかと、その後の展望

ニュース

発足後50年に渡り致命的な障害もなく稼働していた全銀ネットこと全国銀行資金決済ネットワークがなぜ急に大規模障害を引き起こしたのか。

憶測も含みますが、紹介しようと思います。

障害の原因

原因はRCと呼ばれる全銀センターと通信するための中継コンピュータをバージョン17から23に切り替える際にソフトウェアにバグが混入したこととのことです。

全銀システム障害と、同システムが目指す将来像【鈴木淳也のPay Attention】
10月10日から全国銀行資金決済ネットワーク(全銀ネット)が運用する「全国銀行データ通信システム(全銀システム)」で発生していたシステム障害は、12日朝8時半の営業開始時間(コアタイム)をもって解消された。一部、10日と11日に行なわれた“...

記事執筆現在はバグは修正され、障害も復旧しています。

障害の遠因

あくまでこれは予測ですが使用されているハードウェアもソフトウェアも規格が古すぎるのも今回の障害の一因だと思われます。

使用されているハードウェア

全銀ネットが全銀システムのオープン化を表明、開発言語はCOBOLからJavaに
全国銀行資金決済ネットワーク(全銀ネット)は2023年3月16日、2027年の稼働を予定する次期全銀システムの基本方針を明らかにした。現行システムの動作プラットフォームである富士通製メインフレームの製造・販売や保守の終了が決まっていることな...

この記事にあるように、全銀ネットのシステムにはメインフレームと呼ばれる汎用性のはの字もない太古のコンピュータが使われています。

全銀ネットのメインフレームは富士通製が採用されており、すでに富士通はメインフレームの製造・販売・保守から撤退を発表しています。

富士通がメインフレーム製造・販売から2030年度に完全撤退へ、66年の歴史に幕
富士通が2030年度(2031年3月期)末にメインフレームの製造・販売から撤退することが日経クロステックの取材で分かった。国内メインフレーム市場で首位(出荷台数ベース)を誇り、長年にわたり日本企業の情報化を支えてきた老舗メーカーが約66年に...

使用されているソフトウェア

レガシーとも揶揄されるメインフレームに加え、COBOLという1959年生まれの還暦を過ぎたおじいちゃんプログラミング言語を使用していたことも原因の1つと考えられます。

プログラミング言語人気ランキング
https://www.tiobe.com/tiobe-index/

古い=悪いとは言いませんが、古いかつ人気も低いとなると、そもそも扱えるエンジニアが限られ、開発が困難になります。

全銀ネットが選択した今後の展望

全銀ネットも上記した内容は問題だと考えていたらしく、以下のような対策を計画していました。

メインフレームとCOBOLからの脱却

今回の障害とは関係なく、全銀ネットはメインフレームとCOBOLから脱却して特定のベンダー(開発会社)に依らないシステムを作ろうとしているようです。

https://www.zengin-net.jp/announcement/pdf/20230316_basicpolicy_8Z.pdf

メインフレームからオープン基盤へ

オープン基盤とはメインフレームのような独自OSなどで構成されたものではなく、基本的にUNIX系やLinuxなどのオープンソースで構成されたコンピュータのことを言います。

ちょっとすごいパソコンみたいなイメージです。

COBOLからJavaへ

ソフトウェアも比較的新しく、人気も高いJavaというプログラミング言語に移行するようです。

オープン基盤かつJavaでの開発となれば多数のエンジニアが対応可能であり、ベンダーロックインに陥りにくいとの考えだと思われます。

実際、NTTデータ、日本IBM、NEC、日立製作所、BIPROGY(旧日本ユニシス)、富士通などの複数企業に次期システムの提案依頼を出したようです。

記事執筆現在ではNTTデータに決定したようです。

次期全銀システムの構築ベンダー決定
一般社団法人全国銀行資金決済ネットワークは、2023年9月14日開催の理事会において、次期全銀システム(ミッションクリティカルエリア)の構築ベンダを株式会社 NTT データに決定したことを発表した。
COBOLとJavaの比較

「Hello World」と出力するソースコード例を以下に示します。

000100 IDENTIFICATION DIVISION.
000200 PROGRAM-ID. HELLO-WORLD.
000300 PROCEDURE DIVISION.
000400 MAIN-PROCEDURE.
000500      DISPLAY "Hello World"
000600 STOP RUN.
000700 END PROGRAM HELLO-WORLD.
public class Main {
    public static void main(String[] args) {
        System.out.print("Hello World");
    }
}

Javaの方が大分わかりやすいですね。

ネット上で見かけたデマ

全銀システム復旧のめどたたずコボラー総動員中|Zun-Beho
なんと、COBOLがXでトレンドワードに。 昨日から引き続き全銀システムがダウンしたままで復旧のめどたたっていない様です。昨日の様子は下記のNoteにまとめたので合わせてご覧ください↓ コボラー総動員中 COBOL(Common Busin...
【魚拓】Xユーザーのてんまにちゃん‎٩(๑ᵕᴗᵕ๑)وさん: 「全銀「COBOLとかもう古いからjavaにするンゴ」 怪しい営業「それなら弊社の自動変換ツールで1発です...
- 2023年10月13日 17:38 - ウェブ魚拓

3通りのURLを貼り付けていますが、削除対策であり、3つとも内容は同じです。

あたかもCOBOL→Javaでの障害のように書かれていますが、記事執筆現在判明している記事では障害を起こしたのはメインフレームであり、次期全銀システムではありません。

しかも障害の原因が次期システムを担う「怪しい営業」であると表現しており、NTTデータへの名誉毀損と取られかねません。

安易に他者を貶める行為はしない、見かけても拡散しないようにしましょう。

まとめ

障害に繋がりうる要因を排除するのはエンジニアの責務ですが、システム開発に障害はつきものです。

批判はあって然るべきですが、誹謗はやめてあげてほしいです。

コメント

タイトルとURLをコピーしました