orangeitems’s diary

40代ITエンジニアが毎日何か書くブログ

障害対応のときに思い出す一言「世界初がここで起こるはずがない」

f:id:orangeitems:20190923000619j:plain

 

システム運用と障害対応

システム運用の仕事をすると避けて通れないのが障害対応です。あのコンピュータというものは絶対壊れない、ずっと同じことができる、という顔をしているのに突如、異常な動作をするのですから困ったものです。最近は要素技術もどんどん複雑化し、何か問題が起こった時にどこに原因があるかを突き止めるのも高度化しています。原因は一か所ですがそこから波及して二次的にいろいろなことが起きます。

システム運用をITエンジニアのキャリアパスにおける墓場のような言い方をする人がいますが、そんなことは全くなくて、運用を正しくできる人というのはどの現場でも重宝されます。システムが安定して動くというのは今や会社活動の基礎となっていて、これを下支えする仕事に価値がないはずがないのです。今のシステムをきちんと運用できる人は、複数のレイヤーを正しく理解し誰かに伝えられる人であり重宝されて然るべきです。システム運用の仕事を、「障害が起きなければ普段何もしないので楽でいいよね」、なんていう人が未だにいます。起きないのには理由があるのですが、なかなか伝わらないのはいつものことです。でもわかる人にはわかるし、見ている人は見ているので日々精進するしかありません。わかっていない人の相手をするのは時間のムダです。放っておきましょう。

さて、この日々難しくなっていく障害対応ですが、私の二十数年の経験の中で思い出に残っている言葉があります。

 

ほぼ全ての障害は「既知の障害」であると考えて行動すること

私がSESで某有名企業のデータセンターに入っているときに、その部署の管理職が叫びました。

 

「今日起こったこの障害が新規の問題であるはずはないだろう!。世界中で使われているこのソフトウェアが、なぜ世界で初めてここで未知の障害を起こすんだよ。世界初がここで起きるわけがない!」

 

もう十年前くらいの出来事ですが、今でも十分に通用していてとても心に残っています。

なお、SESは悪の根源のように言われていますが、若いうちは自社の頼りない先輩より名の知れた常駐先の優秀な社員から学んだほうが相当に学べます。年齢を重ねるとSESは給料に見合わなくなるのでどこかでおさらばしたほうがいいのは事実ですが、修行の場としてはアリな側面もあると思いました。実際このケースでも、私はSESの体験の中で学んでいます。SESでいくつかの現場を体験できたのは今の血肉となっています。

さて、障害対応のときに私はいつも上記の「世界初がここで起こるわけがない」という言葉を思い出すのです。実際、世界初は起きません。絶対に未知の問題などない、と思って障害対応をするとたいてい、既知の問題にたどり着くことが多いです。実際多くの人々が使うソフトウェアで、世界初の出来事なんてほぼ起こりえません。しかし障害対応に慣れていない人は簡単に、「既存の事例はありません」と言いがちなのを知っています。それは検索・調査の粘り強さが足りないのです。未知の問題であると言い切るとき、それはけっこう大胆なことを言っていると自覚すべきです。もし、実際世界初の問題であったときは胸を張ってもいいと思います。世界初を自分が発見することは名誉に値すると思いますが、実際そんなことはほとんどありません。世界に人口が70億おり有名なソフトウェアを使い、そして世界発が目の前で起こることなどない。そう考えていくと、やはりどんな問題でも既知の事例だとまずは認識し、その情報を探し出せないのであればベンダー保守にて既存事例を調査してもらう。それでベンダーが「未知」と言ってもすぐには信用せず食い下がって、「資料取りをするので詳しく調査して頂けませんか。」と伝える。ベンダー保守と協力関係を保って継続調査をしていくと、「実はこの問題でした」と口を割るのがほとんどの認識です。ベンダー側のサポートエンジニアが、問い合わせ後すぐに「未知の問題」と言ってきた場合は私は疑ってかかるようにしています。

 

ナレッジベースをWeb公開しているソフトウェアを選ぶべし

新規システムを設計する際のソフトウェア選定基準にて重要視していることがあります。そのソフトウェアのサポート情報がWeb公開されているかどうかということです。VMwareですと、VMware Knowledge Baseというサイトが公開されています。RedhatもKnowledgebaseというサイトを公開しています。全世界からの問い合わせを公開し、ユーザーが検索できるようにしています。ほとんどの障害が既知の問題であると仮定した場合、このようにサポート情報が公開されていれば自力で検索し原因や対策が記載されている文書を調べることができます。私は極力、サポート情報が公開されているソフトウェアを選択するように努めています。もしソフトウェアが先方指定の場合は、そのソフトウェアを自分のサポート範囲から外すように調整しています。

サポート情報が完全にクローズドなソフトウェアは、障害発生時にベンダーのサポート担当者の品質に足を引っ張られる場合が多く、選ばないに越したことはないと考えています。素晴らしい担当者もいらっしゃいますが、いざと言うときに選べませんからね・・。ナレッジベースのないソフトウェアは、利用実績が少なかったりサポートが貧弱だったりすることが多いです。

最近はサポートに聞くよりナレッジベースを検索するほうが9割9分解決できると思っています。9割9分が既知の問題であれば、関連記事がほぼありますから。