2020/10/1 東証 全取引停止 システム障害から学ぶ非機能設計の重要性

ITエンジニア

こんにちは、ダイエット夫です。

本日は時事ネタです。

2020/10/1、東京証券取引所(東証)がシステム障害に伴い全ての取引を停止しました。

全銘柄の売買停止に至る大規模障害は、2005年11月以来、約15年ぶりと言われています。

この衝撃的な障害について、公開されている範囲の原因を教訓として

システムの非機能設計の重要性についてお伝えしようと思います。


システム障害の原因

東証は富士通社が開発した「arrowhead」(アローヘッド)と言うシステムで

サービスを提供しています。

東証は会見にて原因を以下のとおり説明していました。

システムを構成する2台の共有ディスク装置の1号機に異常が発生した。異常の原因は装置のメモリ故障である。

共有ディスク?メモリ故障?

2台のうち1台だけ壊れたのなら、システムは使えるのでは?

これはどういうことでしょうか?


原因の解説

そもそも「システム」とは、サーバー(とてもスペックが高いPC)上でプログラムが動作し、手作業で実施していた業務を自動化するものです。

サーバーは物理機器ですので、CPUやメモリ、ディスクが突然壊れることがあります

いつ何時壊れるかは判りません。

そこで、プロのITエンジニアは物理機器が故障した場合でも

業務が止まらぬよう、対策を講じるのです。

これが「非機能設計」です。

ここからはダイエットの夫の推測ですが、

アローヘッドでは、サーバーが壊れても大切な取引データが失われないよう

物理的に分離した共有ディスク装置を設け、更に共有ディスク装置を2台で構成することで、

1台が故障しても業務を継続する設計だったのでしょう。

下図は2台以上機器が並んでいますが、大体このようなイメージです。

引用元 日立ストレージの基礎知識

一般的に見て、この設計はかなり堅牢と言えます。

サーバーや共有ディスクはとても高価ですので、絶対止まってはいけない東証はしっかりとIT投資をしていると見えます。

ただし最も重要なポイントは、装置に故障が発生した際に

自動的に2台目(バックアップ機)に切り替わることです。

今回の東証システム障害では、この自動切替が正常に動作しなかったことが問題なんです。

通常、バックアップ機に自動的に切り替えるためには専用のソフトウェアを使用し設定しておきます。

そして、システム開発時に疑似的に1台目に障害を発生させて、2台目に切り替える試験を行います。

運用期間に入った後も定期的にメンテナンスを行い、設定が正しいことを確認します。

では東証システムでは、システム開発時に正しく試験したのか?

あるいは運用期間中に変更した設定が誤っていたのか?

これはまだ公開されていないため、定かではありません。

いずれにしても、システムとしてあってはならないことなんですね。。




非機能設計の重要性

今回のシステム障害を受けて、非機能設計の重要性を感じて頂けた方もいるのではないでしょうか。

システム開発では、機能設計に焦点が当たることがほとんどです。

どのような画面デザインか?

システムの使い勝手は十分か?

これらが満たされると、ユーザーは満足します。

ただ、どんなに非機能設計を充実させたとしても、ユーザーは満足することはありません

何故なら、きちんと動いて当たり前だから。

一方、障害が発生して業務が止まるとメチャメチャに怒られます

下手したら損害賠償もの

非機能設計はとても辛い。。プロ意識が求められる仕事なんですな。

そう、縁の下の力持ちと言ったところでしょうか。


さて、少しマニアックな話になって参りましたのでこの辺りにしておきましょう。

何でこんなに熱く語るかって?

実は、ダイエット夫も非機能設計を専門としたITエンジニアの経験があるためです。

今回ご紹介したシステム障害対策は、非機能設計のほんの一部です。

機会がありましたら、その他の重要なポイントも纏めて行きたいと思います。


おまけ

非機能設計には、システムインフラストラクチャーの技術を習得する必要があります。

独学で習得することは困難ですが、そんな中でもダイエット夫がオススメの書籍を紹介します。

ネットワーク技術に特化していますが、まずはネットワークを知らずにインフラは語れませんので、ご一読をオススメします。

コメント

  1. […] 2020/10/1 東証 全取引停止 システム障害から学ぶ非機能設計の重要性 […]




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