サーバーを運用していて、障害対応の時に感じた不思議。
こんにちは。
ネタ尽きの時にはポエムを書きます。
サーバー運用管理者は何故だか運用にも従事するのが普通になっているんで鉄火場ならではの不満やらには事欠きません。
今回お話しますので、不満…というより不思議だった事です。
障害対応ってのはサービスの継続という目的のために、障害の特定から暫定対応・復旧までありとあらゆる技術や知見を投入して一点突破する、そんな感じであります。
それまで積み上げたものを一気に開放する、実力が一番問われる瞬間です。
そういう場ですので、エンジニアそれぞれの特殊能力が現れる特異な状況ということになります。
そして障害対応から得られる経験・知見は後進の教育に大変有用でして、脳への刷りこみも強いですし、きつい体験にはなりますが関係したエンジニアの血となり肉となるものになりますね。
ですので障害対応が完了した後の振り返りはお宝を拾い集めるようなものと考えています。
全ての現場がこれを行っているかは知りませんけど、是非やるべきだと思います。
以下を纏めると良いと思います。
- 障害原因
- 障害検知はどうやって行われたか
- 暫定対応内容
- 本対応
- 対応にかかった時間(時系列で一覧できると良い)
- 関係者への連絡はどうだったか
特に失敗や良くなかった点を共有するのは大変良い糧となりますね。
意外とエンジニアが見落としがちなのが関係者への連絡で、これの不備や失敗の実績はその後の障害時の連絡体制の改善に役に立ちます。
私はこういう活動を長くやっていたんですが「これをやった方が良いのにな〜」とか「皆気にならんのかな?」と不思議に思っていたのは、どういう思考プロセスで障害特定に至ったか、ということでした。
後進の若いエンジニアにとって、先輩達の障害対応の様子は雲の上の存在を見るような思いをすることがあると思います。
私はケチョンケチョンにやられたルパンのような駆け出しの頃に、先輩やら出入りの凄腕エンジニアさんを見て、
この人、天才か?!
と思うことが多かったです。
今になって「そういや自分はあの頃の彼等のようになれているだろうかなぁ…」なんて懐かしくなります。
私がそういった凄腕のパイセン達によく「それを原因と思った理由は何ですか?」と聞いたものです。
一見勘でやってるように見えて、掘り下げてみると結構ロジカルに解に至っていた事が多かったです。
「〜〜ログに出てた〜〜のメッセージがあったから〜」とか、「あの事象とその事象がこの順番で起きたということは〜」とか、本人は総合力で判断しているので自覚はしてないようなんですが、詳しく聞いてみるとしっかりと他の人にも納得させられるような理由からだったんですね。
当然それらの理由に思い当たるには、常に引き出せる状態の知識の引き出しが多くあることが前提です。
経験や勉強に裏打ちされた実力あってのものですね。
それゆえ、聞いた次の日から自分にできるものでは無かったですが、彼等にあって自分に不足している知識は何なのかが明らかになってくるので、勉強するべき事は何かとか、彼等のようになりたいと思うことが勉強する意欲となりました。
今駆け出したサーバーエンジニアの方でも、上級のエンジニアと組むことがあると思います。
障害対応で目を見張るような発想をしていると思えたら、積極的にその思考プロセスについて質問してみると良いと思いますよ。
上級エンジニアも褒められてるみたいな気持ちになるので、快く教えてくれるんじゃないでしょうか。