Webエンジニアが知っておきたいインフラの基本を読んだので覚書

先月の課題図書化していて、お盆くらいに読み終えたんですが、覚書みたいな感じでこんな感じだったってものを書いておきます。ようやくです。

仕事でインフラも触るようになってきたんですが、一度基礎的な部分を少しでもさらっておこうと思っていたところ、先輩が「Webエンジニアが知っておきたいインフラの基本を読んだ」の書籍をもっていたので借りて読んでみました。

Webエンジニアが知っておきたいインフラの基本

ざっくり概要

「インフラとは何か」といった話から、構築、運用、インシデントへの対応・対策なんかが書かれている。
構築や運用方針を考えるときに、こういう方向性で考えていくといいと思うよというような道標を作ってくれる書籍だと思う。

今は運用案件に携わることが多いので、設計よりも運用(監視)であったりインシデントへの対応周りが特に為になった。

システムの監視について

実際に計測するにあたり、まずは必要要件から正常系の監視項目と正常な状態を定義。
そこからそれぞれの監視項目に対する異常時の対応方法を作っていく。
それを元に正常であることを計測、異常が発生した場合は対処方法を実施して正常な状態に戻す話が書かれていた。

“正常な状態”

"正常な状態"というのは、スタート時は要件定義であったり現状から分かる範囲でシンプルに決めて、運用しながら育てていくのがよさそう。
また、育てていく中で閾値も設定して、要求されてる機能要件・非機能要件を満たしつつ、アラート発報を極力減らすように調整していく。(オオカミ少年にならないようにする)

異常発生時

復旧作業が優先なのか、再発防止が先なのかを決めておくことが重要。
大抵の場合復旧作業が優先なんだけど、内容にもよるので事前にしっかり合意しておくこと。
復旧対応については、運用フローも決めておく。誰に連絡するかとか、何で連絡するかも含む。

監視はツールを使う

書籍に書いてあったものだとZabbixがいいのかなー という印象。

ただまぁ、情報は古いと思うので今はもっと良いものがあるのかな。
MackerelとかElasticsearch+Kibanaみたいな環境でみるのもいいのかな?

読んでみて

他にもモニタリングのコツであったり、ボトルネックの見つけ方、実際の対応なんかも載っていて結構勉強になる内容だった。また後日もう一度読み返そうと思う。

ざっくり4年前の書籍なので少し古い情報にはなるんだろうけど、基礎的なところはそこまで変わらないと思うしもう一度読み返しておいて損はなさそうなだという印象。
チューニングやボトルネックの見つけ方のあたりはもう少し読み込みたい。