34
インフラエンジニアの 綺麗で優しい手順書の書き方 湖山 翔平 / Shohei.Koyama @sion_cojp

インフラエンジニアの綺麗で優しい手順書の書き方

Embed Size (px)

Citation preview

Page 1: インフラエンジニアの綺麗で優しい手順書の書き方

インフラエンジニアの 綺麗で優しい手順書の書き方

湖山 翔平 / Shohei.Koyama @sion_cojp

Page 2: インフラエンジニアの綺麗で優しい手順書の書き方

自己紹介

湖山 翔平 / @sion_cojp

元FPSプロゲーマーでアジアチャンピオン

qiitaをよく書いてます (http://qiita.com/sion_cojp)

インフラエンジニアとしてよく使うコマンド集

インフラエンジニア

株式会社リブセンス

Page 3: インフラエンジニアの綺麗で優しい手順書の書き方

Infrastructure as Codeが流行ってる中、 どうしても手順書じゃないといけない場面

ってありますよね

Page 4: インフラエンジニアの綺麗で優しい手順書の書き方

やっぱり手順書って大事

Page 5: インフラエンジニアの綺麗で優しい手順書の書き方

でも読みにく手順書では意味がありません

(最悪、障害時に混乱を招く    DeathNote に。)

①レビュー➡修正➡レビュー・・・の繰り返しで工数がかかる

②レビューする方も大変だし工数がかかる

③お互いに疲れる

Page 6: インフラエンジニアの綺麗で優しい手順書の書き方

良い手順を書くと、そりゃもう良い事尽くしです

・信頼確保

・レビューワーの負荷軽減

・レビュー後の修正も減る

・新入社員、新卒の方が喜ぶ

・汎用手順を書きやすい

・障害対応のとき焦らない

・障害対応のときの安心感

・情報が後者に残る

・qiitaにもそのまま載せやすい

・評価もあがる・・・はず!!

Page 7: インフラエンジニアの綺麗で優しい手順書の書き方

手順書は優しさです

如何に他人に気を遣えるかです

後者のためになるので頑張りましょう

きれいな手順書をいっぱい書く人はもっと評価されてもいいと思う!!

Page 8: インフラエンジニアの綺麗で優しい手順書の書き方

今回は自分なりに手順書を書くときやレビューするときに

注意してることを実際の経験談をもとにお話しします

ちなみに 弊社で手順書を書いてるツールは

Confluenceです

Page 9: インフラエンジニアの綺麗で優しい手順書の書き方

1. 書き方を統一しよう

手順書のフォーマットを作る

主題は4つ

 ① 概要  ② 事前準備  ③ 作業内容  ④ 事後確認&作業

目次も忘れずにつけましょう

Page 10: インフラエンジニアの綺麗で優しい手順書の書き方

また、同じ手順を踏んでるのであれば、 目次や内容がそっくりになるようにします

Page 11: インフラエンジニアの綺麗で優しい手順書の書き方

実際にあった話だと、 同じデプロイツールで、社内アプリをデプロイする手順なのに、 作業内容の見出しが全くが違う。。

Bアプリのデプロイ手順Aアプリのデプロイ手順

違うデプロイツールなのかな?

Page 12: インフラエンジニアの綺麗で優しい手順書の書き方

修正後、同じ見出しに統一。

これで直感的に同じデプロイツールを使ってそうなのがわかりますね

Aアプリのデプロイ手順 Bアプリのデプロイ手順

Page 13: インフラエンジニアの綺麗で優しい手順書の書き方

2. コードブロックにはsyntaxハイライトをつけよう

syntaxハイライトを付けると、 文字が強調され見やすくなります。

一つ一つ付けるのは面倒くさいかもしれませんが、 ちゃんと付けましょう

ばっしゅハイライトしんたっくすあり

見やすい!

Page 14: インフラエンジニアの綺麗で優しい手順書の書き方

個人的には特定の言語こだわりがなければ bashを使います。 #(コメントアウト)が緑色に強調されるので使いやすいからです。 ごく稀にDiffも使います。

私はコメントアウトの使い方を下記に統一してます  ① 作業の説明は ### と3つつける  ② オプションや行の説明を加えるときは# 1つを使うこんな感じでオプション説明 作業説明は# 3つ!

Page 15: インフラエンジニアの綺麗で優しい手順書の書き方

3. プロンプトは$で統一

rootだと#だったりしますよね。 でもコメントアウトと見誤ってしまうので、

[root] $ service httpd restart

とかで統一してあげると、親切です コマンド入力忘れも減るでしょう。

Page 16: インフラエンジニアの綺麗で優しい手順書の書き方

4. 何をやってるか、コマンド毎に説明を書く簡単なコマンドならまだ良いとして、

「この設定値なんだろう?」 「このオプションなんだろう?」

など、手順書はググらなくてもいいように書いてあげましょう その手順書内で完結がベスト

また、「この人ちゃんと理解してやってるな」と レビューワーに安心感も与えれます

Page 17: インフラエンジニアの綺麗で優しい手順書の書き方

上からなぞっていくのが手順書なので、 コードブロックは少ない方が、 「あれ?今このブロックだっけ?」みたいなことにならないです

ssh先を変える毎にコードブロックを作るのもありです

わかりやすい!

Page 18: インフラエンジニアの綺麗で優しい手順書の書き方

5. 手順書内完結を目指す「この手順でドメイン移管よろしく」  概要を見ると・・・

こんなこと書かれてても新卒さん達はさっぱりですよね。 結局ぐぐって。。でもあまり分からなくて。。

手順も同じです。 概要に書いてることは、wikiから引用せず、 新卒でも分かりやすいサイトや、 なければ理解しやすいように図や比較表に落とし込んで リンクを貼ってあげましょう

基本ググらせない 手順内で完結がモットー!

Page 19: インフラエンジニアの綺麗で優しい手順書の書き方

遠い言い回しはNG。簡潔に。 なるべく言葉数は最小限になるように考えましょう。

行数は1~3行に収まるようにしましょう。(ベストは1行)

例をあげると、

のほうが言葉が短いので見易いです。 「そのまま打ったコマンド貼り付けたほうが楽」 と編集が億劫になるかもしれませんが、めげずに!

6. 文字数、行数、見出しの数は最小限に

こっちより こっち!

Page 20: インフラエンジニアの綺麗で優しい手順書の書き方

7. ルー語禁止

誰でも伝わる日本語で書きましょう。 個人的には意識高い系用語も避けてます。

Page 21: インフラエンジニアの綺麗で優しい手順書の書き方

8. 手順外、内で行ったり来たりしないようにする

行ったり来たりすると、読みにくくなります。

手順書は縦になぞっていくので、 縦はもちろん、横の行ったり来たりの動きは あまり入れないほうがいいです。

それは表や図の挿入でも起こります。

なるべく表や図は概要などのトップに持って行って、 あとはコードさえ読めばいい形にすると 読みやすい手順になるでしょう

Page 22: インフラエンジニアの綺麗で優しい手順書の書き方

一見よさそうだが・・・ 見出しにも 値を入れた方が 戻らなくていいので親切

わかりやすい!

Page 23: インフラエンジニアの綺麗で優しい手順書の書き方

読みづらくなるので。

9. 分岐が多いなら別の手順書に書きましょう

Page 24: インフラエンジニアの綺麗で優しい手順書の書き方

10. 自分の感想や、昧な表現はさけましょう

「私は⚪⚪だと思うけど、今回はこうします」

「⚪⚪とか、xxなど」 「手順書なのに・・・なんか検証内容が微妙に書いてるんだけど・・・」

読書感想文ではありません。 本当に必要な情報なら、別の場所に書きましょう。

Page 25: インフラエンジニアの綺麗で優しい手順書の書き方

11. 図は線は太く少なく、文字も太く見やすく

拡大しないと見えない図なんて、あまり見られないでしょう。 大きく、太く。そして簡潔に。 色も統一性を考えてあげると、見やすくなるでしょう

図の製作はCacooがおすすめです。

わかりやすい!

Page 26: インフラエンジニアの綺麗で優しい手順書の書き方

ここからは 出来上がった手順書のチェック関連!!

Page 27: インフラエンジニアの綺麗で優しい手順書の書き方

12. 主題と内容に相違がないかチェック

「移行手順しかないけど、これ新しくサーバ構築してるよね?」 「デプロイ設定って書いてるけど、普通に本番でデプロイ実行してるよね?」

レビューワーが困っちゃいます。 ちゃんとチェックしましょう

Page 28: インフラエンジニアの綺麗で優しい手順書の書き方

13. 手順書が置かれてるディレクトリをチェック

構築手順なのに、障害対応のところにあったり スポット手順なのに、汎用手順類にあったり

ちゃんと置いてあげましょう

ちなみに弊社のトップ階層はこんな感じです

Page 29: インフラエンジニアの綺麗で優しい手順書の書き方

14. 新卒でも分かるように書いてあるかチェック

手順書を一番見るのは新卒さんや、新入社員さんなんですよね。 ここは新卒に合わせておけば大丈夫!

Page 30: インフラエンジニアの綺麗で優しい手順書の書き方

15. 誤字脱字がないかチェック

レビューワーの負荷軽減のために、軽くチェック

Page 31: インフラエンジニアの綺麗で優しい手順書の書き方

16. 脳内でシミュレーションをして動作チェック

検証環境でやるのもいいんですが、 脳内シミュレーションは絶対やりましょう。

障害訓練の一環にもなります。

Page 32: インフラエンジニアの綺麗で優しい手順書の書き方

まとめると

1. 書き方を統一しよう 2. コードブロックにはsyntaxハイライトをつけよう 3. プロンプトは$で統一 4. 何をやってるか、コマンド毎に説明を書く 5. 手順書内完結を目指す 6. 文字数、行数、見出しの数は最小限に 7. ルー語禁止 8. 手順外、内で行ったり来たりしないようにする 9. 分岐が多いなら別の手順書に書きましょう 10.自分の感想や、昧な表現はさけましょう 11. 図は線は太く少なく、文字も太く見やすく

[チェック編] 12. 主題と内容に相違がないかチェック 13. 手順書が置かれてるディレクトリをチェック 14. 新卒でも分かるように書いてあるかチェック 15. 誤字脱字がないかチェック 16. 脳内でシミュレーションをして動作チェック

Page 33: インフラエンジニアの綺麗で優しい手順書の書き方

以上です!

Page 34: インフラエンジニアの綺麗で優しい手順書の書き方

最後に

皆さんも優しい手順書を書きましょう!