0207|09|
2007|09|10|12|
2008|01|02|03|
2009|01|05|08|10|11|12|
2010|01|02|03|04|09|11|12|
2011|01|02|03|04|05|06|07|08|09|10|11|12|
2012|01|02|03|04|05|06|07|08|10|11|12|
2013|01|02|03|04|05|06|07|08|09|10|11|12|
2014|01|02|03|04|05|06|07|08|09|10|11|12|
2015|01|02|03|04|05|06|07|08|09|10|11|12|
2016|01|02|03|04|05|06|07|08|09|10|11|12|
2017|01|02|03|04|05|06|07|08|09|10|11|12|
2018|01|02|03|04|05|06|07|08|09|10|11|12|
2019|01|02|03|04|05|06|07|08|09|10|11|12|
2020|01|02|03|04|05|06|07|08|09|10|11|12|
2021|01|02|03|04|05|06|07|08|09|10|11|12|
2022|01|02|03|04|05|06|07|08|09|10|11|12|
2023|01|02|03|04|05|06|07|08|09|10|11|12|
2024|01|02|03|

2020-10-01 ―― ダウンしないシステムなんて、存在しない [長年日記]

本日、東京証券取引所のシステムがダウンしました。

Today, the Tokyo Stock Exchange system is down.

原因については不明ですが、システムエンジニアとして申し上げることができるとしたら、

I'm not sure what caused this, but as a systems engineer, if I could offer something to you, it would be

――『各期、連休等の初日と最終日は、システムは停止するものと考えておくこと』が肝要

"It is essential to assume that the system will be shut down on the first and last day of each term, consecutive holidays, etc."

ということです。

システム保守や、システムリプレースは、期末に行われ、その起動は期の初日に行われることがあるからです。

This is because system maintenance and system replacement may take place at the end of the period, and its launch may take place on the first day of the period.

どんなに事前にチェックしても、「テスト環境」と「運用環境」は違います。

No matter how much you check in advance, there is a difference between a "test environment" and an "operational environment".

現実世界の、全ての状況を想定したテストというのは、夢物語です。

Testing for all situations is just a dream.

どんなシステムも、基本的には「ダウン」する運命にあるのです。

Any system is essentially doomed to go "down".

で、その「ダウン」のポテンシャルが最大化するのが、「各期や連休等の初日と最終日」ということです。

And that "down" potential is maximized on the first and last day of each period, holiday, etc.

-----

ところで、システムを様々なシナリオで攻撃することで、製品の弱点を見つけ出す役割の人を「テスター」と言います。

By the way, the person responsible for finding weaknesses in a product by attacking the system in various scenarios is called a "tester".

米国赴任中に、私、テスター用のプログラムを作り、各種の攻撃を仕掛け続けていたのですが、

While I was stationed in the U.S., I wrote a program for our testers that kept launching all sorts of attacks.

―― なんとなく、チームメンバから嫌な顔をされていました。

"Somehow, I was getting a bad look from my team members"

特に、開発者は、私がパーティションに顔を出すだけで、「あの日本人が、また来た」という顔をしていたように思います。

In particular, the developers seemed to get that "that Japanese guy is here again" look on their faces when I just showed up at the partition.

無理はありません。

It's reasonable.

そりゃ、作ったばかりのコードは、自分の創作物であり、自分の子どもです。

That's because the code they just created is their own creation and their own child.

それを、いきなり「苛められる」のですから、愉快であろうはずがありません。

It can't be pleasant because they are suddenly "tortured".

-----

逆に、私が作った開発物を、他のテスターによって攻撃されることがありましたが ―― 私も不快でした。

On the other hand, there have been times when I've been attacked by other testers on developments I've made -- and I've been uncomfortable, too.

それが、仕事であることは分かっていても、です。

Even though I know it's just a work.

そんな日は、『ダウンの再現条件を、ちゃんとスペックアウトしてこいよ!』などと愚痴を言いながら、強い酒を飲んでいました。

On a day like that, I said that "spec out the conditions for reproducing down" and I was drinking with complaining about such things.

まあ、仕事というのものは、理不尽なものである、ということです。

Well, I can say that works are unreasonable things

-----

ともあれ、システムエンジニアの一人として、

Anyway, as a systems engineer,

―― ダウンしないシステムなんて、存在しない

"Any system goes down"

ということだけは、申し上げたいのです。

I would like to say that.