わすれっぽいきみえ

みらいのじぶんにやさしくしてやる

8日目: 本『Webエンジニアが知っておきたいインフラの基本』読んだ

前日に書いたようにインフラのお仕事も今年から増えてきたので、わからんじゃ困るしなと読んでみた。

サーバ構成の話やインフラ手配の話も書かれているが『インフラエンジニアの教科書』にも記載されていることなので一旦飛ばして、システム監視だったり、ボトルネック、チューニングレシピの方を先に読んだ。

『Web開発者のための大規模サービス技術入門』を一度は読んでいたので登場するコマンドやその使い方、リソースモニターの見方などの説明については内容こそ新しくなっているものの大きな違いはないように感じたが、個人的に面白かったのは「障害が発生したときの心構え」の話だった。

・落ち着いて
・冷静に
・大抵事前に決めた通りにすれば大丈夫なので、まずは勘に頼らずに事実とデータを見る
・自説にこだわらない。見切り・諦めを素早く。思い/期待通りじゃなくてもがっかりするのは後で
・うまくいかなくても担当者を責めない。判断誤りを責めない。結果を責めない。でも手抜きは絶対に許さない
・自分が知らないこと・知らない挙動があることを認識する
・ググって適当にコピペして満足しない。でも使えそうなら使う
・水分を摂る、甘いものを摂る、油物を摂る、深呼吸する
・意識的に一歩引く

せやなーwと思った。「あたりまえのことを当たり前にやるだけなのですが、それが大事で難しいのです。」の一言がとても重い。本当にこれに尽きる。この心構えはインフラエンジニアかどうかは全く関係ない。

自分が障害の引き金になると本当にしんどいし、本番反映時、今でも手が冷たくなる。もちろん反映する前に動作確認するし、何かが起こったときのバックアッププランも用意するんだけど、それでも何かが実際に起こると用意しておいたバックアッププランすらまともに使えないこともある。人によっては「環境自体に問題があるんじゃないの?」と言ってきそうだが、何が起こるかを完璧に予測して動ける人間なんかいないので、本当にわからないときには結局上に書いた精神論をかざすしかなくなることもある。むしろいつも精神論でやってると病んでしまうからこそ、ちゃんと手順を決めておく。たぶん言ってくる人はいい意味で障害対応に慣れてない幸せな人なんだと思う。

グラフの読み方とかその意味については『インフラエンジニアの教科書』よりもずっとページ割いて書かれているので、参考書的な使い方をすることもできる。本当はそんなことしなくてもちゃんと読めるようになっておこうなと思うが、いきなり全部はできないので「今私が見ているグラフはどうみればいいんだろう?」と思うようなことがあれば、あるいは思うようなことがありそうなら、この本を手元に置いておくと良さそう。いったんざーっとどこに何が書いてあるか知っておくつもりで。