障害発生しているのに製品を更新しない愚策

(若干毒を吐いています。注意。)

この話題はもしかしたらすでに何度もブログ記事にも書いたかもしれませんが改めて。いまだに「障害が発生しているにもかかわらず製品を更新することをしない」というナンセンスな事をしてしまっている例を散見します。

いや、私だってわかりますよ、製品を更新することによって逆に障害が発生してしまうケースはたしかにあります。だから「変化」に対して臆病になったり慎重になったりしてしまうことは理解はできます。

でもですね、流石に年単位で製品を更新していない中で障害が発生していて「製品の問題」が疑われるケースではまずさっさと製品を更新しましょうよ。

誤解している人がいるかも知れませんが、基本的に(まともな品質の)製品というのは更新することで安定化していくんです。沢山の人が使って問題が発見されて、それを修正するためのhotfixが作成され、そのhotfixによって問題が改善することが確認されればそれは製品本体に取り込まれます。

例えばある製品のあるファイルのバージョンが新しいものになっている場合、バージョンが新しいものはそれよりも低いバージョンに対して適用された修正が全て適用されています。(バージョン管理の仕方によりますが、一般論として。)

普段製品を更新していない中で障害が発生している場合その問題はかなりの確立ですでに修正されています。だから最新バージョンまで更新することで問題が回避される可能性はかなり高いんです。もしも未知の問題に遭遇していて、最新のバージョンでも改善しないケースがあったとしても、実際の問題の修正は何年も前のバージョンに対して行われるわけではなく最新のバージョンに対して行われます。とりあえず何がどうころんだところで何年も更新されていないようなケースではまず最新の安定バージョンまで更新するしか無いんです。合理的に考えて。

それなのに、そのような状況で障害まで発生しているのに製品を更新するという判断をしないのは仕組みを理解しておらず、合理的な判断をできていないだけだろうと私は考えます。

「変化させるリスク」もあれば「変化させないリスク」だって大いにあるわけです。セキュリティの話はまだ持ち出していませんが、セキュリティの話を加味すればより更新する必然性は高まるわけです。

なのに「更新するためにはまず更新しても大丈夫な事を証明しろ」的な発想になってしまうケースがよくあります。残念なことです。それで、まずは問題の状況を確かめるためにプロセスのダンプを取得して、メーカーで解析してもらって…というステップを入れたりします。これだけで数十時間の時間と数十万から数百万の費用が必要になります。でも、このステップを入れても入れなくても相当の確立で「XXXバージョンに更新」というのが次のステップになります。だったら調査ステップ入れるのって単に時間とお金の無駄ですね。この手の無駄が多すぎるのが私の実感です。

私が考える正しいステップは

  1. まず最新の安定バージョンまで更新する
  2. その上で障害の再現有無を確認する
  3. 障害が再現するのであればその再現手順を確立する
  4. 最新バージョンの環境と再現手順をしっかりと確保してメーカーに製品サポートを依頼する

です。

「最新バージョンで再現する」状況を作ることができれば問題は解決するでしょうし、そうでなければそもそも解決は難しいでしょう。

 

で、きっとこれを解決するためにはそもそも「クラウド」を利用してしまうのが良いのではと私は考えています。細かい変化がおきまくっていてもそれらを隠蔽してしまえばお客さんは気にならないですし、説明する必要もありません。(何かあったときにも全部クラウドベンダーのせいにしてしまうこともできますし。)

子供3人。家族優先。都内SIer勤務。Windows系中心のインフラよりの何でも屋。脱原発。 Microsoft MVP for Cloud and Datacenter Management.

コメントを残す

メールアドレスが公開されることはありません。