Company DX

新着情報

システム障害

4/6にNEXCO中日本のETCトラブルで大渋滞や事故が発生したとの事でシステム障害について少し考えてみましょう。

.

システムの障害は大きく2種類に大別されます。1つはハードウエアに起因する障害、もう1つはソフトウエア(プログラム)に起因する障害です。最近は機器の信頼性もあがり、クラウド化も進みハードウエア障害はめっきり少なくなりました。一方ソフトウエア起因の障害は今も昔も少なくなっているようには思えません。

何故か?それは今も昔もプログラムを人が作っているからです。人は必ず失敗をします。人は異動や転職、退職をします。つまり全てを良くわかっている人がいる環境の方が少ないのです。

.

では、どうすれば良いのでしょうか? 引継ぎやドキュメントの整備は大切ですがそれらには限界があり、私はそれらをあまり信用してきませんでした。システムはプログラムの集合体で、引継ぎやドキュメントはそれを補足する情報でしかなく、間違っている事も多々あります。最後はプログラムの問題を発見するしかないのです。でもそれは容易な事ではありません。

.

プログラムを作った事のない人にはわからないと思いますが、何十年も前、誰かが作った複雑なプログラムに変更をかけるほど神経を使う仕事はありません。早くAIにプログラム修正の能力を持ってもらいたいと心底思っています。

.

そんな能力のない私は今まで下記を心掛けやってきました。

1)理解できないプログラムは自分に自信のある方法で再作成。

 プログラムは所詮、インプットに何等かの処理を加え正しいアウトプットを導き出すものに過ぎません。何等かの処理の方法が理解できないときは、自分で信頼できる方法で1から作り直す事を提案し実行してきました。

2)リカバリー方法を準備しておく。

 プログラムにミスはつきものです。でもミスや障害が発生する事を前提にシステム設計をしてきました。問題が発生しても直ぐに戻せるように準備しておく事は勿論ですし、業務部門への周知は勿論、障害時の業務対応方法まで自分達で考えて提案していました。

.

今回のETC障害は復旧迄に38時間を要しています。原因はプログラムの問題だと思いますが復旧にそれほど時間がかかる理由が私には理解できません。プログラム更新を行った人を責める事はしないでほしいですね。それ以上に経営層はマネージメントが十分機能していなかった事を反省し、今後のシステム改修に生かしていただく事を切に願います。

.

2025年4月7日

« »